diff options
Diffstat (limited to 'src/libmpeg2')
-rw-r--r-- | src/libmpeg2/decode.c | 4 | ||||
-rw-r--r-- | src/libmpeg2/xine_decoder.c | 10 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/libmpeg2/decode.c b/src/libmpeg2/decode.c index ed15bbddf..66594fd86 100644 --- a/src/libmpeg2/decode.c +++ b/src/libmpeg2/decode.c @@ -339,11 +339,13 @@ void mpeg2_find_sequence_header (mpeg2dec_t * mpeg2dec, if (code == 0xb3) { /* sequence_header_code */ if (header_process_sequence_header (picture, mpeg2dec->chunk_buffer)) { - fprintf (stderr, "bad sequence header\n"); + printf ("libmpeg2: bad sequence header\n"); return; } if (mpeg2dec->is_sequence_needed) { + printf ("libmpeg2: found sequence header! :-)\n"); + mpeg2dec->is_sequence_needed = 0; picture->forward_reference_frame = mpeg2dec->output->get_frame (mpeg2dec->output, diff --git a/src/libmpeg2/xine_decoder.c b/src/libmpeg2/xine_decoder.c index ce4788d85..6783f7d20 100644 --- a/src/libmpeg2/xine_decoder.c +++ b/src/libmpeg2/xine_decoder.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine_decoder.c,v 1.6 2001/06/07 20:23:54 guenter Exp $ + * $Id: xine_decoder.c,v 1.7 2001/06/09 22:05:31 guenter Exp $ * * stuff needed to turn libmpeg2 into a xine decoder plugin */ @@ -55,8 +55,12 @@ static void mpeg2dec_init (video_decoder_t *this_gen, vo_instance_t *video_out) static void mpeg2dec_decode_data (video_decoder_t *this_gen, buf_element_t *buf) { mpeg2dec_decoder_t *this = (mpeg2dec_decoder_t *) this_gen; - mpeg2_decode_data (&this->mpeg2, buf->content, buf->content + buf->size, - buf->PTS); + if (buf->decoder_info[0] == 0) { + mpeg2_find_sequence_header (&this->mpeg2, buf->content, buf->content + buf->size); + } else { + mpeg2_decode_data (&this->mpeg2, buf->content, buf->content + buf->size, + buf->PTS); + } } static void mpeg2dec_close (video_decoder_t *this_gen) { |