Changing netclientclock sources and rtpbin
Carlos Rafael Giani
dv at pseudoterminal.org
Mon Jun 24 07:21:47 PDT 2013
Hello,
if I understand this correctly, setting a new clock during playback
causes the pipeline to calculate a new base time to ensure the running
time continues smoothly, right?
From what I understand, if I replace an existing pipeline clock with a
new one, the pipeline modifies the base-time so that the running-time
continues smoothly, no matter how far apart the clocks are.
But now I have this case: I have an application which can either
playback local stuff or receive and play some audio RTP stream. In the
first mode, it just uses the audio sink as the clock source. In the
second mode, it uses a netclientclock (the sender is running a
nettimeprovider). This netclientclock, together with the RTCP packets
the rtpbin receifves, makes sure the receiver's playback is synchronized
to the sender's. Initially, the receiver doesn't receive anything, it
just plays something locally. Then I manually switch to the sender's
RTP/RTCP streams. The netclientclock is set to be the one driving the
pipeline. The pipeline modifies the base-time. Will this break
synchronization with the sender? I mean, the running-time in sender and
receiver would not be the same, right?
Of course, a simple solution is to just destroy and recreate the
pipeline when switching between these modes. Is this the recommended
option, or can it be done better?
cheers
More information about the gstreamer-devel
mailing list