1. Source node has an output port. Decoder nodes, when present, have
both input and output ports. Sink node has an input port. Depending on
the datapath configuration, there are two possibilities:
(i) SourceOutPort--->DecInPort~~DecoderNode~~DecOutPort--->SinkInPort
(ii) SourceOutPort--->SinkInPort

The way these nodes are connected can be seen at engines/player/src/
pv_player_datapath.cpp.

The header files pvmi/pvmf/include/pvmf_port_interface.h and pvmi/pvmf/
include/pvmf_port_base_impl.h show you the port interface and describe
in brief the APIs used. Please refer these along with the nodes to see
how data is passed through.  Please post any specific questions you
might have.

2. Are you using a new decoder node for mp3 that interacts with your
OMX component or are you using the existing node? If so, I need more
information on your implementation. For the existing OMX audio decoder
node, we have the capability of querying the OMX components whether or
not they want to allocate their own buffers. This is done by calling
OMX_GetParameter() with a PV proprietary index
"PV_OMX_COMPONENT_CAPABILITY_TYPE_INDEX". Please refer the
openmax_call_sequences.pdf for the list of capabilities that can be
queried. We currently cannot pass buffers from the decoder node to the
source node. So, the parser node sends the data to the decoder node in
its own buffers, and in case the OMX component is adamant that it
wants to allocate it's own input buffer, then the contents of the
buffer from the source node is copied into the buffer provided by the
OMX component in the decoder node.

Here is some more information that was earlier provided:
http://groups.google.com/group/android-framework/browse_thread/thread/eb0401934b052bcf/6cb18de0b9793620?hl=en#6cb18de0b9793620

-Ravi

On Dec 25, 9:41 am, MMF <[email protected]> wrote:
> Hi All,
>
> I have some doubts regarding OpenCORE,
>
> *1. *Can someone please explain me how the ports actually send and receive
> the buffers in a pipeline in OpenCORE.
> For example in mp3 pipeline I may have a parser node, a decoder node and
> render node.
> How these 3 nodes actually setup the connection with each other and  how the
> data flows( input and output buffers) flow through them.
>
> *2.* If my mp3 decoder node is using a OpenMAX component then in the current
> source code input and output buffers are allocated by OpenCORE node and they
> have been communicated to OpenMAX component by calling UseBuffers(). But if
> I want my OpenMAX to allocate the input and output buffers then how to do
> that? Are there any setting of parameters by which I can convey the OpenCORE
> node that my underlying OpenMAX component will allocate the buffers. Because
> I guess the input buffers are comming to mp3 node from parser node so do I
> need to make the modification in the parser node also?
>
> Thanks in advance
> ~
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"android-framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/android-framework?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to