summaryrefslogtreecommitdiff
path: root/src/libmpeg2/decode.c
diff options
context:
space:
mode:
authorMichael Roitzsch <mroi@users.sourceforge.net>2002-11-20 11:57:38 +0000
committerMichael Roitzsch <mroi@users.sourceforge.net>2002-11-20 11:57:38 +0000
commit4e95a4f5224e241075b8cd86b4423c85c1d0ee26 (patch)
treecd9287e15591dce94560663ad66fc4005d006012 /src/libmpeg2/decode.c
parent74893748b868ecc6ae539fa66e326e06947c4ac9 (diff)
downloadxine-lib-4e95a4f5224e241075b8cd86b4423c85c1d0ee26.tar.gz
xine-lib-4e95a4f5224e241075b8cd86b4423c85c1d0ee26.tar.bz2
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
Diffstat (limited to 'src/libmpeg2/decode.c')
-rw-r--r--src/libmpeg2/decode.c13
1 files changed, 7 insertions, 6 deletions
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);