Unable to change stream settings unless the stream is active in Driver Framework.

In the driver framework, it is possible to have multiple camera channels, and each camera channel can have mutliple streams.

The example shows how to subscribe to settings changed for each individual stream, but the problem is that is seems we need a dynamic stream ID to know which stream a setting was changed on.

From what I understand, the StreamId above is created dynamically from Milestone, and I have a way to know which stream a setting has changed for unless the stream has been started.

The result of this behavior is that a stream must be active somewhere, or the streaming mode must be set to “Always” indead of “When needed” to be able to change settings on a camera. So if we try to change the resolution or codec of a camera on a 2nd or 3rd profile, it won’t work unless they are all set to “Always”:

image

Please let me know what you think.

It the streamId actually something we create or is it new for each new stream? My id’s are dynamic so I am not sure…

Thanks!

Hi Eric,

The device ID and stream ID received are the ones you provide in ConfigurationManager.BuildDevices(). If you create them dynamically this can of course be a bit of a problem and you would need to somehow make a scheme to know which stream that is, but in the normal scenario these are fixed and defined by the driver and thus can easily be mapped from anywhere in the driver, also without have an active stream.