gst/audioconvert/gstaudioconvert.c: We don't support 64 bit integer audio, so don...
authorMichael Smith <msmith@xiph.org>
Fri, 16 Mar 2007 16:42:23 +0000 (16:42 +0000)
committerMichael Smith <msmith@xiph.org>
Fri, 16 Mar 2007 16:42:23 +0000 (16:42 +0000)
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
(gst_audio_convert_transform_caps):
We don't support 64 bit integer audio, so don't try to claim we can.
Stops us producing caps don't match our template caps.
Update comments.

ChangeLog
gst/audioconvert/gstaudioconvert.c

index 24f7c16..7df33b4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-03-16  Michael Smith  <msmith@fluendo.com>
+
+       * gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
+       (gst_audio_convert_transform_caps):
+         We don't support 64 bit integer audio, so don't try to claim we can.
+         Stops us producing caps don't match our template caps.
+         Update comments.
+
 2007-03-15  Michael Smith  <msmith@fluendo.com>
 
        * gst/audioresample/gstaudioresample.c:
index b1b67a6..59ecfef 100644 (file)
@@ -413,6 +413,8 @@ make_lossless_changes (GstStructure * s, gboolean isfloat)
     gst_structure_set_value (s, "signed", &list);
     g_value_unset (&val);
     g_value_unset (&list);
+    /* We don't handle 64 bit integer audio, so we set the width here as well */
+    gst_structure_set (s, "width", G_TYPE_INT, 32, NULL);
   }
 
   return s;
@@ -522,10 +524,9 @@ gst_audio_convert_transform_caps (GstBaseTransform * base,
   /* Same, plus a float<->int conversion */
   append_with_other_format (ret, s, isfloat);
 
-  /* We'll reduce depth if we must... only for integer, since we can't do this
-   * for float. We reduce as low as 16 bits; reducing to less than this is
-   * even worse than dropping channels. We only do this if we haven't already
-   * done the equivalent above. */
+  /* We'll reduce depth if we must. We reduce as low as 16 bits (for integer); 
+   * reducing to less than this is even worse than dropping channels. We only 
+   * do this if we haven't already done the equivalent above. */
   if (!gst_structure_get_int (structure, "width", &width) || width > 16) {
     if (isfloat) {
       GstStructure *s2 = gst_structure_copy (s);
@@ -564,6 +565,8 @@ gst_audio_convert_transform_caps (GstBaseTransform * base,
   } else
     gst_caps_append_structure (ret, s);
 
+  GST_DEBUG_OBJECT (base, "Caps transformed to % " GST_PTR_FORMAT, ret);
+
   return ret;
 }