oggdemux: Fix size checks
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 20 May 2010 11:58:14 +0000 (13:58 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 20 May 2010 11:58:14 +0000 (13:58 +0200)
ext/ogg/gstoggdemux.c
ext/ogg/gstoggstream.c

index 348acff..a3f5e9c 100644 (file)
@@ -490,7 +490,7 @@ gst_ogg_demux_chain_peer (GstOggPad * pad, ogg_packet * packet,
       /* We don't push header packets for VP8 */
       cret = gst_ogg_demux_combine_flows (ogg, pad, GST_FLOW_OK);
       goto done;
-    } else if (packet->b_o_s || (packet->bytes >= 5
+    } else if (packet->b_o_s || (packet->bytes >= 6
             && memcmp (packet->packet, "OVP80", 6) == 0)) {
       /* We don't push header packets for VP8 */
       cret = gst_ogg_demux_combine_flows (ogg, pad, GST_FLOW_OK);
index 0746b83..38f9d92 100644 (file)
@@ -595,7 +595,7 @@ granulepos_to_key_granule_vp8 (GstOggStream * pad, gint64 granulepos)
 static gboolean
 is_header_vp8 (GstOggStream * pad, ogg_packet * packet)
 {
-  if (packet->bytes > 6 && packet->packet[0] == 0x4F &&
+  if (packet->bytes >= 5 && packet->packet[0] == 0x4F &&
       packet->packet[1] == 0x56 && packet->packet[2] == 0x50 &&
       packet->packet[3] == 0x38 && packet->packet[4] == 0x30)
     return TRUE;