Commit Graph

753 Commits

Author SHA1 Message Date
Marton Balint
738487f8db ffplay: use refcounted frames for audio
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-17 03:31:37 +01:00
Marton Balint
9eafdd518c ffplay: use frame->pts if available for setting the audio clock
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-17 03:31:37 +01:00
Marton Balint
1822519d2a ffplay: restructure audio stream opening code
Preparation for -af support.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-17 03:31:37 +01:00
Michael Niedermayer
b94df21a51 Merge commit '2eaa3663fda750dac66d41fe8541a8744d5563a4'
* commit '2eaa3663fda750dac66d41fe8541a8744d5563a4':
  avplay: enable only when SDL 1.2 is found

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 01:31:46 +01:00
Nicolas George
ceac5c54dd Remove references to the "ff" variant of buffersink. 2013-03-12 23:31:07 +01:00
Michael Niedermayer
32fdfdfbda Merge commit '354468fc12dcf93e7fb4af552e18906771913273'
* commit '354468fc12dcf93e7fb4af552e18906771913273':
  avplay: switch to new refcounted frames API
  avconv: convert to new refcounted AVFrame API

Conflicts:
	cmdutils.c
	ffmpeg.c
	ffmpeg.h
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 14:16:02 +01:00
Michael Niedermayer
ec1d2e2fb0 ffplay: use AVFrame accessor functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 23:22:08 +01:00
Marton Balint
ac37d21f49 ffplay: do not cycle through unavailable show modes
Fixes ticket #2200.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:13 +01:00
Marton Balint
d0c6ed7da0 ffplay: add option to disable subtitling
Fixes ticket #2201.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:13 +01:00
Marton Balint
daece4c674 ffplay: use NAN to signal invalid external clock
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint
26c208cf0f ffplay: if audio or video clock is invalid return NAN
This helps us not to make bad decision (frame dropping, audio compensation)
right after seeking when we do not know yet the recent audio or video clock.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint
38f649662c ffplay: allow frame dropping if we redisplay an already displayed frame
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint
36dc476f83 ffplay: return true for pictq_prev_picture if it was successful
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint
3070600d9b ffplay: only quit from audio_decode_frame before decoding when paused
This way the audio clock is updated to a proper value even when the video is
paused.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint
48e43a1999 ffplay: drop remaining frames in current audio avpacket when seeking
Fixes ticket #1928.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint
4be7d578a3 ffplay: signal seek event to read thread
Improves seek delay.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Stefano Sabatini
394130efe3 ffplay: reindent and remove pointless cast in audio_decode_frame() code 2013-02-24 23:29:42 +01:00
Stefano Sabatini
a3fa27e366 ffplay: set type for channel_layout AudioParams field to int64_t
Reflect the type of the corresponding field in lavc/lavfi.
2013-02-24 23:26:43 +01:00
Marton Balint
77ab702a84 ffplay: only display frames if there are no pending events
Otherwise events could just pile up if displaying a frame takes more time than
the duration of the frame.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-15 13:12:10 +01:00
Marton Balint
5534d8f75e ffplay: remove remains of video_clock
We are now using a pts based approach, libavutil/libavcodec should provide the
correct pts-es anyway. This also fixes an issue when seeking to a frame with a
pts set to zero.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-15 00:10:46 +01:00
Marton Balint
b853cfe7ea ffplay: remove refresh thread to achieve more precise frame delay
We use a refresh loop which displays the frames and also does the polling for
pending events in a non-blocking way. If we know the required delay until the
next frame, then exactly that amount of sleeping will be done. After each
handled event we check if we have to display a frame which kind of makes
displaying the frame a high priority event.

This improves greatly the smoothness of the video output especially with 50fps
content.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-15 00:10:46 +01:00
Michael Niedermayer
2c5e4ae291 Revert "Merge commit 'db0a943266be29ff0596872ebb418dfed75d00de'"
This reverts commit d808206553, reversing
changes made to 30085bd43e.

This is not needed

Requested-by: Marton Balint
2013-02-10 14:27:57 +01:00
Michael Niedermayer
d808206553 Merge commit 'db0a943266be29ff0596872ebb418dfed75d00de'
* commit 'db0a943266be29ff0596872ebb418dfed75d00de':
  avplay: apply the stream sample_aspect_ratio to decoded video frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 12:47:37 +01:00
