GNOME Bugzilla – Bug 620591
rtpceltpay doesn't handle stereo celt audio
Last modified: 2010-06-05 08:07:52 UTC
In comparing these two pipelines, we'd expect the sinkcaps on fakesink to have channels=2 (or encoding-params=2 in the payloader case): GST_DEBUG=2 gst-launch -v audiotestsrc ! audio/x-raw-int, channels=2 ! audioconvert ! celtenc ! fakesink silent=true GST_DEBUG=2 gst-launch -v audiotestsrc ! audio/x-raw-int, channels=2 ! audioconvert ! celtenc ! rtpceltpay ! fakesink silent=true Here are the caps for the first pipeline: /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = audio/x-celt, rate=(int)44100, channels=(int)2, frame-size=(int)480, streamheader=(buffer)< 43454c54202020206578706572696d656e74616c20202020202020200b0000803800000044ac000002000000e001000078000000ffffffff00000000403e4309584e62b7a4b9de0068ba4109403e43092d1d7b00384e62b7272f1f00e040310919431f00, 1e000000456e636f6465642077697468204753747265616d65722043656c74656e63010000001a0000004445534352495054494f4e3d617564696f74657374207761766501 > Here are the caps for the second pipeline: /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = application/x-rtp, media=(string)audio, clock-rate=(int)44100, encoding-name=(string)CELT, encoding-params=(string)1, frame-size=(string)480, payload=(int)96, ssrc=(guint)3538497350, clock-base=(guint)1157580978, seqnum-base=(guint)3841 Notice that encoding-params=1, when it should equal 2
Created attachment 162767 [details] [review] Fixes getcaps function Don't fixate caps until encoding-params field is on the srcpad's caps.
*fixate caps = *fixate channels
commit 8e0adba996d81b469078eeeefeeecfb772439743 Author: Tristan Matthews <tristan@sat.qc.ca> Date: Fri Jun 4 14:54:59 2010 -0400 gstrtpceltpay: don't always fixate sink caps to 1 channel The getcaps function should not fixate the channels field until we get the encoding-params field from our srcpad's caps. Fixes #620591