[Bug 708362] New: new slave-method for custom clock slaving algorithms

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Sep 19 04:51:47 PDT 2013


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

           Summary: new slave-method for custom clock slaving algorithms
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: dv at pseudoterminal.org
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=255295)
 View: https://bugzilla.gnome.org/attachment.cgi?id=255295
 Review: https://bugzilla.gnome.org/review?bug=708362&attachment=255295

Patch for custom clock slaving

The current audio sink slave methods do not offer a way to use available
features for clock slaving, like adjustable PLLs, or external asynchronous
resamplers. 

This patch introduces a new slave method, GST_AUDIO_BASE_SINK_SLAVE_CUSTOM. It
delivers adjusted external and internal timestamps and discontinuity
information to a user-defined callback. The callback can then do whatever it
wants with this information, like controlling the aforementioned PLLs. The
difference between external and internal timestamps is the clock skew, which
the custom method can use as input value for its internal control loop.
The callback can also request the audiobasesink to skew the playout pointer by
a defined number of nanoseconds. This is useful for large skews, which are
difficult to overcome otherwise. For example, using asynchronous resampling
only would require either drastic resampling, resulting in audible artifacts,
or it would resample slightly, and it would take a long time for the skew to go
away.
Discontinuities are reported to give the control loop the chance to clear
internal accumulators/integrators.

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