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 537675 - rtp vorbis/theora payloader static caps don't specify delivery method
rtp vorbis/theora payloader static caps don't specify delivery method
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 0.10.9
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-06-10 20:27 UTC by Olivier Crête
Modified: 2008-06-13 09:40 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
specify delivery-method=inline in the static caps (907 bytes, patch)
2008-06-10 20:28 UTC, Olivier Crête
committed Details | Review
Make the setcaps and static caps reflect reality (4.91 KB, patch)
2008-06-13 00:59 UTC, Olivier Crête
committed Details | Review

Description Olivier Crête 2008-06-10 20:27:27 UTC
the rtp theora payloader only supports the "inline" delivery method, its caps should reflect that, I'm attaching a simple patch.
Comment 1 Olivier Crête 2008-06-10 20:28:16 UTC
Created attachment 112507 [details] [review]
specify delivery-method=inline in the static caps
Comment 2 Sebastian Dröge (slomo) 2008-06-11 08:56:21 UTC
Thanks, committed :)

2008-06-11  Sebastian Dröge  <slomo@circular-chaos.org>

        Patch by: Olivier Crete <tester at tester dot ca>

        * gst/rtp/gstrtptheorapay.c:
        The Theora RTP payloader only supports the "inline" delievery method
        so let's declare this on the caps of the static pad template.
        Fixes bug #537675.
Comment 3 Olivier Crête 2008-06-13 00:15:00 UTC
Evil bug reuse.. the same patch should be applied to the vorbis payloader too.. 

Btw, the vorbis pay/depay don't match the spec (on xiph.org) because the spec does not specify that a delivery method must be specified but says that "configuration" should always be there..
Comment 4 Olivier Crête 2008-06-13 00:59:08 UTC
Created attachment 112650 [details] [review]
Make the setcaps and static caps reflect reality

After a bit more reading.. it seems that both the vorbis and theora depayloaders actually also only work with delivery-method="inline" (ie it doesn't work with any other delivery-method..
Also, the current vorbis RTP payloading draft (on xiph.org) does not talk about delivery-method at all, so it should work only "configuration"..
I'm attaching a patch that fixes both.

Also, the SDP can include mode than one delivery method.. which is hard to reflect in fixed caps.. so maybe it should just ignore it in the caps.. check if there is a "configuration" or otherwise assume in-band (and lobby to have out-band dropped, because it seems a really stupid idea).
Comment 5 Wim Taymans 2008-06-13 09:39:42 UTC
Not quite right, for theoradepay, we have a mandatory deliver-method property but we cannot enforce it in caps because it contains ANY strings so we can't add it. Since we accidentally only support inline, we add only this delivery-method to the caps.

For vorbis, the property is optional, so it must not be added to the caps. I removed the check in the setcaps function to make the delivery-method mandatory.

I reversed strcmp checks, too.

        Patch by: Olivier Crete <tester at tester dot ca>

        * gst/rtp/gstrtptheoradepay.c: (gst_rtp_theora_depay_setcaps):
        Make the delivery-method mandatory on the caps and only accept inline
        for now.
        Reverse strcmp checks for delivery-method.

        * gst/rtp/gstrtpvorbisdepay.c: (gst_rtp_vorbis_depay_setcaps):
        Make delivery method optional when parsing caps and note this in the
        caps.
        Reverse strcmp checks for delivery-method.

        * gst/rtp/gstrtpvorbispay.c:
        Update a comment to note that the delivery-method is optional,
        Fixes #537675.