[Bug 652158] [baseparse] doesn't interpolate timestamps

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jun 9 01:05:04 PDT 2011


https://bugzilla.gnome.org/show_bug.cgi?id=652158
  GStreamer | gst-plugins-base | git

Mark Nauwelaerts <mnauw> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |mnauw at users.sourceforge.net
         Resolution|                            |NOTABUG

--- Comment #2 from Mark Nauwelaerts <mnauw at users.sourceforge.net> 2011-06-09 08:04:58 UTC ---
baseparse does interpolate timestamps based on frame duration [*]

Other than some coding style issues and the fact that priv->frame_duration need
not always be set (which is not considered here), the suggested interpolation
is a somewhat hack-ish one that may work for some cases (e.g. note that fsize
need not be constant), but not for all that baseparse has to cover.

In essence, any downstream element (be it baseparse based) sort-of has to trust
upstream timestamps and can only go so far in fiddling with those.
As such, timestamps would basically have to be fixed upstream.

In this particular case, lame(mp3) likely has a hard time in doing that
correctly in the first place since a.o.o encoder does not return whole frames
(iirc).  Inserting a helper element before the parser that invalidates
timestamps might/should help (as that then gives downstream parser a chance to
come up with its own ones).

[*] that is, if an incoming buffer holds several frames, each outgoing frame
will have different timestamps derived/interpolated by previous frame duration

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