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 787297 - sbcdepay: Add property to ignore input timestamps
sbcdepay: Add property to ignore input timestamps
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
unspecified
Other All
: Normal normal
: 1.13.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on: 787560
Blocks:
 
 
Reported: 2017-09-05 08:43 UTC by Sebastian Dröge (slomo)
Modified: 2017-09-28 11:16 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
sbcdepay: Add property to ignore input timestamps (6.92 KB, patch)
2017-09-05 08:43 UTC, Sebastian Dröge (slomo)
none Details | Review
sbcdepay: Add property to ignore input timestamps (7.86 KB, patch)
2017-09-13 13:48 UTC, Sebastian Dröge (slomo)
committed Details | Review

Description Sebastian Dröge (slomo) 2017-09-05 08:43:24 UTC
See commit message for rationale
Comment 1 Sebastian Dröge (slomo) 2017-09-05 08:43:30 UTC
Created attachment 359169 [details] [review]
sbcdepay: Add property to ignore input timestamps

This then just counts samples and calculates the output timestamps based
on that and the very first observed timestamp.

When receiving data via Bluetooth, many devices put completely wrong
values into the RTP timestamp field. For example iOS seems to put a
timestamp in milliseconds in there, instead of something based on the
current sample offset (RTP clock-rate == sample rate).
Comment 2 Tim-Philipp Müller 2017-09-05 13:22:32 UTC
Like a reverse "perfect-rtptime" of the audio payloader base class? :)
Comment 3 Sebastian Dröge (slomo) 2017-09-13 13:48:25 UTC
Created attachment 359726 [details] [review]
sbcdepay: Add property to ignore input timestamps

This then just counts samples and calculates the output timestamps based
on that and the very first observed timestamp. The timestamps on the
buffers are continued to be used to detect discontinuities that are too
big and reset the counter at that point.

When receiving data via Bluetooth, many devices put completely wrong
values into the RTP timestamp field. For example iOS seems to put a
timestamp in milliseconds in there, instead of something based on the
current sample offset (RTP clock-rate == sample rate).
Comment 4 Sebastian Dröge (slomo) 2017-09-26 08:25:56 UTC
Any opinions on this otherwise?
Comment 5 Nicolas Dufresne (ndufresne) 2017-09-26 11:11:57 UTC
I have nothing against, but was thinking we are not the first to have to deal with that. Have you research what PulseAudio would do to survive this ?
Comment 6 Sebastian Dröge (slomo) 2017-09-26 11:23:48 UTC
Arun told me that they completely ignore RTP timestamps for Bluetooth.
Comment 7 Nicolas Dufresne (ndufresne) 2017-09-26 12:42:20 UTC
Noted, thanks. Feel free to go ahead.
Comment 8 Sebastian Dröge (slomo) 2017-09-28 11:15:36 UTC
Attachment 359726 [details] pushed as 58f0eab - sbcdepay: Add property to ignore input timestamps