diff options
Diffstat (limited to 'src/libxinevdec/msrle.c')
-rw-r--r-- | src/libxinevdec/msrle.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/libxinevdec/msrle.c b/src/libxinevdec/msrle.c index fb189f738..ded2ed56a 100644 --- a/src/libxinevdec/msrle.c +++ b/src/libxinevdec/msrle.c @@ -21,7 +21,7 @@ * For more information on the MS RLE format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: msrle.c,v 1.25 2004/01/12 17:35:19 miguelfreitas Exp $ + * $Id: msrle.c,v 1.26 2004/02/09 22:04:11 jstembridge Exp $ */ #include <stdio.h> @@ -206,6 +206,11 @@ static void msrle_decode_data (video_decoder_t *this_gen, COMPUTE_V(palette[i].r, palette[i].g, palette[i].b); } } + + if (buf->decoder_flags & BUF_FLAG_FRAMERATE) { + this->video_step = buf->decoder_info[0]; + _x_stream_info_set(this->stream, XINE_STREAM_INFO_FRAME_DURATION, this->video_step); + } if (buf->decoder_flags & BUF_FLAG_STDHEADER) { /* need to initialize */ this->stream->video_out->open (this->stream->video_out, this->stream); @@ -217,7 +222,6 @@ static void msrle_decode_data (video_decoder_t *this_gen, this->width = (bih->biWidth + 3) & ~0x03; this->height = (bih->biHeight + 3) & ~0x03; this->ratio = (double)this->width/(double)this->height; - this->video_step = buf->decoder_info[1]; if (this->buf) free (this->buf); @@ -245,9 +249,6 @@ static void msrle_decode_data (video_decoder_t *this_gen, this->size += buf->size; - if (buf->decoder_flags & BUF_FLAG_FRAMERATE) - this->video_step = buf->decoder_info[0]; - if (buf->decoder_flags & BUF_FLAG_FRAME_END) { img = this->stream->video_out->get_frame (this->stream->video_out, |