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 785777 - rtpsession: Also cache RTX stream caps and send caps
rtpsession: Also cache RTX stream caps and send caps
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
unspecified
Other All
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-08-03 15:05 UTC by Sebastian Dröge (slomo)
Modified: 2018-11-03 15:21 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
rtpsession: Also cache RTX stream caps and send caps (2.15 KB, patch)
2017-08-03 15:05 UTC, Sebastian Dröge (slomo)
none Details | Review
rtpsession: Also cache RTX stream caps and send caps (2.13 KB, patch)
2017-08-07 06:05 UTC, Sebastian Dröge (slomo)
none Details | Review

Description Sebastian Dröge (slomo) 2017-08-03 15:05:49 UTC
See commit message
Comment 1 Sebastian Dröge (slomo) 2017-08-03 15:05:53 UTC
Created attachment 356860 [details] [review]
rtpsession: Also cache RTX stream caps and send caps

The RTX stream can time-out after a while, causing the internal source
to be destroyed and then it forgets clock-rate and everything. By
caching the RTX stream caps, we make sure that we can always get all the
required info again later if RTX is needed again.
Comment 2 Sebastian Dröge (slomo) 2017-08-03 15:07:13 UTC
I'm not sure if it's a good idea to store send and receive caps in the same pt map, but that's how it implicitly was before already: the signals/callbacks to request clock-rate and other things did not distinguish between send and receive and were emitted for both.
Comment 3 Olivier Crête 2017-08-04 22:19:10 UTC
Review of attachment 356860 [details] [review]:

Also if we wanted to support H.323, we'd need different send and receive codecs.

I'm also not super happy with the RTX specific code in rtpsession, but I can survive.

::: gst/rtpmanager/gstrtpsession.c
@@ +1540,1 @@
+  if (rtx_payload != -1 && rtx_payload != -1

"rtx_payload != -1 && rtx_payload != -1" .. you seem to have one too many ?
Comment 4 Sebastian Dröge (slomo) 2017-08-05 21:54:34 UTC
Indeed, will update later :) Thanks


For send!=receive codec, this only works coincidentally currently (the PT map was previously already used for both send and receive). If we want to support that, we have to do it properly and untangle some things.

For having RTX specific things in there, it should probably be rather some kind of "related streams" than RTX. But you somehow need a way to be able to know these details for each of the two streams (normal and RTX stream).
Comment 5 Sebastian Dröge (slomo) 2017-08-07 06:05:26 UTC
Created attachment 357085 [details] [review]
rtpsession: Also cache RTX stream caps and send caps

The RTX stream can time-out after a while, causing the internal source
to be destroyed and then it forgets clock-rate and everything. By
caching the RTX stream caps, we make sure that we can always get all the
required info again later if RTX is needed again.
Comment 6 GStreamer system administrator 2018-11-03 15:21:12 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/393.