Stefano Sabatini
212bb6490f ffplay: report video frame changes only in debug mode
In particular, remove distracting message:
"Video frame changed from size:0x0 format:none serial:-1 to ..."
2013-02-06 00:20:37 +01:00
Stefano Sabatini
58c4b0f990 ffplay: extend feedback in case of video changes 2013-02-06 00:20:30 +01:00
Stefano Sabatini
c44281906a ffplay: remove misleading comment from audio_decode_frame() 2013-02-03 17:01:56 +01:00
Stefano Sabatini
02af4e9a97 ffplay: rename audio_decode_frame() variable "pts" to "audio_clock0"
The new name better expresses what the variable is.
2013-02-03 17:01:56 +01:00
Stefano Sabatini
6e32b377bb ffplay: remove pts_ptr argument from audio_decode_frame()
The argument is no longer used outside the function. Simplify.
2013-02-03 17:01:56 +01:00
Stefano Sabatini
c91f1f3f92 ffplay: drop redundant NULL sws_freeContext() check in stream_close()
sws_freeContext() already checks for NULL, simplify.
2013-02-03 11:15:27 +01:00
Michael Niedermayer
4be0b91094 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: step to next frame if paused when seeking
  ffplay: move up pause functions
  ffplay: remember last window dimensions
  ffplay: fix order of setting show_mode
  ffplay: dynamically allocate audio buffer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-02 16:14:21 +01:00
Stefano Sabatini
6032a1c977 ffplay: extend doxy for audio_decode_frame() 2013-02-02 15:32:34 +01:00
Marton Balint
4ea7fbb2ec ffplay: step to next frame if paused when seeking
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-02 12:38:15 +01:00
Marton Balint
c5eab4bb70 ffplay: move up pause functions
No change in functionality.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-02 12:38:14 +01:00
Marton Balint
5de3f724f1 ffplay: remember last window dimensions
After this change the dimensions of single image videos will be remembered when
coming back from full screen. The issue was mentioned in ticket #2174.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-02 12:38:14 +01:00
Marton Balint
4fd6e5af1e ffplay: fix order of setting show_mode
Without the fix the refresh event may have got called with unset show mode.

Fixes ticket #2174.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-02 12:38:14 +01:00
Marton Balint
571ef42dd4 ffplay: dynamically allocate audio buffer
We simply remove the fixed length VideoState->audio_buf2 and use
the previously unused VideoState->audio_buf1.

Fixes ticket #2191.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-02 12:38:14 +01:00
Marton Balint
f65e57124f ffplay: flush video filters on seek
Actually we just re-create the filters, since there is no way to flush them.
Fixes hangup with yadif filter on seeking forward caused by a filtered frame
with a pts before the seek.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-01-19 00:48:06 +01:00
Marton Balint
1427c6842d ffplay: use videoq.serial to detect obsolete frames
Previously VideoPicture->skip was used for that, using videoq.serial enables us
to detect obsolete frames right after pushing flush_pkt to the packet queue, so
we don't have to wait for the decoder thread to pop the flush packet anymore.

This is good because until now a full video picture queue may have blocked the
decoder thread.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-01-19 00:48:06 +01:00
Michael Niedermayer
2d8d63a9a0 ffplay: fix sws_flags
Fixes Ticket45

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 22:48:28 +01:00
Stefano Sabatini
e8bab4c6fc ffplay: extend documentation for the -vf option
In particular, make it consistent with the ffmpeg docs.
2013-01-13 16:03:13 +01:00
Clément Bœsch
491ca0e89f Replace references to "que" with the appropriate word.
"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).
2013-01-03 00:21:47 +01:00
Marton Balint
92b50b71a1 ffplay: fix type of time_diff in waveform display
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>
2012-12-28 20:01:01 +01:00
Marton Balint
ec89ea3022 ffplay: always display audio visualization if mode is set
Fixes ticket #1903.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-28 20:01:01 +01:00
Marton Balint
ef7f3b0870 ffplay: hide cursor on no mouse movement
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-28 20:01:00 +01:00
Marton Balint
0ca4e9f014 ffplay: reset external clock to unknown on start
Fixes a delay and initial frame drops on starting realtime streams with
external clock.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-28 20:01:00 +01:00
Marton Balint
4e33d8ebb3 ffplay: only drop frames if not in frame step mode
Fixes ticket #2053.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-28 20:00:07 +01:00
Marton Balint
97660b8b13 ffplay: move frame step pause from the video thread to video_refresh
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>
2012-12-28 19:59:46 +01:00
Marton Balint
cf0c63d99a ffplay: fix greenish line on the right edge with some xv sizes
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>
2012-12-25 13:54:07 +01:00
Michael Niedermayer
3f72dbe462 ffplay: fix another use of context instead of frame parameters
Fixes Ticket2050

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-22 03:41:55 +01:00
Michael Niedermayer
230bef0a89 ffplay: fix handling of resolution changes with h264-mt
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-21 00:50:47 +01:00