Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 06b7d7ede82d3f3bef0e58cffe709697 > files > 1

gstreamer0.10-plugins-bad-0.10.6-5mdv2008.1.src.rpm

Index: ext/faad/gstfaad.c
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/ext/faad/gstfaad.c,v
retrieving revision 1.61
diff -u -r1.61 gstfaad.c
--- ext/faad/gstfaad.c	20 Apr 2007 15:31:32 -0000	1.61
+++ ext/faad/gstfaad.c	7 Mar 2008 20:39:45 -0000
@@ -1114,22 +1114,21 @@
 static gboolean
 looks_like_valid_header (guint8 * input_data, guint input_size)
 {
-  guint32 rate;
-  guint32 channels;
-
-  if (input_size < 2)
-    return FALSE;
-
-  rate = ((input_data[0] & 0x7) << 1) | ((input_data[1] & 0x80) >> 7);
-  channels = (input_data[1] & 0x78) >> 3;
-
-  if (rate == 0xd || rate == 0xe)       /* Reserved values */
+  if (input_size < 4)
     return FALSE;
 
-  if (channels == 0)            /* Extended specifier: never seen one of these */
-    return FALSE;
+  if (input_data[0] == 'A'
+       && input_data[1] == 'D'
+       && input_data[2] == 'I'
+       && input_data[3] == 'F')
+    /* ADIF type header */
+    return TRUE;
+
+  if (input_data[0] == 0xff && (input_data[1] >> 4) == 0xf)
+    /* ADTS type header */
+    return TRUE;
 
-  return TRUE;
+  return FALSE;
 }
 
 /*