View Full Version : Port Layer Numbers

08-02-2011, 02:49 PM
Section 5.9 Querying the Layer number for any Port in the spec says:

There are times, especially during a cached setup, that this layering order value for a specific, not yet bound, port is important to know.
and wfdGetPipelineLayerOrder() is given as a way to retrieve the layer order.

Section Pipeline Layering says:

It should not be assumed that the layering order values are static, as they may change when the port to pipeline binding changes. What can be done if the client app decides the layer order isn't appropriate?
There isn't a function to set the layer order. So, is the client app expected to move sources between layers to achieve the require layering?
If the layer order can be dynamic, how can the client app predict the order?
Is the order implied by the return order of wfdEnumeratePipelines or WFD_PORT_BINDABLE_PIPELINE_IDS?
Does section mean that the values specifying the order may change but the sequence may not?
Is the layer order based on source binding order?

08-15-2011, 01:32 PM
Hi lewk,

Section 5.9 means that you can use the wfdGetPipelineLayerOrder function to query what the layer order would be if pipeline was bound to port.

Once you have created a WFDPort and a bunch of WFDPipelines, you'd call wfdGetPipelineLayerOrder for each WFDPipeline and sort the WFDPipelines in rising order based on the return value. The WFDPipeline with the smallest return value not equal to WFD_INVALID_PIPELINE_LAYER will be the bottom most and the WFDPipeline with the largest return value will be top most when bound to the particular WFDPort.


08-15-2011, 02:18 PM
Section 5.9 says that the returned value is the same value the WFD_PIPELINE_LAYER attribute would have if port and pipeline were bound. This is clear.

On the other hand, section says that the value of WFD_PIPELINE_LAYER attribute values may change when the port to pipeline binding changes. The meaning of this is not entirely clear.
Does it mean the value could change if pipeline was bound to a different port? Or does it mean something else?

08-22-2011, 08:57 AM
The point is indeed that the pipeline layer order was expected to be static in reference to a specific port, but not static in reference to any port. In other words, as a pipeline is moved from one port to another, the pipelines specific layer ordering value may change.

You bring up another interesting point that there is no way to actually set a port layering order. I believe at the time the document was written there were no embedded hardware, known among the participating members, where the pipeline order could be set by a user. Now there is. If you are interested in that feature, I would suggest that you propose an addition to support it. This would normally be done in the form of a spec extension. I'm sure the working group would be interested in your view on such an addition.