[Spice-devel] mm-time handling is broken

Francois Gouget fgouget at codeweavers.com
Mon Feb 22 14:49:04 UTC 2016


spice-gtk updates the mm-time based on the audio playback channel and 
then uses it to compute the video delay of the video streams if any.

More precisely whenever spice_playback_channel_set_delay() is called it 
takes the mm-time of the last audio packet it received, and substracts 
the delay from it to it to compute the new mm-time.

There are two issues:
1) First if a video plays with no sound, e.g. 'mplayer -nosound', then 
   the playback only receives a single SpiceMsgPlaybackStart packet 
   when the client connects. This means any call to 
   spice_playback_channel_set_delay() will reset the mm-time to a 
   constant value.

2) Second, for an as yet unknown reason, if you start playing a video, 
   disconnect the client without stopping the video, and reconnect 
   the client, the audio stream does not seem to resume as expected, 
   resulting, again, in a constant mm-time.

In both cases the video delay quickly gets over the 5 second limit which 
freezes the video.

Issue 2 can probably be fixed within the current framework but issue 1 
points to a much larger issue. Any ideas?

-- 
Francois Gouget <fgouget at codeweavers.com>


More information about the Spice-devel mailing list