what is the meaning of OMX_PORTTUNNEL FLAG_READONLY?

Hi Everybody,

Can someone explain to me what OMX_PORTTUNNELFLAG_READONLY means?


Thank the person who correct my solecism very much.
Another question:
Should all output ports be readonly?

This flag can only be set on tunneled output ports. It means that the buffers that the output port sends to the tunneled-component’s input port should be considered read-only.

According to section 3.3.11 (OMX spec 1.1), it does seem that all output ports are read-only (i.e. they always set this flag). But I think that this restriction might be incorrectly stated in the specification. If an output port has no further use for the data it has written in a buffer, then it shouldn’t have any problem allowing the next component to alter it (in place modification instead of copying to another buffer). And this feature will allow using tunneling + buffer sharing to have all components in a pipeline use possibly a single buffer.

One important use of this flag is when buffer sharing is enabled from one input port to multiple output ports. All output ports should in this case be read-only to avoid interfering with each other’s buffer operations.

It means that buffers sent on that tunnel must not be modified. Typically this is used when buffers are shared along multiple paths e.g. to multiple outputs on a splitter component.

Most tunnels will not be read only.