diff options
author | Reinhard Nißl <rnissl@gmx.de> | 2007-10-01 23:24:58 +0200 |
---|---|---|
committer | Reinhard Nißl <rnissl@gmx.de> | 2007-10-01 23:24:58 +0200 |
commit | 0c5696d523a43a5161134c354d6bfb21bb29bae6 (patch) | |
tree | e512d4e0bbb30b89543a8956e4800bdfd45e6ba9 /src/libffmpeg/ff_video_decoder.c | |
parent | a14c025e6e7bec4b731366a1703f18604d6c70ac (diff) | |
download | xine-lib-0c5696d523a43a5161134c354d6bfb21bb29bae6.tar.gz xine-lib-0c5696d523a43a5161134c354d6bfb21bb29bae6.tar.bz2 |
Set PTS even for bad frames to improve syncing of audio and video.
When a stream doesn't start with an IDR frame, there will be several
seconds of bad frames and not setting PTS on those frames causes an
unnecessary delay in syncing audio and video.
Diffstat (limited to 'src/libffmpeg/ff_video_decoder.c')
-rw-r--r-- | src/libffmpeg/ff_video_decoder.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libffmpeg/ff_video_decoder.c b/src/libffmpeg/ff_video_decoder.c index ccce9c578..077ff2fad 100644 --- a/src/libffmpeg/ff_video_decoder.c +++ b/src/libffmpeg/ff_video_decoder.c @@ -1301,7 +1301,10 @@ static void ff_handle_buffer (ff_video_decoder_t *this, buf_element_t *buf) { this->aspect_ratio, this->output_format, VO_BOTH_FIELDS|this->frame_flags); - img->pts = 0; + /* set PTS to allow early syncing */ + img->pts = this->pts; + this->pts = 0; + img->duration = this->video_step; img->bad_frame = 1; this->skipframes = img->draw(img, this->stream); |