summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Stembridge <jstembridge@users.sourceforge.net>2004-01-13 20:29:21 +0000
committerJames Stembridge <jstembridge@users.sourceforge.net>2004-01-13 20:29:21 +0000
commit0a3eff3c7250f57776ed90e75bdf18bad981c54a (patch)
tree920310c6d931d138cf23e5d3645facfecab35b33
parent6a3b3f73d89b643a72b93f3928c3452cd7d2097d (diff)
downloadxine-lib-0a3eff3c7250f57776ed90e75bdf18bad981c54a.tar.gz
xine-lib-0a3eff3c7250f57776ed90e75bdf18bad981c54a.tar.bz2
File header doesn't seem to have a fixed sized after all
CVS patchset: 6040 CVS date: 2004/01/13 20:29:21
-rw-r--r--src/demuxers/demux_real.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/demuxers/demux_real.c b/src/demuxers/demux_real.c
index 0047d69be..f91e71646 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.80 2004/01/12 23:43:39 jstembridge Exp $
+ * $Id: demux_real.c,v 1.81 2004/01/13 20:29:21 jstembridge Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -68,7 +68,7 @@
#define VIDO_TAG FOURCC_TAG('V', 'I', 'D', 'O')
#define PREAMBLE_SIZE 8
-#define REAL_SIGNATURE_SIZE 4
+#define REAL_SIGNATURE_SIZE 8
#define DATA_CHUNK_HEADER_SIZE 10
#define DATA_PACKET_HEADER_SIZE 12
#define INDEX_CHUNK_HEADER_SIZE 20
@@ -345,9 +345,9 @@ static void real_parse_headers (demux_real_t *this) {
return;
}
- /* skip to the start of the first chunk (the first chunk is 0x12 bytes
- * long) and start traversing */
- this->input->seek(this->input, 14, SEEK_CUR);
+ /* skip to the start of the first chunk and start traversing */
+ chunk_size = BE_32(&signature[4]);
+ this->input->seek(this->input, chunk_size-8, SEEK_CUR);
/* iterate through chunks and gather information until the first DATA
* chunk is located */