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

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Mar 10 03:39:14 PDT 2014


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

--- Comment #6 from tcdgreenwood at hotmail.com 2014-03-10 11:02:26 UTC ---
That's helpful as it confirms what I was thinking.  Currently the
GstRTPPacketLost event raised in gstrtpjitterbuffer.c takes the timestamp from
a timer that I think is always created using expected DTS when the packet would
be received.  As far as I can tell the events only contain one timestamp value
so there is no PTS available for the packet lost case.  In the opus depayloader
the code creates the gap event using this timestamp so it's filling in the
timestamp of the gap event with a DTS value.

I can see 2 different ways this could be fixed:
 - Supplying PTS in the packet loss and gap events
 - Attempting to calculate the PTS for the packet within the audio decoder so
the audio to cover the gap starts straight after the last decoded sample from
the last packet.

Does that make sense or is there a better way to fix this?

I think that fixing the opus decoder to match the API is a good idea as well -
which I have hacked something for but it's not good at the moment :(

(In reply to comment #5)
> RTP doesn't carry DTS information, so the DTS is meaningless. rtpjitterbuffer
> should probably set it to the PTS or just set it to GST_CLOCK_TIME_NONE

-- 
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