diff --git a/ChangeLog b/ChangeLog index 71443a5ea1..e924e62238 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-11-08 Wim Taymans + + * gst/typefind/gsttypefindfunctions.c: (aac_type_find): + Don't segfault on NULL data. + 2004-11-08 Wim Taymans * gst/playback/gstdecodebin.c: (unlinked): diff --git a/gst/typefind/gsttypefindfunctions.c b/gst/typefind/gsttypefindfunctions.c index b8f86d22e1..78104783ef 100644 --- a/gst/typefind/gsttypefindfunctions.c +++ b/gst/typefind/gsttypefindfunctions.c @@ -222,15 +222,17 @@ aac_type_find (GstTypeFind * tf, gpointer unused) * note that this is a pretty lame typefind method (14 bits, 0.006%), so * we'll only use LIKELY */ - if (data[0] == 0xFF && (data[1] & 0xF6) == 0xF0) { - gboolean mpegversion = (data[1] & 0x08) ? 2 : 4; - GstCaps *caps = gst_caps_new_simple ("audio/mpeg", - "framed", G_TYPE_BOOLEAN, FALSE, - "mpegversion", G_TYPE_INT, mpegversion, - NULL); + if (data) { + if (data[0] == 0xFF && (data[1] & 0xF6) == 0xF0) { + gboolean mpegversion = (data[1] & 0x08) ? 2 : 4; + GstCaps *caps = gst_caps_new_simple ("audio/mpeg", + "framed", G_TYPE_BOOLEAN, FALSE, + "mpegversion", G_TYPE_INT, mpegversion, + NULL); - gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, caps); - gst_caps_free (caps); + gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, caps); + gst_caps_free (caps); + } } }