[Bug 725167] opusdec PLC doesn't seem to work as well as Chrome

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Mar 12 04:04:58 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=725167
  GStreamer | gst-plugins-bad | 1.2.1

--- Comment #8 from tcdgreenwood at hotmail.com 2014-03-12 11:28:26 UTC ---
It seems to me that rtpbin sets the DTS to the receive time with some
adjustment, but then calculates the PTS.  I've traced through the code and the
packet loss events and they are created with the expected receive time - which
is similar to DTS.  Also the code has a comment that states:

gstrtpjitterbuffer.c
/* take the DTS of the buffer. This is the time when the packet was
   * received and is used to calculate jitter and clock skew. We will adjust
   * this DTS with the smoothed value after processing it in the
   * jitterbuffer and assign it as the PTS. */

It seems to me that the main thing that doesn't end up in DTS is the clock-skew
calculations.

In the rtpjitterbuffer.c  the PTS is set:
/* do skew calculation by measuring the difference between rtptime and the
   * receive dts, this function will return the skew corrected rtptime. */
  item->pts = calculate_skew (jbuf, rtptime, dts);

I cannot see any code in that would set DTS to PTS after this unless DTS isn't
set (which it is almost always for my use case).  If as you assert DTS==PTS
then perhaps when we push the buffer DTS should be unset or set to PTS.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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