opus: add some more debug information about channel mapping
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Fri, 25 Nov 2011 12:47:42 +0000 (12:47 +0000)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Fri, 25 Nov 2011 15:31:59 +0000 (15:31 +0000)
ext/opus/gstopuscommon.c
ext/opus/gstopuscommon.h
ext/opus/gstopusdec.c
ext/opus/gstopusenc.c

index fc3e037..426c5b8 100644 (file)
@@ -70,3 +70,19 @@ const GstAudioChannelPosition gst_opus_channel_positions[][8] = {
         GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT,
       GST_AUDIO_CHANNEL_POSITION_LFE},
 };
+
+const char *gst_opus_channel_names[] = {
+  "mono",
+  "front left",
+  "front right",
+  "rear center",
+  "rear left",
+  "rear right",
+  "lfe",
+  "front center",
+  "front left of center",
+  "front right of center",
+  "side left",
+  "side right",
+  "none"
+};
index 96a303e..65b944e 100644 (file)
@@ -27,6 +27,7 @@
 G_BEGIN_DECLS
 
 extern const GstAudioChannelPosition gst_opus_channel_positions[][8];
+extern const char *gst_opus_channel_names[];
 
 G_END_DECLS
 
index cc1bdb2..ee18860 100644 (file)
@@ -294,6 +294,7 @@ gst_opus_dec_parse_header (GstOpusDec * dec, GstBuffer * buf)
       dec->sample_rate);
 
   if (pos) {
+    GST_DEBUG_OBJECT (dec, "Setting channel positions on caps");
     gst_audio_set_channel_positions (gst_caps_get_structure (caps, 0), pos);
   }
 
index 11ddcc1..a926bbd 100644 (file)
@@ -466,7 +466,8 @@ gst_opus_enc_setup_channel_mapping (GstOpusEnc * enc, const GstAudioInfo * info)
       GstAudioChannelPosition pos = GST_AUDIO_INFO_POSITION (info, n);
       int c;
 
-      GST_DEBUG_OBJECT (enc, "Channel %d has position %d", n, pos);
+      GST_DEBUG_OBJECT (enc, "Channel %d has position %d (%s)", n, pos,
+          gst_opus_channel_names[pos]);
       for (c = 0; c < enc->n_channels; ++c) {
         if (gst_opus_channel_positions[enc->n_channels - 1][c] == pos) {
           GST_DEBUG_OBJECT (enc, "Found in Vorbis mapping as channel %d", c);
@@ -476,12 +477,13 @@ gst_opus_enc_setup_channel_mapping (GstOpusEnc * enc, const GstAudioInfo * info)
       if (c == enc->n_channels) {
         /* We did not find that position, so use undefined */
         GST_WARNING_OBJECT (enc,
-            "Position %d not found in Vorbis mapping, using unknown mapping",
-            pos);
+            "Position %d (%s) not found in Vorbis mapping, using unknown mapping",
+            pos, gst_opus_channel_positions[pos]);
         enc->channel_mapping_family = 255;
         return;
       }
-      GST_DEBUG_OBJECT (enc, "Mapping output channel %d to %d", c, n);
+      GST_DEBUG_OBJECT (enc, "Mapping output channel %d to %d (%s)", c, n,
+          gst_opus_channel_names[pos]);
       enc->channel_mapping[c] = n;
     }
     GST_INFO_OBJECT (enc, "Permutation found, using Vorbis mapping");