[gst-devel] tee src pad buffers
Ron McOuat
rmcouat at smartt.com
Mon Mar 2 04:59:01 CET 2009
Thanks Tim for your kind advice. This clarifies the way forward for me.
I also found the resettime element by Arnout Vandecappelle which I
believe does what I need.
Tim-Philipp Müller wrote:
> On Fri, 2009-02-27 at 10:26 -0800, Ron McOuat wrote:
>
> Hi,
>
>
>> [tee element internals] From this I presume tee replicates references
>> and not actual contents.
>>
>
> Correct.
>
>
>> My issue is using a live source, downstream from the tee I offset time
>> stamps using a buffer probe handler for when recording is turned on or
>> off in one of the branches. The time offset changes bleed into the other
>> tee branches because of what I think is buffer reference copying instead
>> of content copying.
>>
>
> Correct. You aren't really allowed to do this in a buffer probe
> callback. What you want to do before changing the offset is
> gst_buffer_make_writable(), which will copy the buffer *structure* and
> metadata if needed (but not the content) so you can change it. However,
> you can't use that in a pad probe callback, since you can't return the
> new buffer pointer.
>
> You should/need to write an element to do this.
>
>
>
>> As an alternate I could feed the front end into a multifdsink and then
>> pull the data out for the different purposes by connecting to that
>> element using a UNIX socket. I would prefer to not do this for
>> efficiency reasons but the system use is minimal for moving data around
>> so maybe not a good reason to avoid this approach.
>>
>
> The latest gst-plugins-base release contains the appsink element, which
> is a much easier and much more efficient way to get data out of a
> pipeline if you have to.
>
> Cheers
> -Tim
>
>
>
> ------------------------------------------------------------------------------
> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
> -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
> -Strategies to boost innovation and cut costs with open source participation
> -Receive a $600 discount off the registration fee with the source code: SFAD
> http://p.sf.net/sfu/XcvMzF8H
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
More information about the gstreamer-devel
mailing list