diff options
author | Reinhard Nißl <rnissl@gmx.de> | 2011-02-16 23:26:54 +0100 |
---|---|---|
committer | Reinhard Nißl <rnissl@gmx.de> | 2011-02-16 23:26:54 +0100 |
commit | 4ab7d99460d0bcefba85b7285d3742cae2905314 (patch) | |
tree | 6d2b0c5d4568a6d153256d3a2aabad237decd5fd | |
parent | 498ee00acbfe74a6cdcf52edca245541f42be996 (diff) | |
download | xine-lib-4ab7d99460d0bcefba85b7285d3742cae2905314.tar.gz xine-lib-4ab7d99460d0bcefba85b7285d3742cae2905314.tar.bz2 |
Make ff_video_decoder work together with input_vdr.c for MPEG2.
input_vdr.c cannot send buffers with preview flag set after a decoder
reset. Therefore, the decoder didn't get initialized anymore. So we
need to call ff_handle_preview_buffer() even with real data as long
as we are in decoder_init_mode to get a decoder initialized.
-rw-r--r-- | src/combined/ffmpeg/ff_video_decoder.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/combined/ffmpeg/ff_video_decoder.c b/src/combined/ffmpeg/ff_video_decoder.c index e6c44f7b5..b0f8a2d39 100644 --- a/src/combined/ffmpeg/ff_video_decoder.c +++ b/src/combined/ffmpeg/ff_video_decoder.c @@ -843,7 +843,6 @@ static void ff_handle_preview_buffer (ff_video_decoder_t *this, buf_element_t *b if ( this->mpeg_parser == NULL ) { this->mpeg_parser = calloc(1, sizeof(mpeg_parser_t)); mpeg_parser_init(this->mpeg_parser); - this->decoder_init_mode = 0; } } @@ -1517,6 +1516,8 @@ static void ff_decode_data (video_decoder_t *this_gen, buf_element_t *buf) { } } else { + if (this->decoder_init_mode && !this->is_mpeg12) + ff_handle_preview_buffer(this, buf); /* decode */ if (buf->pts) |