diff options
author | James Stembridge <jstembridge@users.sourceforge.net> | 2003-05-26 22:33:36 +0000 |
---|---|---|
committer | James Stembridge <jstembridge@users.sourceforge.net> | 2003-05-26 22:33:36 +0000 |
commit | 725be92cae501850c3994fdabb98858046c233cc (patch) | |
tree | f9fecc79af538f7d12e263be064bad83a84c8a91 | |
parent | 920ad917f46e5b79c0c76b1978f8dd2216ee06f7 (diff) | |
download | xine-lib-725be92cae501850c3994fdabb98858046c233cc.tar.gz xine-lib-725be92cae501850c3994fdabb98858046c233cc.tar.bz2 |
fix rv40 playback
CVS patchset: 4952
CVS date: 2003/05/26 22:33:36
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | src/libreal/xine_decoder.c | 6 |
2 files changed, 4 insertions, 4 deletions
@@ -19,7 +19,7 @@ xine-lib (1-beta13) * dxr3: libavcodec from xine's ffmpeg plugin can now be used for MPEG reencoding (so reencoding is now possible without installing any additional libraries) * add support seeking in real media files - * fix playback of real video 1.0 (rv10) + * fix playback of real video versions 1 (rv10) and 4 (rv40) xine-lib (1-beta12) * enabled SVQ3 video decoding via ffmpeg diff --git a/src/libreal/xine_decoder.c b/src/libreal/xine_decoder.c index 2ff895291..8755d43b9 100644 --- a/src/libreal/xine_decoder.c +++ b/src/libreal/xine_decoder.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine_decoder.c,v 1.34 2003/04/09 12:29:13 guenter Exp $ + * $Id: xine_decoder.c,v 1.35 2003/05/26 22:33:39 jstembridge Exp $ * * thin layer to use real binary-only codecs in xine * @@ -252,7 +252,7 @@ static int init_codec (realdec_decoder_t *this, buf_element_t *buf) { #endif /* setup rv30 codec (codec sub-type and image dimensions): */ - if (init_data.format>=0x20200002){ + if ((init_data.format>=0x20200002) && (buf->type != BUF_VIDEO_RV40)) { unsigned long cmsg24[8]; unsigned long cmsg_data[9]; int result; @@ -446,7 +446,7 @@ static void realdec_decode_data (video_decoder_t *this_gen, buf_element_t *buf) this->num_chunks); #endif - if ( (buf->content[0] & 0x20) == 0) { + if (((buf->content[0] & 0x20) == 0) || (buf->type != BUF_VIDEO_RV30)) { memcpy (this->chunk_buffer+this->chunk_buffer_size, buf->content, buf->size); |