Hello,
We are having some issues with playbacks in our integration project.
For starting a playback we are doing the following:
_if (this.plabacklspeed != 0.0) // <- this equal 1.0 when coming from live_
_{_
_EnvironmentManager.Instance.SendMessage(new VideoOS.Platform.Messaging.Message(_
_MessageId.SmartClient.PlaybackCommand,_
_new PlaybackCommandData() { Command = PlaybackData.PlayStop }), this.\_playbackControllerFQID);_
_this.plabacklspeed = 0.0;_
_}_
_Thread.Sleep(500);_
----------
_if (this.mode2InLive) // <- the first time this is true_
_{_
_Logger.Debug("Switch to PlayBack mode, \_playbackControllerFQID={0}", \_playbackControllerFQID);_
_EnvironmentManager.Instance.SendMessage(new VideoOS.Platform.Messaging.Message(_
_MessageId.System.ModeChangeCommand, Mode.ClientPlayback),_
_\_playbackControllerFQID);_
_PlaybackSkipModeData mode = PlaybackSkipModeData.StopAtSequenceEnd;_
_EnvironmentManager.Instance.SendMessage(new VideoOS.Platform.Messaging.Message(_
_MessageId.SmartClient.PlaybackSkipModeCommand, mode),_
_\_playbackControllerFQID);_
_this.mode2InLive = false;_
_}_
_Thread.Sleep(500);_
_DateTime gotoTime = startPlayFrom.ToUniversalTime(); // startPlayFrom - parameter_
_EnvironmentManager.Instance.SendMessage(new VideoOS.Platform.Messaging.Message(_
_MessageId.SmartClient.PlaybackCommand,_
_new PlaybackCommandData() { Command = PlaybackData.Goto, DateTime = gotoTime }),_
_\_playbackControllerFQID);_
_Thread.Sleep(500);_
_if (this.plabacklspeed == 0) this.plabacklspeed = 1.0;_
_EnvironmentManager.Instance.SendMessage(new VideoOS.Platform.Messaging.Message(_
_MessageId.SmartClient.PlaybackCommand,_
_new PlaybackCommandData() { Command = PlaybackData.PlayForward Speed = this.plabacklspeed }),_
_\_playbackControllerFQID);_
…
The first playback after live mode is playing ok.
The problem arises when the user tries to play a differnt playback from different time.
Then we are using the same process as before with these values : playbackspeed=1, mode2live=false
The GoTo function works fine, but the video doens’t play. it is frozen on the first frame.
What is weird, though, is when clicking pause
_EnvironmentManager.Instance.SendMessage(new VideoOS.Platform.Messaging.Message(_
_MessageId.SmartClient.PlaybackCommand,_
_new PlaybackCommandData() { Command = PlaybackData.PlayStop, Speed = this.plabacklspeed }),_
_\_playbackControllerFQID);_
and then forward again the video starts to play.
_// this.plabacklspeed = 1.0_
_EnvironmentManager.Instance.SendMessage(new VideoOS.Platform.Messaging.Message(_
_MessageId.SmartClient.PlaybackCommand,_
_new PlaybackCommandData() { Command = PlaybackData.PlayForward, Speed = this.plabacklspeed }),_
_\_playbackControllerFQID);_
Trying to put those commands in the previous action didn’t work.
the problem seems to be related to threads.
We’ll appreciate any help,
thank you,
roni