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 725361 - [regression] rtpsession: setting the "internal-ssrc" property does nothing
[regression] rtpsession: setting the "internal-ssrc" property does nothing
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.2.4
Other Linux
: Normal normal
: 1.3.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-02-28 00:57 UTC by Olivier Crête
Modified: 2014-05-03 08:21 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
tests/check/libs/rtpbasepayload.c: Run gst-indent (40.47 KB, patch)
2014-05-02 23:19 UTC, Olivier Crête
committed Details | Review
rtpbasepayload: Implement reconfigure event & renegotiation without subclass (5.55 KB, patch)
2014-05-02 23:19 UTC, Olivier Crête
none Details | Review
rtpbasepayload: Implement reconfigure event & renegotiation without subclass (5.42 KB, patch)
2014-05-02 23:23 UTC, Olivier Crête
committed Details | Review

Description Olivier Crête 2014-02-28 00:57:55 UTC
We should probably remove revert Wim's rtpjitterbuffer changes from the 1.2 branch because right now it's a regression from 1.0 or 0.10.

Also, in master, we need to push up a reconfigure event when the application sets the property.
Comment 1 Wim Taymans 2014-04-18 08:06:12 UTC
Setting the internal-ssrc property makes the session suggest a different SSRC on the sinkpad caps. 

It's to somewhat provide backwards compatibility with payloaders that use capsnego to get an SSRC. It's also from a time where the session manager would modify the SSRC on each packet if it was incorrect.

I would like to make it so that only the payloaders create the SSRC (they can do that now) and let the session manager deal with any SSRC that it gets. This is needed if you need to handle multiple senders in a session. 

I would like to make the SSRC property on the session deprecated. Changing the internal-ssrc on the session while streaming was not a good idea in 0.10 or 1.0 anyway, it would modify each buffer. 

I will make a reconfigure event on internal-ssrc change to make it work somewhat like before.
Comment 2 Olivier Crête 2014-04-18 18:34:14 UTC
Are you suggesting that instead we should fish out every payloader and set the ssrc property there ? That still won't work with the current code as this only has an effect on the next state change as this is the only time this property is read. The only way to currently change the SSRC while playing is the GstRTPCollision event.
Comment 3 Olivier Crête 2014-05-02 23:19:15 UTC
Created attachment 275720 [details] [review]
tests/check/libs/rtpbasepayload.c: Run gst-indent

That file was no good!
Comment 4 Olivier Crête 2014-05-02 23:19:58 UTC
Created attachment 275721 [details] [review]
rtpbasepayload: Implement reconfigure event & renegotiation without subclass

Implement the reconfigure event, also do correct downstream caps negotiation
if the subclass doesn't implementy set_caps.

I think this is the last bit required to close this bug. Also, the downstream negotiation never happened
if the subclass didn't implement a setcaps function, so also fixed that.
Comment 5 Olivier Crête 2014-05-02 23:23:35 UTC
Created attachment 275722 [details] [review]
rtpbasepayload: Implement reconfigure event & renegotiation without subclass

Ooops, had left some debug g_assert().
Comment 6 Sebastian Dröge (slomo) 2014-05-03 08:21:21 UTC
commit bdf8ce286d6f0be3a36b0ddff0f91783d4be2226
Author: Olivier Crête <olivier.crete@collabora.com>
Date:   Fri May 2 19:09:59 2014 -0400

    rtpbasepayload: Implement reconfigure event & renegotiation without subclass
    
    Implement the reconfigure event, also do correct downstream caps negotiation
    if the subclass doesn't implementy set_caps.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=725361

commit 42e3e22969b4a49fe056c3555032d56c3e15c3e0
Author: Olivier Crête <olivier.crete@collabora.com>
Date:   Fri May 2 19:09:44 2014 -0400

    tests/check/libs/rtpbasepayload.c: Run gst-indent
    
    https://bugzilla.gnome.org/show_bug.cgi?id=725361