[Bug 691481] avidemux: a/v sync off on sample video when activated in push mode

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sun Feb 17 09:28:46 PST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=691481
  GStreamer | gst-plugins-good | 1.x

--- Comment #14 from Mark Nauwelaerts <mnauw at users.sourceforge.net> 2013-02-17 17:28:40 UTC ---
Created an attachment (id=236468)
 View: https://bugzilla.gnome.org/attachment.cgi?id=236468
 Review: https://bugzilla.gnome.org/review?bug=691481&attachment=236468

baseparse: more inter-timestamp tracking

Given that receiving a segment event sets priv->prev_dts/_pts to _NONE, this
patch should have the PTS picked up from the DTS of incoming buffers if no
valid PTS has been seen on the latter.

If I read things right, this should fix the case described and is along the
lines of what is suggested in Comment #12.

It could also simply be said here that matroskademux is wrong or incomplete in
that it apparently still simply/only sets _TIMESTAMP rather than anything
_DTS/_PTS, and the same might be so for quite some demuxers / baseparse
upstream elements out there.

As such, the more general problem in baseparse is what to do with 2
sort-of-independent timelines (PTS/DTS) which may or may not be provided in all
sorts of (in)valid combinations on the input.

This patch turns interpolate_pts almost into a "equalize_ts" option, and it
might make sense to have such baseparse option (and use that in the 'if' of
this patch).  That would probably (?) have all audio cases deal with (legacy)
upstream input (equalizing pts / dts, ok for audio typically). OTOH, that would
probably not go well for the video cases, which would have to run without that
option enabled.  No idea though how to handle all sorts of incomplete input in
that case then ...  Best there is to make sure that demuxers always at least
set _DTS in stead of _TIMESTAMP, since that is likely the known ts as they
provide data in decoding order.

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