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 -~----------~----~----~----~------~----~------~--~---
