diff options
author | Reinhard Nißl <rnissl@gmx.de> | 2009-04-02 00:00:20 +0200 |
---|---|---|
committer | Reinhard Nißl <rnissl@gmx.de> | 2009-04-02 00:00:20 +0200 |
commit | 5377b8eeefd5f28869098d70b674df663dfd807b (patch) | |
tree | 95ac949f73220abc649f4b56894c1de2d477a7a6 /src/combined/ffmpeg/ff_video_decoder.c | |
parent | 7a61cfaeba686449903c7fb6bcac28227509b71a (diff) | |
download | xine-lib-5377b8eeefd5f28869098d70b674df663dfd807b.tar.gz xine-lib-5377b8eeefd5f28869098d70b674df663dfd807b.tar.bz2 |
FFmpeg: add support for reordered_opaque to custom get_buffer() implementation.
After adding support for PTS reordering some time ago, any codecs using direct
rendering did no longer pass PTS values to the images due to missing support
for reordered_opaque in xine-lib's custom get_buffer() function.
With this fix, A/V sync should now be as before or even better, due to PTS
reordering (the intent of the earlier changesets).
Diffstat (limited to 'src/combined/ffmpeg/ff_video_decoder.c')
-rw-r--r-- | src/combined/ffmpeg/ff_video_decoder.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/combined/ffmpeg/ff_video_decoder.c b/src/combined/ffmpeg/ff_video_decoder.c index 88a10504b..15b9f056d 100644 --- a/src/combined/ffmpeg/ff_video_decoder.c +++ b/src/combined/ffmpeg/ff_video_decoder.c @@ -225,6 +225,11 @@ static int get_buffer(AVCodecContext *context, AVFrame *av_frame){ av_frame->type= FF_BUFFER_TYPE_USER; +#ifdef AVCODEC_HAS_REORDERED_OPAQUE + /* take over pts for this frame to have it reordered */ + av_frame->reordered_opaque = context->reordered_opaque; +#endif + xine_list_push_back(this->dr1_frames, av_frame); return 0; |