[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