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 747863 - rtpsession: Use bandwidth calculation by default instead of some arbitrary hardcoded value
rtpsession: Use bandwidth calculation by default instead of some arbitrary ha...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
unspecified
Other All
: Normal normal
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-04-14 16:44 UTC by Sebastian Dröge (slomo)
Modified: 2015-11-05 04:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
rtpsession: Use bandwidth calculation by default instead of some arbitrary hardcoded value (2.00 KB, patch)
2015-04-14 16:44 UTC, Sebastian Dröge (slomo)
none Details | Review
rtpsession: Bandwidth is supposed to be in bits/s, not bytes/s (974 bytes, patch)
2015-04-23 17:04 UTC, Sebastian Dröge (slomo)
committed Details | Review
rtpsession: Use bandwidth calculation by default instead of some arbitrary hardcoded value (1.66 KB, patch)
2015-04-23 17:04 UTC, Sebastian Dröge (slomo)
committed Details | Review
rtpstats: Use the same lower limit for RTCP bandwidth to stop sending RTCP everywhere (925 bytes, patch)
2015-04-23 17:04 UTC, Sebastian Dröge (slomo)
committed Details | Review
rtpstats: Average RTCP packet size is in bytes, bandwidths in bits (1.39 KB, patch)
2015-04-23 17:05 UTC, Sebastian Dröge (slomo)
committed Details | Review
rtpmanager: Document properties that are expressed in bits per second (3.03 KB, patch)
2015-11-04 13:33 UTC, Arun Raghavan
committed Details | Review

Description Sebastian Dröge (slomo) 2015-04-14 16:44:11 UTC
Just always using 64000 for the bandwidth by default does not make any sense at all.
Comment 1 Sebastian Dröge (slomo) 2015-04-14 16:44:15 UTC
Created attachment 301564 [details] [review]
rtpsession: Use bandwidth calculation by default instead of some arbitrary hardcoded value
Comment 2 Olivier Crête 2015-04-14 22:36:41 UTC
I think that would be an ABI break for gst 1.0, so we should target this to 2.0..

Also, anything based on an estimation of the current bandwidth is problematic if you are sending or receiving a sparse stream.
Comment 3 Sebastian Dröge (slomo) 2015-04-15 08:09:28 UTC
Yeah, for the RTX streams it's probably giving completely wrong results (well, it would go to 8000 probably because of being smaller than that usually). Good point.

But OTOH using a fixed and arbitrary 64000 is also not going to work very well.


Strictly speaking it's an ABI change, but it might be ok if it only improves things (which it might not because sparse streams).


What would you suggest to do here by default (if ABI breakage was not a problem)?
Comment 4 Sebastian Dröge (slomo) 2015-04-22 17:58:31 UTC
FWIW, I think even for sparse streams this is going to be better than the magic number we currently have ;)
Comment 5 Olivier Crête 2015-04-22 18:38:37 UTC
I'm not sure what the right answer is, maybe something automatic with a reasonable minimum, like 64kbps.
Comment 6 Sebastian Dröge (slomo) 2015-04-22 18:43:02 UTC
kbyte or kbit? I assume the latter, and that would make sense to me too.
Comment 7 Olivier Crête 2015-04-22 19:08:05 UTC
kbit, ie that of a 8000hz PCMA/PCMU stream.
Comment 8 Sebastian Dröge (slomo) 2015-04-23 17:04:40 UTC
Created attachment 302243 [details] [review]
rtpsession: Bandwidth is supposed to be in bits/s, not bytes/s
Comment 9 Sebastian Dröge (slomo) 2015-04-23 17:04:47 UTC
Created attachment 302244 [details] [review]
rtpsession: Use bandwidth calculation by default instead of some arbitrary hardcoded value
Comment 10 Sebastian Dröge (slomo) 2015-04-23 17:04:54 UTC
Created attachment 302245 [details] [review]
rtpstats: Use the same lower limit for RTCP bandwidth to stop sending RTCP everywhere
Comment 11 Sebastian Dröge (slomo) 2015-04-23 17:05:01 UTC
Created attachment 302246 [details] [review]
rtpstats: Average RTCP packet size is in bytes, bandwidths in bits

We need to convert the size to bits for our calculations.
Comment 12 Sebastian Dröge (slomo) 2015-04-23 17:05:54 UTC
These patches are doing that now, and at the same time fix up some bits vs bytes confusion. Seems to calculate the right things now.
Comment 13 Sebastian Dröge (slomo) 2015-04-27 14:47:54 UTC
commit 73c0c2920f9aca96982a4de0c20b3417aa148b81
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Thu Apr 23 18:57:37 2015 +0200

    rtpstats: Average RTCP packet size is in bytes, bandwidths in bits
    
    We need to convert the size to bits for our calculations.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=747863

commit 475b1e607e75f3ac18af4917b2e60b297f5e03ad
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Thu Apr 23 18:53:39 2015 +0200

    rtpstats: Use the same lower limit for RTCP bandwidth to stop sending RTCP everywhere
    
    https://bugzilla.gnome.org/show_bug.cgi?id=747863

commit 7596ed91b844057f57566c09727339dea99043f7
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Tue Apr 14 18:41:07 2015 +0200

    rtpsession: Use bandwidth calculation by default instead of some arbitrary hardcoded value
    
    https://bugzilla.gnome.org/show_bug.cgi?id=747863

commit 928cd110bcea5d143cab3ea747991851d52ecbad
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Thu Apr 23 18:49:37 2015 +0200

    rtpsession: Bandwidth is supposed to be in bits/s, not bytes/s
    
    https://bugzilla.gnome.org/show_bug.cgi?id=747863
Comment 14 Arun Raghavan 2015-11-04 13:33:19 UTC
Created attachment 314817 [details] [review]
rtpmanager: Document properties that are expressed in bits per second

This changed in 928cd110bcea5d143cab3ea747991851d52ecbad and
73c0c2920f9aca96982a4de0c20b3417aa148b81 but was not documented.
Comment 15 Arun Raghavan 2015-11-04 13:36:15 UTC
This one is a bit nasty, I admit, so maybe the correct thing to do is keep the bytes/s meaning on the property and do a conversion. However, since this is already in a release, I figure documenting things the way they are is more straightforward.
Comment 16 Arun Raghavan 2015-11-05 04:20:35 UTC
Comment on attachment 314817 [details] [review]
rtpmanager: Document properties that are expressed in bits per second

Attachment 314817 [details] pushed as 7e22ea5 - rtpmanager: Document properties that are expressed in bits per second