On Wed, Jan 26, 2011 at 8:51 AM, Felipe Contreras <email@example.com>
3) Your solution doesn't conform with GStreamer API
You can't just pad_buffer_alloc() and unref a buffer. If this buffer
comes from a sink that has a ring-buffer, like pulsesink, the sequence
would be screwed up.
note: this is generally a problem with OpenMAX, if you want to allow reverse caps negotiation to influence the output port params. You need to allocate a buffer to trigger caps negotiation.. although that isn't yet a convenient point to use the buffer. I guess you could stuff the buffer in some member field in GOmxPort or somewhere like that, and then use it later. Not very elegant...
At least it isn't a problem with the video sinks I've seen. But it is a valid point if you want to use OMX based audio decoders.