summaryrefslogtreecommitdiff
path: root/ffplay.c
Commit message (Collapse)AuthorAge
* Replace references to "que" with the appropriate word.Clément Bœsch2013-01-03
| | | | | | "que" sounds like a slang word to me. This commit renames a few variables, fix the comments and the logging messages (sometimes along with small other typo fixes).
* ffplay: fix type of time_diff in waveform displayMarton Balint2012-12-28
| | | | | | | Fixes time diff overflow visible as showing the same few waveforms in a loop at the end of file. Signed-off-by: Marton Balint <cus@passwd.hu>
* ffplay: always display audio visualization if mode is setMarton Balint2012-12-28
| | | | | | Fixes ticket #1903. Signed-off-by: Marton Balint <cus@passwd.hu>
* ffplay: hide cursor on no mouse movementMarton Balint2012-12-28
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* ffplay: reset external clock to unknown on startMarton Balint2012-12-28
| | | | | | | Fixes a delay and initial frame drops on starting realtime streams with external clock. Signed-off-by: Marton Balint <cus@passwd.hu>
* ffplay: only drop frames if not in frame step modeMarton Balint2012-12-28
| | | | | | Fixes ticket #2053. Signed-off-by: Marton Balint <cus@passwd.hu>
* ffplay: move frame step pause from the video thread to video_refreshMarton Balint2012-12-28
| | | | | | | This way we pause the video right after we displayed a new frame. Partially fixes ticket #2053. Signed-off-by: Marton Balint <cus@passwd.hu>
* ffplay: fix greenish line on the right edge with some xv sizesMarton Balint2012-12-25
| | | | | | | | | | If the XV image linesize was different from the width, SDL would create an overlay wider than the actually requested one. This causes a greenish line on the right, because the rightmost texel is blended with unset data. This patch introduces a function which duplicates the rightmost texel to the unset space, that way the blending will be done with duplicated border texels. Signed-off-by: Marton Balint <cus@passwd.hu>
* ffplay: fix another use of context instead of frame parametersMichael Niedermayer2012-12-22
| | | | | | | Fixes Ticket2050 Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* ffplay: fix handling of resolution changes with h264-mtMichael Niedermayer2012-12-21
| | | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* ffplay: provide some feedback in case the codec cannot be setStefano Sabatini2012-12-16
|
* ffplay: set codec_id in codec contextStefano Sabatini2012-12-16
| | | | | | | | Set codec id in case another codec is forced on the context (e.g. when the user specify the codec with -codec). For example fix: ffplay -vcodec pgmyuv -i "tests/vsynth1/%02d.pgm"
* ffplay: improve robustness of opt_codec(), and add options acodec,vcodec,scodecStefano Sabatini2012-12-16
| | | | | | | Fail with a meaningfull error message in case of bogus input. Also the new options are more consistent with the rest of the tool options, since it does not support generic stream specifiers.
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-11-29
|\ | | | | | | | | | | | | | | | | | | | | | | * qatar/master: avplay: Do not use removed av_get_int() avconv: fix variable shadowing in configure_input_audio_filter() Conflicts: ffmpeg_filter.c ffplay.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* | ffplay: increase maximum frame duration to 1 hour for streams without TS ↵Marton Balint2012-11-28
| | | | | | | | | | | | | | | | discontinuity Partially fixes ticket #1707. A-V sync still needs some work after seeking... Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: fix updating external clock after seekingMarton Balint2012-11-28
| | | | | | | | | | | | | | Now it should work for the timestamp based and the byte based case as well. Also only update the external clock if the seeking was successful. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: disallow seeking before the start of the fileMarton Balint2012-11-28
| | | | | | | | | | | | | | | | In timestamp based seeking we update the external clock to the seek target, therefore we should use sane timestamps even if libavformat could handle seeking before the start of the file. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: adjust external clock speed based on buffer fullness for realtime ↵Marton Balint2012-11-04
| | | | | | | | | | | | | | | | | | sources This provides a means to synchronize the player clock to the clock of the encoder. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: remove redundant !codec checkMarton Balint2012-11-01
| | | | | | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: only initialize codec opts before using itMarton Balint2012-11-01
| | | | | | | | | | | | Fixes Coverity CID 733793. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: always free buffersink_params in configure_video_filtersMarton Balint2012-11-01
| | | | | | | | | | | | Fixes Coverity CID 733792. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: remove uneeded format filter, buffersink format is setMarton Balint2012-11-01
| | | | | | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: check for buffersink_params allocation successMarton Balint2012-11-01
| | | | | | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: always free inputs and outputs in configure_filtergraphMarton Balint2012-11-01
| | | | | | | | | | | | Fixes Coverity CID 733791. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: fill the unused part of the window with blackMarton Balint2012-11-01
| | | | | | | | | | | | Should fix ticket #1667. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: add update parameter to fill_rectangleMarton Balint2012-11-01
| | | | | | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: if there is no audio stream, use external clock by defaultMarton Balint2012-10-21
| | | | | | | | | | | | | | Otherwise playing the video could be much slower than realtime if the system can't decode or display the frames fast enough. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: use get_master_sync_type where necessaryMarton Balint2012-10-21
| | | | | | | | | | | | | | We should make decisions based on the real sync type. This also simplifies the code. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: add get_master_sync_type functionMarton Balint2012-10-21
| | | | | | | | | | | | | | | | | | The real av_sync_type may be different to VideoState->av_sync_type, because the required audio or video stream for audio or video clock may not be available. We will use a function to query the real av_sync_type which is used for determining the master clock. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: only check external clock if current frame serial matches the ↵Marton Balint2012-10-21
| | | | | | | | | | | | | | | | | | displayed frame serial This way we avoid updating the external clocks with timestamps beloging to frames before seek. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: add serial field to PacketQueue entry and populate itMarton Balint2012-10-21
| | | | | | | | | | | | | | | | The purpose of the serial field is to accompany the decoded data during the decoding process to know if the decoded data belongs to the data stream after the latest packet queue flush. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: fix external time sync modeMarton Balint2012-10-21
| | | | | | | | | | | | | | | | | | We now initalize the external clock to 0 and, we use the system clock to regulate the timings of audio and video in external clock sync mode. We recover from external clock sync loss, when the delay to external clock is bigger than AV_NOSYNC_THRESHOLD. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: initialize audio and video pts driftMarton Balint2012-10-21
| | | | | | | | | | | | | | This makes sensible audio and video clock values even before displaying the first frame. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: fix nosync threshold check in synchronize_audioMarton Balint2012-10-21
| | | | | | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: use framedrop by default when sync is not done to videoMarton Balint2012-10-21
| | | | | | | | | | | | When using external sync, framedrop is perfectly fine. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: Prevent 0/0 aspect from being passed on to lavfiMichael Niedermayer2012-10-14
| | | | | | | | | | | | | | 0/0 fails to be parsed Fixes Ticket1814 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | ffplay: use audio parameters from the decoded frame instead of AVCodecContextMichael Niedermayer2012-10-13
| | | | | | | | | | Based on commit by Justin Ruggles (the changed code is too different to apply as is) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'bc4620e5d61a4dd9a1f654fadd281a172aab04be'Michael Niedermayer2012-10-13
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'bc4620e5d61a4dd9a1f654fadd281a172aab04be': Remove libmpeg2 #define remnants De-doxygenize some top-level files Conflicts: ffmpeg.c ffmpeg.h ffmpeg_filter.c ffplay.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '716d413c13981da15323c7a3821860536eefdbbb'Michael Niedermayer2012-10-08
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '716d413c13981da15323c7a3821860536eefdbbb': Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat Conflicts: doc/examples/muxing.c ffmpeg.h ffmpeg_filter.c ffmpeg_opt.c ffplay.c ffprobe.c libavcodec/8bps.c libavcodec/aasc.c libavcodec/aura.c libavcodec/avcodec.h libavcodec/avs.c libavcodec/bfi.c libavcodec/bmp.c libavcodec/bmpenc.c libavcodec/c93.c libavcodec/cscd.c libavcodec/cyuv.c libavcodec/dpx.c libavcodec/dpxenc.c libavcodec/eatgv.c libavcodec/escape124.c libavcodec/ffv1.c libavcodec/flashsv.c libavcodec/fraps.c libavcodec/h264.c libavcodec/huffyuv.c libavcodec/iff.c libavcodec/imgconvert.c libavcodec/indeo3.c libavcodec/kmvc.c libavcodec/libopenjpegdec.c libavcodec/libopenjpegenc.c libavcodec/libx264.c libavcodec/ljpegenc.c libavcodec/mjpegdec.c libavcodec/mjpegenc.c libavcodec/motionpixels.c libavcodec/mpeg12.c libavcodec/mpeg12enc.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo_enc.c libavcodec/pamenc.c libavcodec/pcxenc.c libavcodec/pgssubdec.c libavcodec/pngdec.c libavcodec/pngenc.c libavcodec/pnm.c libavcodec/pnmdec.c libavcodec/pnmenc.c libavcodec/ptx.c libavcodec/qdrw.c libavcodec/qpeg.c libavcodec/qtrleenc.c libavcodec/raw.c libavcodec/rawdec.c libavcodec/rl2.c libavcodec/sgidec.c libavcodec/sgienc.c libavcodec/snowdec.c libavcodec/snowenc.c libavcodec/sunrast.c libavcodec/targa.c libavcodec/targaenc.c libavcodec/tiff.c libavcodec/tiffenc.c libavcodec/tmv.c libavcodec/truemotion2.c libavcodec/utils.c libavcodec/vb.c libavcodec/vp3.c libavcodec/wnv1.c libavcodec/xl.c libavcodec/xwddec.c libavcodec/xwdenc.c libavcodec/yop.c libavdevice/v4l2.c libavdevice/x11grab.c libavfilter/avfilter.c libavfilter/avfilter.h libavfilter/buffersrc.c libavfilter/drawutils.c libavfilter/formats.c libavfilter/src_movie.c libavfilter/vf_ass.c libavfilter/vf_drawtext.c libavfilter/vf_fade.c libavfilter/vf_format.c libavfilter/vf_hflip.c libavfilter/vf_lut.c libavfilter/vf_overlay.c libavfilter/vf_pad.c libavfilter/vf_scale.c libavfilter/vf_transpose.c libavfilter/vf_yadif.c libavfilter/video.c libavfilter/vsrc_testsrc.c libavformat/movenc.c libavformat/mxf.h libavformat/utils.c libavformat/yuv4mpeg.c libavutil/imgutils.c libavutil/pixdesc.c libswscale/input.c libswscale/output.c libswscale/swscale_internal.h libswscale/swscale_unscaled.c libswscale/utils.c libswscale/x86/swscale_template.c libswscale/x86/yuv2rgb.c libswscale/x86/yuv2rgb_template.c libswscale/yuv2rgb.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* | ffplay: autodetect realtime streams and enable infbufMichael Niedermayer2012-10-04
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | ffplay: add a 3rd state to infbuf for autodetectionMichael Niedermayer2012-10-04
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-10-02
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: ARM: fix Thumb PIC on Apple nut: add do {} while (0) to GET_V tiffenc: Check av_malloc() results. tiffenc: Simplify pixel format setup using AVPixFmtDescriptor. Use atexit() instead of defining a custom exit_program() interface. msvc: Fix detection of VFW & Avisynth required libs Conflicts: ffmpeg.c ffmpeg_opt.c ffplay.c ffprobe.c ffserver.c libavcodec/tiffenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '7751e4693dd10ec98c20fbd9887233b575034272'Michael Niedermayer2012-09-25
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '7751e4693dd10ec98c20fbd9887233b575034272': ogg: check that the expected number of headers had been parsed libx264: change default to closed gop to match x264cli Use avcodec_free_frame() to free AVFrames. lavf: use a malloced AVFrame in try_decode_frame(). lavc: add avcodec_free_frame(). lavc: ensure extended_data is set properly on decoding lavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults() lavc: use av_mallocz to allocate AVFrames. lavc: rename the argument of avcodec_alloc_frame/get_frame_defaults Conflicts: doc/APIchanges doc/examples/decoding_encoding.c libavcodec/utils.c libavcodec/version.h libavfilter/src_movie.c libavformat/oggdec.c libavformat/oggdec.h libavformat/oggparsetheora.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* | ffplay: dont wait 100ms if data is not yet readyMarton Balint2012-09-16
| | | | | | | | | | | | | | Also signal the wait if audio buffer is empty. This fixes jerky audio with realtime sources. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: use PTS from the AVSubtitle structure.Nicolas George2012-09-15
| |
* | ffplay: increase sample array bufferMarton Balint2012-09-11
| | | | | | | | | | | | | | | | | | A decoded and resampled audio frame may not fit in the current size which is not handled by the current code causing out of order waveform displays or even channel mixups. A todo is added because this part can certainly be improved to consume less memory but work reliably for any frame size. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: ensure that pictq_prev_picture never fills the picture queueMarton Balint2012-09-11
| | | | | | | | | | | | | | It was theoretically possible for pictq_prev_picture to fill the picture queue which may have caused problems when a write to the queue was still in progress. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: simplify picture allocationMarton Balint2012-09-11
| | | | | | | | | | | | | | | | This also makes sure the aspect ratio of the picture is set before allocating the picture, this way video_open can calculate with the correct aspect ratio even for the first frame. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: make initial window size calculation based on aspect ratioMarton Balint2012-09-11
| | | | | | | | | | | | Fixes ticket #291. Signed-off-by: Marton Balint <cus@passwd.hu>
* | ffplay: factor display rectangle calculation to its own functionMarton Balint2012-09-11
| | | | | | | | Signed-off-by: Marton Balint <cus@passwd.hu>