Synchronous Audio Playback on Multiple RTSP Clients

Endejan, Edward Edward.Endejan at dmh-global.com
Fri Jun 22 14:36:02 PDT 2012


Hi,

This is a repost/clarification of a question I previously posed, and now with a more accurate subject line.

Does anyone have sample code they would be willing to share which acts as an RTSP client for synchronous playback to use with the example RTSP servers included with the rtsp-server project?

Synchronous audio playback whereby the audio packets are rendered at the timestamp associated with the buffers is a definite requirement for my use of GStreamer.

I have attempted to do this with a pipeline such as "rtspsrc ! gstrtpjitterbuffer ! rtpmpadepay ! mp3parse ! mad ! audiorate ! volume ! alsasink" with properties of alsasink such as sync=true, max-lateness=45000000, qos=true, slave-method=2 (none), and ts-offset=200000000. I have tried tweaks to these values and a few other of alsasink's properties, but to no avail.

My interpretation of the behavior I've seen is that alsasink only truly synchronizes the first buffer to the timestamp associated with that first buffer. From that point on it assumes that the DAC clock is the reference clock and ignores any of the remaining timestamps at least until a new segment is started. This is actually a function of gstbaseaudiosink from which alsasink is derived (through gstaudiosink).

Is my interpretation correct? If not, corrections/clarifications are welcome.

Can anyone offer suggestions of what else to try in order to achieve synchronous audio playback on multiple RTSP clients?

Regards,
Ed


More information about the gstreamer-devel mailing list