gstrtpceltpay: don't always fixate sink caps to 1 channel
authorTristan Matthews <tristan@sat.qc.ca>
Fri, 4 Jun 2010 18:54:59 +0000 (14:54 -0400)
committerWim Taymans <wim.taymans@collabora.co.uk>
Sat, 5 Jun 2010 08:02:35 +0000 (10:02 +0200)
The getcaps function should not fixate the channels field until we
get the encoding-params field from our srcpad's caps. Fixes #620591

gst/rtp/gstrtpceltpay.c

index 74fa9a9e04f2c38907b206da5969155160140d5c..7524a27b0005d0c2e766deaca56fff6d62ee6039 100644 (file)
@@ -186,9 +186,10 @@ gst_rtp_celt_pay_getcaps (GstBaseRTPPayload * payload, GstPad * pad)
       if (frame_size)
         gst_structure_set (s, "frame-size", G_TYPE_INT, frame_size, NULL);
 
-      if ((params = gst_structure_get_string (ps, "encoding-params")))
+      if ((params = gst_structure_get_string (ps, "encoding-params"))) {
         channels = atoi (params);
-      gst_structure_fixate_field_nearest_int (s, "channels", channels);
+        gst_structure_fixate_field_nearest_int (s, "channels", channels);
+      }
 
       GST_DEBUG_OBJECT (payload, "clock-rate=%d frame-size=%d channels=%d",
           clock_rate, frame_size, channels);