diff options
Diffstat (limited to 'src/libxinevdec/foovideo.c')
-rw-r--r-- | src/libxinevdec/foovideo.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/libxinevdec/foovideo.c b/src/libxinevdec/foovideo.c index 65cc235d2..412f5ac86 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.8 2002/11/02 21:38:38 tmmm Exp $ + * $Id: foovideo.c,v 1.9 2002/11/11 05:55:51 tmmm Exp $ */ #include <stdio.h> @@ -98,8 +98,8 @@ static void foovideo_decode_data (video_decoder_t *this_gen, free(this->buf); bih = (xine_bmiheader *) buf->content; - this->width = (bih->biWidth + 3) & ~0x03; - this->height = (bih->biHeight + 3) & ~0x03; + this->width = bih->biWidth; + this->height = bih->biHeight; this->video_step = buf->decoder_info[1]; if (this->buf) @@ -108,12 +108,16 @@ static void foovideo_decode_data (video_decoder_t *this_gen, this->buf = malloc(this->bufsize); this->size = 0; - this->stream->video_out->open (this->stream->video_out); - this->decoder_ok = 1; + /* take this opportunity to load the stream/meta info */ + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("foovideo"); + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; /* 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; } else if (this->decoder_ok) { |