Do not control the ImageViewerControl's PlaybackController and PlaybackUserControl

dear.

We are developing a product with MIPSDK (MIP-PlugIn).

(SDK Version is latest, download from nuget)

We have used MIPPlug-In to display live video and playback video using ImageViewerControl in the past, but there was no problem.

However, in the version we are currently developing, when the ImageViewerControl is played as Plaback on the screen of the workspace we developed, the image of the play tab of the smart client playback is displayed. (No problem in live mode)

EnvironmentManager.Instance.SendMessage(new VideoOS.Platform.Messaging.Message(MessageId.System.ModeChangeCommand, Mode.ClientPlayback),

           videoController. FQID);

The time we set in the video controller and playback controls such as PLAY and STOP do not work at all, and when controlled in the playback tab of the smart client, the video is controlled by the ImageViewerControl of the workspace we displayed. (On the PlaybackUserControl for displaying the Timeline, only time text information is displayed, and there is no information on the Timeline, and even if control it, it is not bind in the image of the ImageViewerControl.)

(When the same camera (FQID) video as the smart client playback tab is displayed in our ImageViewerControl, the timeline information and control of the video are located in the smart client playback tab. It cannot be controlled with the PlaybackController and PlaybackUserControl linked to the ImageViewerControl I created.)

We hadn’t used EnvironmentManager.Instance.RegisterReceiver (Message Filter) in our Workspace before, but this time we used it for the first time (used for a different purpose),

I guess, it’s a problem after using EnvironmentManager.Instance.RegisterReceiver (Message Filter).

Please let me know how to solve this problem.

I did an experiment to test this. In my test I get it to work. Let me explain what I did , maybe you can use it to figure out what might be wrong in your plugin or setup.

In the SCWorkspace plugin sample I add an internal property FQID PlayBackFQID to the SCWorkSpaceDefinition

In the SCWorkSpaceViewItemWpfUserControl2 I then in the Init set it: SCWorkSpaceDefinition.PlayBackFQID = _playbackFQID;

In the SCWorkSpaceSidePanelWpfUserControl I then added a button that on click executed:

private void _sendStop(object sender, System.Windows.RoutedEventArgs e)
{
	EnvironmentManager.Instance.SendMessage(new VideoOS.Platform.Messaging.Message(MessageId.SmartClient.PlaybackCommand, new PlaybackCommandData() { Command = PlaybackData.PlayStop }), SCWorkSpaceDefinition.PlayBackFQID);
}

This worked fine and to me it proves that I can control playback by messages. I hope you can replicate and by comparing you code mine can figure it out.

https://doc.developer.milestonesys.com/html/index.html?base=samples/pluginsamples/scworkspace/readme.html&tree=tree_1.html

https://github.com/milestonesys/mipsdk-samples-plugin

Dear. Bo Ellegård Andersen

Thanks to you, we solved the problem.

The cause of the problem is that when sending a message, a smart client control message should be sent,

but I had a problem using a message used in a component.