diff options
author | Michael Roitzsch <mroi@users.sourceforge.net> | 2002-11-20 11:57:38 +0000 |
---|---|---|
committer | Michael Roitzsch <mroi@users.sourceforge.net> | 2002-11-20 11:57:38 +0000 |
commit | 4e95a4f5224e241075b8cd86b4423c85c1d0ee26 (patch) | |
tree | cd9287e15591dce94560663ad66fc4005d006012 /src/libxinevdec/foovideo.c | |
parent | 74893748b868ecc6ae539fa66e326e06947c4ac9 (diff) | |
download | xine-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/libxinevdec/foovideo.c')
-rw-r--r-- | src/libxinevdec/foovideo.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/libxinevdec/foovideo.c b/src/libxinevdec/foovideo.c index 2ca96e8d9..23e48a6fe 100644 --- a/src/libxinevdec/foovideo.c +++ b/src/libxinevdec/foovideo.c @@ -23,7 +23,7 @@ * value from the last frame. This creates a slowly rotating solid color * frame when the frames are played in succession. * - * $Id: foovideo.c,v 1.10 2002/11/12 18:40:54 miguelfreitas Exp $ + * $Id: foovideo.c,v 1.11 2002/11/20 11:57:46 mroi Exp $ */ #include <stdio.h> @@ -92,7 +92,7 @@ static void foovideo_decode_data (video_decoder_t *this_gen, return; if (buf->decoder_flags & BUF_FLAG_HEADER) { /* need to initialize */ - this->stream->video_out->open (this->stream->video_out); + this->stream->video_out->open (this->stream->video_out, this->stream); if(this->buf) free(this->buf); @@ -115,7 +115,6 @@ static void foovideo_decode_data (video_decoder_t *this_gen, /* do anything else relating to initializing this decoder */ this->current_yuv_byte = 0; - this->stream->video_out->open (this->stream->video_out); this->decoder_ok = 1; return; @@ -160,7 +159,7 @@ static void foovideo_decode_data (video_decoder_t *this_gen, } } - img->draw(img); + img->draw(img, this->stream); img->free(img); this->size = 0; @@ -183,6 +182,9 @@ static void foovideo_reset (video_decoder_t *this_gen) { this->size = 0; } +/* + * The decoder should forget any stored pts values here. + */ static void foovideo_discontinuity (video_decoder_t *this_gen) { foovideo_decoder_t *this = (foovideo_decoder_t *) this_gen; @@ -202,7 +204,7 @@ static void foovideo_dispose (video_decoder_t *this_gen) { if (this->decoder_ok) { this->decoder_ok = 0; - this->stream->video_out->close(this->stream->video_out); + this->stream->video_out->close(this->stream->video_out, this->stream); } free (this_gen); @@ -306,6 +308,6 @@ static decoder_info_t dec_info_video = { */ plugin_info_t xine_plugin_info[] = { /* { type, API, "name", version, special_info, init_function } */ - { PLUGIN_VIDEO_DECODER, 12, "foovideo", XINE_VERSION_CODE, &dec_info_video, init_plugin }, + { PLUGIN_VIDEO_DECODER, 13, "foovideo", XINE_VERSION_CODE, &dec_info_video, init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; |