[MPlayer-users] UDP -udp-slave video sync
rob at goto10.org
rob at goto10.org
Wed Jun 8 15:40:57 CEST 2011
On Tue, 7 Jun 2011 18:29:12 -0700, Jason Holt wrote:
> On Tue, Jun 7, 2011 at 3:16 PM, wrote:
>
>> On Mon, 06 Jun 2011 14:29:12 -0400, Morris Beverly wrote:
>>
>>> mplayer -udp-slave myvid.mkv
>>>
>>>> then mplayer should apparently freeze on a frame and wait for
>>>> messages from a master instance - for me this does not happen
>>>> - it just plays as normal... i get no error messges about
>>> -udp-*
>>>> even with a -v
>
> ...
>
>> i cc in jholt who i think is the author of the patch - and sorry in
>> advance if i am missing something obvious
>
> This does indeed appear to be broken. It kinda works if I start
> the master first, but not very well.
>
> If I start it without a master present, it renders frames as fast as
> it possibly can, because udp_slave_sync() returns immediately,
> causing
> sleep_until_update() to return immediately.
>
> Then, during "normal" playback, once the slave gets synced up with
> the master and should be playing in lock step, the
> udp_master_position
> ends up == MP_NOPTS_VALUE for about 10 invocations due to the
> nonblocking get_udp trying to tell it that there aren't any messages
> yet. So udp_slave_sync returns immediately, and mplayer plays frames
> as fast as it can once again. When a datagram finally comes in, the
> slave is way ahead of the master, so it blocks until the master
> catches up, then runs ahead again.
>
> The attached patch makes the slave block if the master isn't up yet,
> which was the original behavior, and which I think is better than
> having it play normally in most instances. (If you gave -udp-sync,
> you probably want it to wait.) And it makes udp_master_position
> static, so that it's only set to MP_NOPTS_VALUE on startup and after
> blocking get_udp calls.
ok great thank you! - i applied the patch and now it works as expected
- the only thing i have noticed is that the audio and video go out of
sync on the slave instance - its as if the udp packets tell the video
which frame it should be playing but the audio doesnt jump to keep up
i tried passing mplayer some flags to try and fix it -mc 1 -autosync 1
etc but none made any difference
any clue how this could be fixed so the audio and video stay in sync on
the slave instances?
(i know if i were doing a video wall then you could just use the audio
from one source - but this is not what i am doing)
thanks for the quick reply and patch fix!
rob
More information about the MPlayer-users
mailing list