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 795162 - Various patches on rtpmux
Various patches on rtpmux
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 1.15.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 762213 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2018-04-11 14:39 UTC by Håvard Graff (hgr)
Modified: 2018-10-10 19:41 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
rtpmux: property should overrule both upstream and downstream (7.38 KB, patch)
2018-04-11 14:39 UTC, Håvard Graff (hgr)
committed Details | Review
rtpmux: protect against NULL caps (784 bytes, patch)
2018-04-11 14:40 UTC, Håvard Graff (hgr)
committed Details | Review
rtpmux: cleanup ssrc-handling code a bit (7.00 KB, patch)
2018-04-11 14:40 UTC, Håvard Graff (hgr)
committed Details | Review
rtpmux: respect downstream "timestamp-offset" in caps. (4.41 KB, patch)
2018-04-11 14:41 UTC, Håvard Graff (hgr)
committed Details | Review

Description Håvard Graff (hgr) 2018-04-11 14:39:55 UTC
Created attachment 370803 [details] [review]
rtpmux: property should overrule both upstream and downstream

https://bugzilla.gnome.org/show_bug.cgi?id=762213
Comment 1 Håvard Graff (hgr) 2018-04-11 14:40:32 UTC
Created attachment 370804 [details] [review]
rtpmux: protect against NULL caps

    Due to state-changes deactivating the pad from another thread,
    this can happen.
Comment 2 Håvard Graff (hgr) 2018-04-11 14:40:59 UTC
Created attachment 370805 [details] [review]
rtpmux: cleanup ssrc-handling code a bit

And add some better logging.
Comment 3 Håvard Graff (hgr) 2018-04-11 14:41:28 UTC
Created attachment 370806 [details] [review]
rtpmux: respect downstream "timestamp-offset" in caps.
Comment 4 Olivier Crête 2018-04-17 15:58:47 UTC
Review of attachment 370803 [details] [review]:

I think overruling downstream make break the ssrc change on collision detection, or did we have a custom event for this?
Comment 5 Olivier Crête 2018-04-17 15:59:17 UTC
Review of attachment 370804 [details] [review]:

Looks good, you don't happen to have a clever test for this?
Comment 6 Olivier Crête 2018-04-17 15:59:55 UTC
Review of attachment 370803 [details] [review]:

Oh yes, we have an event, so this looks ok
Comment 7 Olivier Crête 2018-04-17 16:02:31 UTC
Review of attachment 370805 [details] [review]:

That sounds like a lot of INFO instead of DEBUG?

::: gst/rtpmanager/gstrtpmux.c
@@ +231,2 @@
           new_ssrc = rtp_mux->current_ssrc;
+          GST_INFO_OBJECT (rtp_mux, "Chose new ssrc %x", new_ssrc);

Maybe "New ssrc chosen after collision: %x"

@@ +878,3 @@
       rtp_mux->current_ssrc = rtp_mux->ssrc;
       rtp_mux->have_ssrc = TRUE;
+      GST_INFO_OBJECT (rtp_mux, "ssrc set to %x", rtp_mux->ssrc);

Maybe add that this is a property "SSRC property set to %x" ?
Comment 8 Olivier Crête 2018-04-17 16:03:12 UTC
Review of attachment 370806 [details] [review]:

::: gst/rtpmanager/gstrtpmux.c
@@ +626,3 @@
+      if (gst_structure_get_uint (structure,
+          "timestamp-offset", &rtp_mux->ts_base)) {
+        GST_INFO_OBJECT (pad, "Use downstream timestamp-offset: %u",

Sounds like a GST_DEBUG_OBJECT to me
Comment 9 Håvard Graff (hgr) 2018-09-17 11:30:47 UTC
Ping?
Comment 10 Håvard Graff (hgr) 2018-09-17 11:36:31 UTC
*** Bug 762213 has been marked as a duplicate of this bug. ***
Comment 11 Olivier Crête 2018-10-10 18:51:23 UTC
@hgr Any chance you have a unit test for this ? and maybe should downgrade some of the GST_INFO to debug.
Comment 12 Håvard Graff (hgr) 2018-10-10 18:58:48 UTC
(In reply to Olivier Crête from comment #11)
> @hgr Any chance you have a unit test for this ? and maybe should downgrade
> some of the GST_INFO to debug.

You mean in addition to the 5 tests in this patch-set? ;)

As for INFO vs. DEBUG, I find that I want to have an "overview" on the internal functionality of an element when using INFO, and DEBUG is more for digging in. I just saw setting of SSRC as such a central component to what this element does, so I wanted to keep them high up. They are also not per-buffer so it should not be spammy.
Comment 13 Olivier Crête 2018-10-10 19:40:49 UTC
Oh I was looking in the wrong patch.. I merged it as-is with a couple improvements to the debug logs (to make the fact that ssrc change is due to a collision