osxaudiosrc: if max_channels == min_channels, use an int instead of an int range...
authorTim-Philipp Müller <tim.muller@collabora.co.uk>
Sun, 9 Aug 2009 12:58:07 +0000 (13:58 +0100)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Sun, 9 Aug 2009 12:58:07 +0000 (13:58 +0100)
sys/osxaudio/gstosxaudiosrc.c

index 9acf440..9df46dc 100644 (file)
@@ -223,7 +223,6 @@ gst_osx_audio_src_get_caps (GstBaseSrc * src)
   GstOsxAudioSrc *osxsrc;
   GstPadTemplate *pad_template;
   GstCaps *caps;
-  GstStructure *structure;
   gint min, max;
 
   gstelement_class = GST_ELEMENT_GET_CLASS (src);
@@ -247,8 +246,12 @@ gst_osx_audio_src_get_caps (GstBaseSrc * src)
 
   caps = gst_caps_copy (gst_pad_template_get_caps (pad_template));
 
-  structure = gst_caps_get_structure (caps, 0);
-  gst_structure_set (structure, "channels", GST_TYPE_INT_RANGE, min, max, NULL);
+  if (min == max) {
+    gst_caps_set_simple (caps, "channels", G_TYPE_INT, max, NULL);
+  } else {
+    gst_caps_set_simple (caps, "channels", GST_TYPE_INT_RANGE, min, max,
+        NULL);
+  }
 
   return caps;
 }