summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJames Stembridge <jstembridge@users.sourceforge.net>2004-01-15 20:13:46 +0000
committerJames Stembridge <jstembridge@users.sourceforge.net>2004-01-15 20:13:46 +0000
commite97de54628bbb06834a2fc8bc334af43b8c56ca7 (patch)
tree41a12424040f18212b2fce45b1a8d531d5552126 /src
parent85ee5e02b2413e5f0fae7fcc1cced875aafb3dc7 (diff)
downloadxine-lib-e97de54628bbb06834a2fc8bc334af43b8c56ca7.tar.gz
xine-lib-e97de54628bbb06834a2fc8bc334af43b8c56ca7.tar.bz2
better to set buf->type before trying to read it
CVS patchset: 6046 CVS date: 2004/01/15 20:13:46
Diffstat (limited to 'src')
-rw-r--r--src/demuxers/demux_real.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/demuxers/demux_real.c b/src/demuxers/demux_real.c
index ac074a19c..068cf1d6a 100644
--- a/src/demuxers/demux_real.c
+++ b/src/demuxers/demux_real.c
@@ -31,7 +31,7 @@
*
* Based on FFmpeg's libav/rm.c.
*
- * $Id: demux_real.c,v 1.83 2004/01/15 20:06:06 jstembridge Exp $
+ * $Id: demux_real.c,v 1.84 2004/01/15 20:13:46 jstembridge Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -1093,6 +1093,8 @@ static int demux_real_send_chunk(demux_plugin_t *this_gen) {
buf->decoder_flags = decoder_flags;
decoder_flags &= ~BUF_FLAG_FRAME_START;
+
+ buf->type = this->video_stream->buf_type;
if(this->input->read(this->input, buf->content, buf->size) < buf->size) {
xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG,
@@ -1104,7 +1106,9 @@ static int demux_real_send_chunk(demux_plugin_t *this_gen) {
/* RV30 and RV40 streams contain some fragments that shouldn't be passed
* to the decoder. The first byte of these fragments is different from
- * that found in the preceding fragments making up the frame */
+ * that found in the preceding fragments making up the frame. The purpose
+ * of these fragments is unknown, but realplayer doesn't appear to pass
+ * them to the decoder either */
if((n == fragment_size) &&
((buf->type == BUF_VIDEO_RV30) || buf->type == BUF_VIDEO_RV40)) {
@@ -1130,8 +1134,6 @@ static int demux_real_send_chunk(demux_plugin_t *this_gen) {
buf->extra_info->input_time = input_time;
buf->extra_info->total_time = this->duration;
- buf->type = this->video_stream->buf_type;
-
this->video_fifo->put(this->video_fifo, buf);
n -= buf->size;