Processing buffers whilst output port disabled

Are there any assumptions that the IL client can make wrt components processing buffers whilst it’s output ports are disabled?

For example, a video decoder could process input buffers until it determines the output frame size. However, an implementor could make the component wait until it has been told to fill a minimum number of output buffers (of the default size).

Thanks
Phil

Yes, you should process buffers in a component with a disabled port. Obviously that port can’t be used (it doesn’t have any buffers). This is useful for the use-case that you mention, as you may get a PortSettingsChanged event once the start of the stream has been parsed. If the output port is disabled, you could tunnel it only once the format is known.

There is some ongoing discussion about this though, as you may not get the event if the settings match the default ones.

Thanks,

Roger

I think that disabling a port should not leed to any data being thrown away. On that basis a video decoder with a disabled output port can only process input data until the point that the decoder needs to output a frame. Does that fit with your understanding?

Thanks
Phil

Yes.

Roger

For a video decoder, if we assume that the IL client can ask a component to process input buffers with the output port disabled, how does it know when to enable the port? The IL client can’t wait for PortSettingsChanged event as this is only sent if the port changes to non-default values.

Thanks
Phil Edworthy