[Bug 797124] New: [soundtouch] pitch breaks RTP send/recv audio packet rate

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Sep 11 17:40:26 UTC 2018


https://bugzilla.gnome.org/show_bug.cgi?id=797124

            Bug ID: 797124
           Summary: [soundtouch] pitch breaks RTP send/recv audio packet
                    rate
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: oneorjuan at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 373605
  --> https://bugzilla.gnome.org/attachment.cgi?id=373605&action=edit
Good and bad audio recv rates (with scaletempo and pitch, respectively)

Using the pitch element for WebRTC streaming, I've found out that the packet
rate is affected enough to produce audible clicks and generally choppy sound on
the receiver.

By comparing a pipeline with the pitch plugin, and the same pipeline with any
other audio plugin for test purposes, it's evident that send packet rate, and
especially receive packet rate, are affected in the former but are pretty good
in the latter. Screenshots attached with graphs taken from Chrome's
"chrome://webrtc-internals/" page.

Audio codec in use is Opus, with a 48000 KHz sampling rate, and it's expected
to be sent/received at a rate of 50 packets per second. Interestingly, in the
Chrome stats one can see that the audio receive rate drops to exactly 46
packets per second, so there is probably some time constant in play there.

The audio cracks and quality drops can be heard constantly in either Chrome or
Firefox receiver browsers.

Sender test pipeline looks like this:
... -> (raw audio)
    -> audioconvert -> audioresample -> pitch ->
    -> audioconvert -> audioresample -> WebRTC output

I have cherry-picked and applied all commits that touched the file
'./ext/soundtouch/gstpitch.cc' into a custom built version of gst-plugins-bad
(based on GStreamer 1.8), but the issue persists so I don't think it's a matter
of trying the latest code (after a lot of time without changes, the pitch
filter received some patches in June 2018 so I wanted to test if those
helped...)

I can provide any needed info (Chrome's webrtc-internals dump file, where the
attached graphs are taken from; Chrome's diagnostic event and log captures,
Wireshark capture, etc.)

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list