Commit Graph

897 Commits

Author SHA1 Message Date
Michael Niedermayer 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
Michael Niedermayer 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
Michael Niedermayer 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
Michael Niedermayer 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
Michael Niedermayer 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
Michael Niedermayer 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
Michael Niedermayer 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
Marton Balint 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
Marton Balint 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
Marton Balint 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
Michael Niedermayer 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
Marton Balint 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
Marton Balint 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
Marton Balint 82928656b1 ffplay: remove unused no_background from videostate
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-01-01 14:38:12 +01:00
Marton Balint 8c1f5fb0ae ffplay: remove flushed state from decoder context
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-01-01 14:38:11 +01:00
Benoit Fouet 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
Marton Balint 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
Carl Eugen Hoyos 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
Marton Balint 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
Marton Balint cc4741888d ffplay: fix indentation after last commit
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-11-09 13:48:18 +01:00
Marton Balint 631ac655c0 ffplay: implement separete audio decoder thread
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-11-09 13:48:18 +01:00
Marton Balint 0edf3e7a28 ffplay: remove manual bug option handling code
It is supported as a codec option, and those are already parsed.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-10-17 23:44:04 +02:00
Marton Balint 9dac7977a9 ffplay: remove delays when paused from video and subtitle thread
Once the frame queue is full, we will wait anyway.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-10-17 23:44:04 +02:00
Michael Niedermayer ee73a69020 Merge commit 'e58a140cf91d1a9cdfa3115d73c923dab0e9e7dc'
* commit 'e58a140cf91d1a9cdfa3115d73c923dab0e9e7dc':
  avplay: Always free opts

Conflicts:
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 13:28:50 +02:00
Michael Niedermayer 019ff7a0c3 Merge commit 'cf83c0173917a44b89a25ea2b435429bbf9ee767'
* commit 'cf83c0173917a44b89a25ea2b435429bbf9ee767':
  avplay: Always free find_stream_info options

Conflicts:
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 13:17:05 +02:00
Marton Balint ce928d7d2b ffplay: dont leave swresampler in half initialized state
On init failure, let's just free it, so next time it will be recreated from
start.

Also fixes Coverity CID 1241515.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-10-09 23:18:37 +02:00
Michael Niedermayer 2ec4a84dca ffplay: Separate AVFrame from AVSubtitle
This is more robust and should avoid false positives in coverity
That is if the type is ever mixed up, after this patch that would
just be a null pointer dereference instead of a random possibly
out of array access

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 03:54:36 +02:00
Michael Niedermayer 266b3d4fe4 ffplay: use av_codec_get_pkt_timebase()
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 13:44:56 +02:00
Marton Balint 1f5a3cf688 ffplay: move pts calculating code to generic decoder
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-09-23 21:08:40 +02:00
Marton Balint 9e0d1c00b5 ffplay: factorize decoder functions to generic decoder
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-09-23 21:08:40 +02:00
Marton Balint 32f1a288e2 ffplay: handle fullscreen status on resize event
In some cases resize events can happen even during fullscreen, so let's pass
the proper flag to SDL_SetVideoMode.

Fixes ticket #3964.

Reported-by: Jeff Dwork <jeff@reggie.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-09-23 21:08:35 +02:00
Michael Niedermayer 9ffa705edd ffplay: try to fix build failure on apple
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 04:43:51 +02:00
Marton Balint 164376483f ffplay: use frame queue to determine last used pos
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-09-16 22:22:09 +02:00
Marton Balint 5a5128bab9 ffplay: factorize frame queue operations
Create a generic frame and a frame queue struct to handle video picture queues
and subtitle picture queues with common code. Also add the possibility to queue
AVFrames, however at the moment we only use SDL_Overlay buffers for video and
AVSubtitles for subtitles.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-09-16 22:22:09 +02:00
Carl Eugen Hoyos 552ce6874c Revert the default for ffplay to -noautoexit.
Reviewed-by: Marton Balint
2014-09-08 17:51:12 +02:00
Michael Niedermayer 5732b21884 ffplay: make autoexit the default
See: f9bc65e399
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-06 20:24:59 +02:00
Michael Niedermayer e96109f93c ffplay: use av_malloc_array()
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 00:41:09 +02:00
Reimar Döffinger a0941c8a2b Use new av_dict_set_int helper function.
Get rid of the many, slightly differing, implementations
of basically the same thing.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-16 14:31:41 +02:00
Michael Niedermayer 81a663f49e Drop remaining unneeded != NULL
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 22:47:45 +02:00
Michael Niedermayer fb33bff990 Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'
* commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39':
  cosmetics: Write NULL pointer equality checks more compactly

Conflicts:
	cmdutils.c
	ffmpeg_opt.c
	ffplay.c
	libavcodec/dvbsub.c
	libavcodec/dvdsubdec.c
	libavcodec/dvdsubenc.c
	libavcodec/dxa.c
	libavcodec/libxvid_rc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/rv10.c
	libavcodec/tiffenc.c
	libavcodec/utils.c
	libavcodec/vc1dec.c
	libavcodec/zmbv.c
	libavdevice/v4l2.c
	libavformat/matroskadec.c
	libavformat/movenc.c
	libavformat/sdp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:00:50 +02:00
James Almer d34ec64a22 replace calls to url_feof() with avio_feof()
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-08 00:48:38 +02:00
Michael Niedermayer e5eff191e4 ffplay: increase subtitle que size
Fixes part of Ticket2516 with ffplay

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 16:29:03 +02:00
Marton Balint e281671e21 ffplay: decrease audio_diff_threshold
Since audio clock calculations are more accurate now, it is safe to decrease
the sync treshold to compensate the larger buffers caused by less frequent
audio callbacks.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-06-24 21:59:21 +02:00
Marton Balint 371f02388c ffplay: decrease max audio callbacks per second
Too many audio callbacks per second can cause buffer underruns especially under
load. As now we take into accound the elapsed time after an audio callback when
determining current audio clock, it is not that important to use small buffer
sizes and frequent audio callbacks, so lets remove the comment.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-06-24 21:59:21 +02:00
Marton Balint 1ca5c1784b ffplay: calculate SDL audio buffer size based on sample rate
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-06-24 21:59:21 +02:00
Marton Balint ba800defa7 ffplay: pass simple integers to calculate_display_rect and set_default_window_size
No change in functionality.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-06-24 21:59:21 +02:00
Marton Balint 9dd97aa3d3 ffplay: eliminate pictq_prev_picture
Instead of directly rolling back the frame queue, keep the last displayed
picture in the queue and use a boolean variable to keep track if it is
displayed or not. This makes the code cleaner because it removes the
complicated logic in pictq_prev_picture.

There should be no change in functionality.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-06-24 21:59:20 +02:00
Michael Niedermayer a50c6f99b4 ffplay: remove -ec handling code
Its handled by the generic option code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-17 17:31:29 +02:00
Clément Bœsch 08c51e12b1 ffplay: support rotated video.
with -f lavfi -i testsrc=s=hd1080 as source:
  rotate=90*PI/180  vs transpose=clock:   42fps -> 64fps
  rotate=180*PI/180 vs vflip,hflip:       75fps -> 77fps
  rotate=270*PI/180 vs transpose=cclock:  43fps -> 63fps
2014-05-23 23:30:21 +02:00
Olivier Langlois 0ca0b4c29c ffplay: Use av_gettime_relative()
Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 20:28:16 +02:00