> >> Another suggestion is that: >> Because your app is used for specified embedded device, some code >> optimization can be introduced. >> For example, try to use gst_pad_alloc_buffer() insteand of >> gst_buffer_new() to transfer data buffer between elements which can >> prevent from alloc new buffer frequently. >> >> >> > > could you elaborate ? > or did you mean gst_buffer_new_and_alloc() ? > > A call to gst_pad_alloc_buffer() is done when the element knows on > which source pad it is going to push the data. This allows the peer > element to provide special "hardware" buffers for the calling element > to work on, thus reducing the number of memcpys required in the system. > > >this can also work if you're doing a gst_buffer_new(), and not a gst_buffer_new_and_alloc(), I don't really see a difference here... >the data you're providing to downstream element doesn't have to be memcpy'd, it can be a pointer to a buffer of data in your element. It is just an example for optimization, I do not mean that you must replace by it. Whether or not using it depends on your implementation. -- Benoit Fouet Purple Labs S.A. www.purplelabs.com