After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 620591 - rtpceltpay doesn't handle stereo celt audio
rtpceltpay doesn't handle stereo celt audio
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 0.10.24
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-06-04 18:58 UTC by Tristan Matthews
Modified: 2010-06-05 08:07 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Fixes getcaps function (1.25 KB, patch)
2010-06-04 19:00 UTC, Tristan Matthews
none Details | Review

Description Tristan Matthews 2010-06-04 18:58:30 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
Comment 1 Tristan Matthews 2010-06-04 19:00:06 UTC
Created attachment 162767 [details] [review]
Fixes getcaps function

Don't fixate caps until encoding-params field is on the srcpad's caps.
Comment 2 Tristan Matthews 2010-06-04 19:08:35 UTC
*fixate caps = *fixate channels
Comment 3 Wim Taymans 2010-06-05 08:07:52 UTC
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