Regd buffer management in multimedia filters

Hi,

We have a multimedia graph which has reader, parser, decoder and writer connected in the same order.

Reader used: stream_reader.so (Qnx provided)
Parser used: mp3_parser.so ( implemented by us)
Decoder used: mp3_decoder.so ( implemented by us)
Writer used: audio_writer.so (Qnx provided)

We are able to create the graph. When we start playing the graph using Mmplay(), only one buffer is passed from parser->decoder->writer to write the pcm samples into the H/W.

Could you Please us in understanding how the control flow is from the writer to the other filters in the graph.

From the documentation, v can refer the below.
Writer will call the decoder’s NextBuffer(). Writer is calling it only for the first time. Afterwards, it is not calling.

Thanks in advance.

Writer is calling its previous filter’s NextBuffer only if media buffer allocator is properly done and the Flags of the Mmbuffer_t is properly set. (MM_BUFFER_KEYFRAME).