c2f861ca42
Replace remaining occurances of av_free_packet with av_packet_unref
2015-10-27 14:35:30 +01:00
856b19d593
Merge commit 'a5d42043093a39636a1f4021a37dd9c612479f6f'
...
* commit 'a5d42043093a39636a1f4021a37dd9c612479f6f':
avformat: Always return ref-counted AVPacket
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2015-10-27 14:12:27 +01:00
03037a4aad
ffplay: use a separate struct for the rescaled YUVA AVSubtitle rectangles
...
Current code segfaults since the deprecation of AVSubtitleRect.pict because it
freed/realloced AVSubtitleRect.pict.data by itself.
The new code stores the generated YUVA AVSubtitle rectangles in their own
struct and keeps the original AVSubtitle structure untouched, because
overwriting it is considered invalid API usage.
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-10-24 16:12:25 +02:00
148418a2bc
ffplay: eliminate stream_component_close forward declaration
...
No change in fuctionality.
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-10-12 00:07:38 +02:00
4ce75387cd
ffplay: close streams and AVFormatContext in the main thread
...
To avoid race conditions.
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-10-12 00:07:38 +02:00
4c2bfabc3a
ffplay: use correct context for av_log
...
Recent commits c3e8de1c24
and
8dc6e92c3d
used av_log incorrectly.
This fixes such usage.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com >
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-10-05 22:28:17 +02:00
b67c1ab58c
ffplay: more robust condition variable creation
...
SDL_CreateCond can fail:
https://wiki.libsdl.org/SDL_CreateCond .
This patch makes creation more robust in one instance.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com >
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-10-05 22:25:51 +02:00
4802b8368a
ffplay: log SDL error messages
...
This logs the SDL error messages on failure of creation of SDL_CreateMutex,
SDL_CreateCond, and SDL_CreateThread.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com >
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-10-05 22:21:20 +02:00
7c6dd90eed
ffplay: more robust mutex creation
...
SDL_CreateMutex can fail:
https://wiki.libsdl.org/SDL_CreateMutex .
This patch makes creation more robust in one instance.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com >
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-10-05 00:16:42 +02:00
c3e8de1c24
ffplay: more robust thread creation
...
SDL_CreateThread can fail:
https://wiki.libsdl.org/SDL_CreateThread .
This patch makes thread creation more robust in one instance.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com >
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-10-04 17:40:30 +02:00
8dc6e92c3d
ffplay: more robust mutex, condition variable handling
...
SDL_CreateMutex and SDL_CreateCond can fail:
https://wiki.libsdl.org/SDL_CreateMutex .
This patch makes handling more robust in one instance.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com >
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-10-03 17:43:24 +02:00
fd44892073
doc/ffplay, ffplay: add information regarding volume control
...
ffplay now supports dynamic volume control. This documents the supported
behavior.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com >
Reviewed-by: Stefano Sabatini <stefasab@gmail.com >
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-09-27 23:04:54 +02:00
f1a9583305
ffplay: add support for interactive volume control
...
This is a feature heavily inspired by the mpv player. At the moment, methods
for adjusting volume in ffplay are rather clumsy: either one needs to set it
system-wide, or one needs to set it via the volume filter.
This patch adds key bindings identical to the mpv defaults for muting/unmuting
and increasing/decreasing the volume interactively without any introduction of
external dependencies.
TODO: doc update, possible mouse button bindings (mpv has this).
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com >
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-09-27 23:04:53 +02:00
23acb982a3
ffplay: dynamically allocate filename buffer
...
filename was set to an arbitrary 1024 characters. ffplay would thus be unable to
play files whose name exceeds that arbitrary threshold.
This patch dynamically allocates and frees the filename buffer to remove such
limitations.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com >
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-09-27 01:38:46 +02:00
265b106b92
ffplay: introduce key repeats
...
Key repeats have been introduced simply because they improve usability in my
experience for volume, brightness, and other such controls by speeding up the
time taken to go from 0 to max intensity. As a side benefit, this enables rapid
seeking through a file via left/right keys.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com >
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-09-27 00:54:29 +02:00
144fb06806
Remove left-over FF_API_AVFILTERBUFFER cruft
2015-09-05 16:27:19 +02:00
2fb593dcb9
Put remaining pieces of CODEC_FLAG_EMU_EDGE under FF_API_EMU_EDGE.
...
The amv one probably looks suspicious, but since it's an intra-only
codec, I couldn't possibly imagine what it would use the edge for,
and the vsynth fate result doesn't change, so it's probably OK.
2015-08-28 14:40:59 -04:00
92d378067e
ffplay: remove unused include libavutil/colorspace.h
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-08-28 00:09:42 +02:00
8628b06b31
ffplay: increase MIN_FRAMES to 25
...
FFplay was using a 5 frame packet buffer, this is not much (e.g. 200 ms for
25fps video), when HLS is requesting a new segment via HTTP, it may take longer
for the request to complete.
Should fix ticket #4720 .
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-08-09 23:58:03 +02:00
0166d329c3
ffplay: add specific constants for buffer fullness settings when using external clock
...
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-08-09 23:57:51 +02:00
5edab1d207
cmdutils: remove sws_opts usage, simplify code
...
It has become unused as all code was switched to AVDictionary
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-08-08 16:51:25 +02:00
e755954a84
ffplay: pass all sws options to the filter graph
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-08-08 13:25:12 +02:00
b1f78632c6
ffplay: do not block audio thread on WIN32
...
The windows SDL audio driver plays the old data in the buffer in a loop if it
is not updated in time. So instead of waiting for data and blocking the the
audio thread, return silence if no data is available.
Should fix ticket #2289 .
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-08-05 21:09:30 +02:00
d64ba25a4d
ffplay: Use sws_scale to scale subtitles
...
Fixes some files from Ticket679
This also changes subtitles to 4:2:0 matching the output format and thus
simplifying the blend code.
This restricts placement to the chroma sample resolution though, speak up
if you consider this a problem, say so, the code could be changed to use
YUV444 for subtitles and scaling them down while blending, this would be
slower though.
The current code only uses a single swscale context and reinitializes it
as needed, this could be changed as well if needed
Reviewed-by: Marton Balint <cus@passwd.hu >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-07-29 16:18:20 +02:00
444e9874a7
Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'
...
* commit 'def97856de6021965db86c25a732d78689bd6bb0':
lavc: AV-prefix all codec capabilities
Conflicts:
cmdutils.c
ffmpeg.c
ffplay.c
libavcodec/8svx.c
libavcodec/aacenc.c
libavcodec/ac3dec.c
libavcodec/adpcm.c
libavcodec/alac.c
libavcodec/atrac3plusdec.c
libavcodec/bink.c
libavcodec/dnxhddec.c
libavcodec/dvdec.c
libavcodec/dvenc.c
libavcodec/ffv1dec.c
libavcodec/ffv1enc.c
libavcodec/fic.c
libavcodec/flacdec.c
libavcodec/flacenc.c
libavcodec/flvdec.c
libavcodec/fraps.c
libavcodec/frwu.c
libavcodec/gifdec.c
libavcodec/h261dec.c
libavcodec/hevc.c
libavcodec/iff.c
libavcodec/imc.c
libavcodec/libopenjpegdec.c
libavcodec/libvo-aacenc.c
libavcodec/libvorbisenc.c
libavcodec/libvpxdec.c
libavcodec/libvpxenc.c
libavcodec/libx264.c
libavcodec/mjpegbdec.c
libavcodec/mjpegdec.c
libavcodec/mpegaudiodec_float.c
libavcodec/msmpeg4dec.c
libavcodec/mxpegdec.c
libavcodec/nvenc_h264.c
libavcodec/nvenc_hevc.c
libavcodec/pngdec.c
libavcodec/qpeg.c
libavcodec/ra288.c
libavcodec/rv10.c
libavcodec/s302m.c
libavcodec/sp5xdec.c
libavcodec/takdec.c
libavcodec/tiff.c
libavcodec/tta.c
libavcodec/utils.c
libavcodec/v210dec.c
libavcodec/vp6.c
libavcodec/vp9.c
libavcodec/wavpack.c
libavcodec/yop.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc >
2015-07-27 22:50:18 +02:00
94d68a41fa
Merge commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615'
...
* commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615':
lavc: AV-prefix all codec flags
Conflicts:
doc/examples/muxing.c
ffmpeg.c
ffmpeg_opt.c
ffplay.c
libavcodec/aacdec.c
libavcodec/aacenc.c
libavcodec/ac3dec.c
libavcodec/ac3enc_float.c
libavcodec/atrac1.c
libavcodec/atrac3.c
libavcodec/atrac3plusdec.c
libavcodec/dcadec.c
libavcodec/ffv1enc.c
libavcodec/h264.c
libavcodec/h264_loopfilter.c
libavcodec/h264_mb.c
libavcodec/imc.c
libavcodec/libmp3lame.c
libavcodec/libtheoraenc.c
libavcodec/libtwolame.c
libavcodec/libvpxenc.c
libavcodec/libxavs.c
libavcodec/libxvid.c
libavcodec/mpeg12dec.c
libavcodec/mpeg12enc.c
libavcodec/mpegaudiodec_template.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/mpegvideo_motion.c
libavcodec/nellymoserdec.c
libavcodec/nellymoserenc.c
libavcodec/nvenc.c
libavcodec/on2avc.c
libavcodec/options_table.h
libavcodec/opus_celt.c
libavcodec/pngenc.c
libavcodec/ra288.c
libavcodec/ratecontrol.c
libavcodec/twinvq.c
libavcodec/vc1_block.c
libavcodec/vc1_loopfilter.c
libavcodec/vc1_mc.c
libavcodec/vc1dec.c
libavcodec/vorbisdec.c
libavcodec/vp3.c
libavcodec/wma.c
libavcodec/wmaprodec.c
libavcodec/x86/hpeldsp_init.c
libavcodec/x86/me_cmp_init.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc >
2015-07-27 22:10:35 +02:00
0f6118c581
ffplay: use av_clip() instead of nested min & max
...
Note: {wanted,min,max}_samples are int variables.
2015-06-06 13:18:28 +02:00
4351c288b9
ffplay&cmdutils:Factor get_rotation() code out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-03 23:49:16 +02:00
f9e802018e
ffplay: unify displaymatrix based rotation code
...
Reviewed-by: Marton Balint <cus@passwd.hu >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-03 22:39:39 +02:00
deedf3e590
Merge commit 'e2d50fc2f5f3600e13055acf1a10fec35e941f37'
...
* commit 'e2d50fc2f5f3600e13055acf1a10fec35e941f37':
avplay: Add support for rotated video
Conflicts:
configure
doc/ffplay.texi
ffplay.c
See: 08c51e12b1
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-02 22:31:20 +02:00
e874772f70
Merge commit '21180b73239c6360aa28496d4879713b7ba4a8e5'
...
* commit '21180b73239c6360aa28496d4879713b7ba4a8e5':
avplay: Factorize code for adding filters to the filter pipeline
Conflicts:
ffplay.c
See: 08c51e12b1
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-02 22:08:11 +02:00
7ad528cf23
Merge commit '06f4b1e37a08f3fd269ecbfeb0181129e5bfc86e'
...
* commit '06f4b1e37a08f3fd269ecbfeb0181129e5bfc86e':
avplay: Do not print a possibly uninitialized value
Conflicts:
ffplay.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2015-04-30 22:23:29 +02:00
eb8756e4b7
Merge commit '336d2f0979b43a39bd11a047d798b7990d8b07c6'
...
* commit '336d2f0979b43a39bd11a047d798b7990d8b07c6':
avplay: Free frame and graph when memory allocation fails
Conflicts:
ffplay.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2015-04-20 12:12:03 +02:00
40d552dae6
Merge commit '1a3eb042c704dea190c644def5b32c9cee8832b8'
...
* commit '1a3eb042c704dea190c644def5b32c9cee8832b8':
Replace av_dlog with normal av_log at trace level
Conflicts:
ffplay.c
libavdevice/fbdev_dec.c
libavfilter/avfilter.c
libavfilter/internal.h
libavfilter/setpts.c
libavfilter/src_movie.c
libavfilter/vf_crop.c
libavfilter/vf_drawtext.c
libavfilter/vf_fieldorder.c
libavformat/assdec.c
libavformat/avidec.c
libavformat/flvdec.c
libavformat/http.c
libavformat/ipmovie.c
libavformat/isom.c
libavformat/mov.c
libavformat/mpegenc.c
libavformat/mpegts.c
libavformat/mpegtsenc.c
libavformat/mux.c
libavformat/mxfdec.c
libavformat/nsvdec.c
libavformat/oggdec.c
libavformat/r3d.c
libavformat/rtspdec.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2015-04-20 03:19:47 +02:00
a821617b5a
Merge commit 'd450cb07d91ef39ad1d39bd7ca0cfce4bd7b13e7'
...
* commit 'd450cb07d91ef39ad1d39bd7ca0cfce4bd7b13e7':
avplay: Check memory allocation
Conflicts:
ffplay.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2015-03-22 03:51:49 +01:00
7da7d269b8
ffplay: Switch to show waves mode if allocation/init of RDFT fails
...
Fixes null pointer dereference
Found-by: Paweł <pantrombka@gmail.com >
Reviewed-by: Marton Balint <cus@passwd.hu >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-03-04 03:04:04 +01:00
79216a189b
Merge commit '733f4b05f0e120ddd0393b23f2b6d9106cf922e4'
...
* commit '733f4b05f0e120ddd0393b23f2b6d9106cf922e4':
avplay: Check format allocation inside decode_thread()
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2015-02-17 21:16:34 +01:00
32b2b7bd8c
Merge commit '266f241193b2fa8c99bb8b1f007c66bedd3b7d97'
...
* commit '266f241193b2fa8c99bb8b1f007c66bedd3b7d97':
avplay: Check frame allocation inside video_thread()
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2015-02-17 21:09:11 +01:00
ef1ccea945
ffplay: factorize thread starting and stopping code into decoder
...
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-02-10 20:50:48 +01:00
d6910c4b5e
ffplay: make eof part of videostate and signal it when opening a stream
...
Otherwise we may not flush a decoder when a new stream is opened during an
already eof condition.
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-02-10 20:50:48 +01:00
68850090b6
ffplay: update frame timer based on last updated clock time when toggling pause
...
It is better than using simply video clock, because video clock may be NAN.
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-02-10 20:50:48 +01:00
17d87571c8
ffplay: Fallback to dts if pts is unavailable in pkt_in_play_range calculation
...
Reviewed-by: Marton Balint <cus@passwd.hu >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-02-02 02:50:33 +01:00
46aa75eea1
ffplay: dump format before selecting streams
...
This helps the user to see the available streams just before the error message
if the stream specifiers do not match.
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-01-01 14:38:12 +01:00
5e7dcb0491
ffplay: add support for stream specifiers in -ast, -vst, -sst options
...
Also fix the outdated documentation of these options.
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-01-01 14:38:12 +01:00
82928656b1
ffplay: remove unused no_background from videostate
...
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-01-01 14:38:12 +01:00
8c1f5fb0ae
ffplay: remove flushed state from decoder context
...
Signed-off-by: Marton Balint <cus@passwd.hu >
2015-01-01 14:38:11 +01:00
90c9b49405
ffplay: fix mem leak when opening input or parsing options fail.
...
Reviewed-by: Marton Balint <cus@passwd.hu >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-11-22 15:55:07 +01:00
eaf4ab9802
ffplay: signal the frame queue before closing audio
...
Fixed regression caused by 631ac655c0
when ffplay
does not quit if the audio thread is blocked.
Signed-off-by: Marton Balint <cus@passwd.hu >
2014-11-11 23:02:00 +01:00
e971eef8c0
Set -scan_all_pmts 1 in ffmpeg, ffplay and ffprobe if not set by user.
...
Fixes ticket #3762 .
2014-11-09 18:28:29 +01:00
7ba7277775
ffplay: only output null packet once on EOF
...
The generic decoder properly flushes the codecs with one null packet as well.
Signed-off-by: Marton Balint <cus@passwd.hu >
2014-11-09 13:48:18 +01:00