<div>Hi,</div>
<div> </div>
<div>1) I use bellagio only for the first tests on my desktop before going on "real" world (I mean on the ARM device from TI, STE or Freescale or anyother with openmax components).</div>
<div> </div>
<div>2) Most of the ARM devices don't have hw decoder/encoder with MMU capabilities (and yes it is a shame) so we have to take of that, and the "share buffer" hack doesn't in this case.</div>
<div> </div>
<div>3) about gst_pad_alloc_buffer: you are right is it a problem with ring buffer, and Rob comments also suggest that isn't a good idea...</div>
<div> </div>
<div>Benjamin <br></div>
<div class="gmail_quote">2011/1/26 Felipe Contreras <span dir="ltr"><<a href="mailto:felipe.contreras@gmail.com">felipe.contreras@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hi,<br>
<div>
<div></div>
<div class="h5"><br>On Mon, Jan 24, 2011 at 3:16 PM, Benjamin Gaignard<br><<a href="mailto:benjamin.gaignard@linaro.org">benjamin.gaignard@linaro.org</a>> wrote:<br>> For Linaro project I working on a new implementation of gst-openmax to allow<br>
> zero copy between OMX element in gstreamer.<br>><br>> On this page:<br>> <a href="https://wiki.linaro.org/WorkingGroups/Middleware/Multimedia/Specs/1105/ConsolidateGtsOmxMultivendor" target="_blank">https://wiki.linaro.org/WorkingGroups/Middleware/Multimedia/Specs/1105/ConsolidateGtsOmxMultivendor</a><br>
> I have put sequence diagrams of what we want to achieve.<br>><br>> We are looking for feedbacks about this proposal and all comment are<br>> welcome.<br><br></div></div>Here are my comments:<br><br>1) Why bellagio?<br>
<br>Bellagio is largely unmaintained and too complicated IMO. I have<br>contributed to the bellagio project, and although I think it has<br>contributed greatly to the OpenMAX ecosystem, I think I can write<br>something simpler that does the same in a short period of time. In<br>
fact, I kind of did already:<br><br><a href="https://github.com/felipec/libomxil-g" target="_blank">https://github.com/felipec/libomxil-g</a><br><br>This is a good example of how simple an OpenMAX IL implementation can be.<br>
<br>Also, recently bellagio stopped working at all for me.<br><br>2) gst-openmax already has zero-copy support<br><br>Through the "share buffer" hacks, which is not ideal, but it works on<br>the implementations that support this. Any hardware that has an MMU<br>
(all decent hw should) should have no trouble with it.<br><br>Your solution on the other hand would _not_ provide zero-copy support<br>for non-omx elements.<br><br>3) Your solution doesn't conform with GStreamer API<br>
<br>You can't just pad_buffer_alloc() and unref a buffer. If this buffer<br>comes from a sink that has a ring-buffer, like pulsesink, the sequence<br>would be screwed up.<br><br>This could be easily fixed by checking of the next element implements<br>
the gst-openmax interface, and add some kind of query.<br><br>Cheers.<br><br>--<br><font color="#888888">Felipe Contreras<br></font></blockquote></div><br>