I did this on an omap3730.  I used a queue feeding a valve.  <br><br>On startup, the queue had it's min-threshold-time set to 30 seconds, and the valve was set to drop=true.  Thus, 30 seconds of video would build up in the queue before it would start sending video downstream to the valve.  The valve would just throw everything away.<br>
<br>When I got the signal to start recording, I would set the value to drop=false, and the min-threshold-time of the queue to zero.  The 30 seconds of video in the queue would then flow on thru to the valve and pass on to the video codec.  Eventually the system would get entirely caught up, and be recording live video.<br>
<br>This gave me 30 seconds of pre-event buffer without having to create any new plugins.<br><br>There may be better ways-- I worked this out without any input from anyone, and I'm not that experienced with gstreamer.<br>
<br>-chris<br><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Nov 9, 2012 at 7:43 AM, Randall Scheifele <span dir="ltr"><<a href="mailto:rjscheif@gmail.com" target="_blank">rjscheif@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi <span style="font-family:arial,sans-serif;font-size:13px">Damiano,</span><div><span style="font-family:arial,sans-serif;font-size:13px"><br>
</span></div><div><span style="font-family:arial,sans-serif;font-size:13px">I am doing a similar thing on the dm368.  I am currently planning on using the queue element.  If you read the documentation on the queue element (</span><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-queue.html" target="_blank">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-queue.html</a>) you'll see that it has some minimum value properties (buffers/bytes/time).  I was planning on setting a minimum value to store enough buffered video inside of the queue and installing a buffer probe on the source pad of the queue to throw out buffers when I don't want to store them.</div>

<div><br></div><div>If anyone else has a better way of doing this in gstreamer, let me know.</div><div><br></div><div>-Randy</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">
On Fri, Nov 9, 2012 at 5:39 AM, Damiano Pinarello <span dir="ltr"><<a href="mailto:damiano.pinarello@bticino.it" target="_blank">damiano.pinarello@bticino.it</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I read in a forum that queue can work with live-sources, while queue2 can't (right now).<br>
But I consider this information old, beacuse the message is dated to 09/2010.<br>
Do you have some newest information about it?<br>
<br>
To better explain my need, I'm working on a IP camera base on dm365 that used<br>
gstreamer. The pourpose is this: when an interrupt arrives (for example due to<br>
motion detection) I must have a 30 seconds video before it to undestand what<br>
have generated the interrupt.<br>
<br>
I think to do this with a sort of circular buffer before sink element.<br>
This new element will continue to store data, and when an interrupt arrives<br>
it must reorder the buffer and put the content into a file.<br>
After that start to normally send video to sink element.<br>
<br>
Thanks,<br>
Damiano<br>
<br>
On 15:44 Thu 08 Nov     , Krzysztof Konopko wrote:<br>
> Hi Damiano,<br>
><br>
> Have you looked at queue2 element? It supports circular buffering in the<br>
> file.<br>
><br>
> Kris<br>
><br>
> On 08/11/12 14:26, Damiano Pinarello wrote:<br>
> > Hi,<br>
> ><br>
> > I need a element that store audio/video into circular buffer, and put<br>
> > it in a file<br>
> > when a interrupt arrive (maybe from gstreamer bus).<br>
> > This element could be seen as a sort of filesink modified, for example<br>
> > called "cicbsink".<br>
> ><br>
> > Which is the right way to problems? Someone have already tryed to<br>
> > solve the same need?<br>
> > The right way could be to create a new plugin? Or add this new element<br>
> > to gstreamer core?<br>
> ><br>
> > Thanks,<br>
> > Damiano<br>
> ><br>
><br>
> _______________________________________________<br>
> gstreamer-devel mailing list<br>
> <a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br>
--<br>
<br>
***** Email confidentiality notice *****<br>
This message and attachment are confidential and they also are legally privileged in accordance with the NDA.<br>
If you have received this message in error, please notify us and remove it from your system.<br>
<br>
--<br>
<br>
Damiano PINARELLO<br>
Embedded Software Developer<br>
Office Phone: <a href="tel:%2B%2839%29%20031%20653679%20Ext.%204679" value="+39031653679" target="_blank">+(39) 031 653679 Ext. 4679</a><br>
FAX phone: <a href="tel:%2B%2839%29%20031%20653283" value="+39031653283" target="_blank">+(39) 031 653283</a><br>
Street address: Via L. Manara 4, 22036 Erba (CO), Italy<br>
Email: <a href="mailto:damiano.pinarello@bticino.it" target="_blank">damiano.pinarello@bticino.it</a><br>
WebSite: <a href="http://www.bticino.it" target="_blank">www.bticino.it</a><br>
<br>
------------------------------------------------------------------------------<br>
 Please consider your environmental responsibility before printing this Email<br>
------------------------------------------------------------------------------<br>
This message is confidential. It may also be privileged or otherwise protected<br>
by law or legal rules. Should you have received this email by mistake please<br>
let us know by reply and then delete it from your system; you should not copy<br>
it or disclose its contents to anyone.<br>
All messages sent to and from [Enea] may be monitored to ensure compliance<br>
with internal policies and to protect our business. Emails are not secure<br>
and cannot be guaranteed to be error free as they can be intercepted, amended,<br>
lost or destroyed, or contain viruses. Anyone who communicates with us by email<br>
is taken to accept these risks.<br>
------------------------------------------------------------------------------<br>
<br>
<br>
Ce message, ainsi que tous les fichiers joints à ce message,<br>
peuvent contenir des informations sensibles et/ ou confidentielles<br>
ne devant pas être divulguées. Si vous n'êtes pas le destinataire<br>
de ce message (ou que vous recevez ce message par erreur), nous<br>
vous remercions de le notifier immédiatement à son expéditeur, et<br>
de détruire ce message. Toute copie, divulgation, modification,<br>
utilisation ou diffusion, non autorisée, directe ou indirecte, de<br>
tout ou partie de ce message, est strictement interdite.<br>
<br>
This e-mail, and any document attached hereby, may contain<br>
confidential and/or privileged information. If you are not the<br>
intended recipient (or have received this e-mail in error) please<br>
notify the sender immediately and destroy this e-mail. Any<br>
unauthorized, direct or indirect, copying, disclosure, distribution<br>
or other use of the material or parts thereof is strictly<br>
forbidden.<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br></div>