From 4e95a4f5224e241075b8cd86b4423c85c1d0ee26 Mon Sep 17 00:00:00 2001 From: Michael Roitzsch Date: Wed, 20 Nov 2002 11:57:38 +0000 Subject: engine modifications to allow post plugin layer: * new public output interface xine_{audio,video}_port_t instead of xine_{ao,vo}_driver_t, old names kept as aliases for compatibility * modified the engine to allow multiple streams per output * renaming of some internal structures according to public changes * moving SCR out of per-stream-metronom into a global metronom_clock_t residing in xine_t and therefore easily available to the output layer * adapting all available plugins (note to external projects: the compiler will help you a lot, if a plugin compiles, it is adapted, because all changes add new parameters to some functions) * bump up all interface versions because of xine_t and xine_stream_t changes CVS patchset: 3312 CVS date: 2002/11/20 11:57:38 --- src/libmpeg2/decode.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'src/libmpeg2/decode.c') diff --git a/src/libmpeg2/decode.c b/src/libmpeg2/decode.c index f0674512f..5e6d73ca1 100644 --- a/src/libmpeg2/decode.c +++ b/src/libmpeg2/decode.c @@ -51,7 +51,7 @@ static void process_userdata(mpeg2dec_t *mpeg2dec, uint8_t *buffer); void mpeg2_init (mpeg2dec_t * mpeg2dec, - vo_instance_t * output) + xine_video_port_t * output) { static int do_init = 1; uint32_t mm_accel; @@ -258,12 +258,13 @@ static inline int parse_chunk (mpeg2dec_t * mpeg2dec, int code, picture->current_frame->pts = 0; get_frame_duration(mpeg2dec, picture->current_frame); - mpeg2dec->frames_to_drop = picture->current_frame->draw (picture->current_frame); + mpeg2dec->frames_to_drop = picture->current_frame->draw (picture->current_frame, mpeg2dec->stream); picture->current_frame->drawn = 1; } } else if (picture->forward_reference_frame && !picture->forward_reference_frame->drawn) { get_frame_duration(mpeg2dec, picture->forward_reference_frame); - mpeg2dec->frames_to_drop = picture->forward_reference_frame->draw (picture->forward_reference_frame); + mpeg2dec->frames_to_drop = picture->forward_reference_frame->draw (picture->forward_reference_frame, + mpeg2dec->stream); picture->forward_reference_frame->drawn = 1; } } @@ -631,7 +632,7 @@ void mpeg2_flush (mpeg2dec_t * mpeg2dec) { get_frame_duration(mpeg2dec, picture->current_frame); picture->current_frame->pts = 0; - picture->current_frame->draw(picture->current_frame); + picture->current_frame->draw(picture->current_frame, mpeg2dec->stream); } } @@ -657,7 +658,7 @@ void mpeg2_close (mpeg2dec_t * mpeg2dec) printf ("libmpeg2: blasting out current frame on close\n"); picture->current_frame->pts = 0; get_frame_duration(mpeg2dec, picture->current_frame); - picture->current_frame->draw (picture->current_frame); + picture->current_frame->draw (picture->current_frame, mpeg2dec->stream); picture->current_frame->drawn = 1; } @@ -679,7 +680,7 @@ void mpeg2_close (mpeg2dec_t * mpeg2dec) printf ("libmpeg2: blasting out backward reference frame on close\n"); picture->backward_reference_frame->pts = 0; get_frame_duration(mpeg2dec, picture->backward_reference_frame); - picture->backward_reference_frame->draw (picture->backward_reference_frame); + picture->backward_reference_frame->draw (picture->backward_reference_frame, mpeg2dec->stream); picture->backward_reference_frame->drawn = 1; } picture->backward_reference_frame->free (picture->backward_reference_frame); -- cgit v1.2.3