atdec: Set correct number of frames for MP3
authorSebastian Dröge <sebastian@centricular.com>
Tue, 11 Mar 2014 10:18:22 +0000 (11:18 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 11 Mar 2014 14:33:25 +0000 (15:33 +0100)
sys/applemedia/atdec.c
sys/applemedia/coremediabuffer.c
sys/applemedia/vtutil.c

index 0fe8df0..8026850 100644 (file)
@@ -225,22 +225,27 @@ gst_caps_to_at_format (GstCaps * caps, AudioStreamBasicDescription * format)
     format->mFormatID = kAudioFormatMPEG4AAC;
     format->mFramesPerPacket = 1024;
   } else if (can_intersect_static_caps (caps, &mp3_caps)) {
-    gint layer;
+    gint layer, mpegaudioversion = 1;
 
     gst_structure_get_int (structure, "layer", &layer);
+    gst_structure_get_int (structure, "mpegaudioversion", &mpegaudioversion);
     switch (layer) {
       case 1:
         format->mFormatID = kAudioFormatMPEGLayer1;
+        format->mFramesPerPacket = 384;
         break;
       case 2:
         format->mFormatID = kAudioFormatMPEGLayer2;
+        format->mFramesPerPacket = 1152;
         break;
       case 3:
         format->mFormatID = kAudioFormatMPEGLayer3;
+        format->mFramesPerPacket = (mpegaudioversion == 1 ? 1152 : 576);
         break;
       default:
         g_warn_if_reached ();
         format->mFormatID = kAudioFormatMPEGLayer3;
+        format->mFramesPerPacket = 1152;
         break;
     }
   } else if (can_intersect_static_caps (caps, &raw_caps)) {
index 56c38bc..5bf9a3e 100644 (file)
@@ -25,7 +25,7 @@ gst_core_media_meta_free (GstCoreMediaMeta * meta, GstBuffer * buf)
   if (meta->image_buf != NULL) {
     CVPixelBufferUnlockBaseAddress (meta->image_buf,
         kCVPixelBufferLock_ReadOnly);
-    CVBufferRelease(meta->image_buf);
+    CVBufferRelease (meta->image_buf);
   }
   if (meta->block_buf != NULL) {
     CFRelease (meta->block_buf);
index 40274c2..6c44415 100644 (file)
@@ -75,7 +75,7 @@ void
 gst_vtutil_dict_set_boolean (CFMutableDictionaryRef dict, CFStringRef key,
     gboolean value)
 {
-  CFDictionarySetValue (dict, key, value ? kCFBooleanTrue: kCFBooleanFalse);
+  CFDictionarySetValue (dict, key, value ? kCFBooleanTrue : kCFBooleanFalse);
 }
 
 void
@@ -91,7 +91,7 @@ gst_vtutil_dict_set_data (CFMutableDictionaryRef dict, CFStringRef key,
 
 void
 gst_vtutil_dict_set_object (CFMutableDictionaryRef dict, CFStringRef key,
-    CFTypeRef *value)
+    CFTypeRef * value)
 {
   CFDictionarySetValue (dict, key, value);
   CFRelease (value);