<div class="gmail_quote">2012/5/21 Carl Lindqvist <span dir="ltr"><<a href="mailto:lulebo@gmail.com" target="_blank">lulebo@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Hello!<br><br>This is my first post on this list. I am sorry if this has come up before, but I have been searching the archives and can't find a good answer to this.<br><br>I have an application that encodes an incoming video stream and muxes it as a transport stream. This is working great when writing to a file like in the example muxing.c.<br>

<br>Now what I would like to do is to capture the muxed output in a RAM buffer (queue of some sort) instead of writing directly to file. Is this possible?<br><br>The reason is that I will be encoding the signal continuously, but the finished muxed TS will be passed on to different places and files as the application is running. Sometimes it will be written to multiple destinations at once and stuff like that.<br>

<br>Any help is much appreciated!<br><br>Thank you<br><br>Regards<span class="HOEnZb"><font color="#888888"><br>Carl Lindqvist<br>
</font></span></blockquote></div><br><br>After some more reading on the subject, I understand that I must implement my own URLProtocol using something like file.c as a base.<br><br>I am writing my application in C++ and would like to implement the buffer/queue system in a C++ class. How would I tell my protocol about this class?<br>
<br>Also, if I do this, I have to recompile the libav libraries with this new protocol. WIll this affect the licences of how I may use this in a commercial application?<br><br>I have also seen something about using "avio_open_dyn_buf" and "avio_close_dyn_buf" instead, but I haven't gotten my head around that yet.<br>
<br>Regards<br>Carl Lindqvist<br>