Fix parsing of the flags in rmdemux

Fix parsing of the flags in version 1 realmedia streams.
Fixes #571358.
This commit is contained in:
Roland Moser 2009-02-18 12:55:16 +01:00 committed by Wim Taymans
parent 4b2c46267f
commit c42e090acc

View file

@ -2522,19 +2522,16 @@ gst_rmdemux_parse_packet (GstRMDemux * rmdemux, GstBuffer * in, guint16 version)
data += (2 + 4); data += (2 + 4);
size -= (2 + 4); size -= (2 + 4);
/* skip other stuff */ /* get flags */
if (version == 0) { flags = GST_READ_UINT8 (data + 1);
/* uint8 packet_group */
/* uint8 flags */ data += 2;
flags = GST_READ_UINT8 (data + 1); size -= 2;
data += 2;
size -= 2; /* version 1 has an extra byte */
} else { if (version == 1) {
/* uint16 asm_rule */ data += 1;
/* uint8 asm_flags */ size -= 1;
flags = GST_READ_UINT8 (data + 2);
data += 3;
size -= 3;
} }
key = (flags & 0x02) != 0; key = (flags & 0x02) != 0;
GST_DEBUG_OBJECT (rmdemux, "flags %d, Keyframe %d", flags, key); GST_DEBUG_OBJECT (rmdemux, "flags %d, Keyframe %d", flags, key);