OPENMAX DL omxACMP3_SynthPQMF_S32_S16 API

I am working on OPENMAX DL omxACMP3_SynthPQMF_S32_S16 for MP3 decoder

I couldn’t understand completely what openmax DL tells about pVBuffer and pVPosition.

OMXResult omxACMP3_SynthPQMF_S32_S16(OMX_S32 *pSrcY, OMX_S16 *pDstAudioOut,
OMX_S32 *pVBuffer, OMX_INT *pVPosition, OMX_INT mode);

pSrcY- I am taking 32 output samples of IMDCT.

pDstAudioOut – pointer to the output PCM samples.

pVBuffer – In the OPENMAX DL, it is given that the the pVBuffer input for the current call should contain the pVBuffer output generated by the previous call and each call .

So have taken the first half of the buffer for channel 0 and the second half of the buffer for channel 1 and passing the addresses of the Buffer accordingly from outside the API.

pVPosition- In the OPENMAX DL, it is given that the state variable pVPosition should be initialized to zero and preserved between calls.

I have chosen two pointers to store the actual position, one for channel 0 and one for channel 1, so that the pVPosition value is not changed when we move from channel 0 to channel 1 and will be the previous value when we come back to channel 0 for the next frame.

Please clarify me if I am right or wrong.

Thanks & Regards,
Suresh Gada.