splitmuxsink passing buffers in bursts
Jan Schmidt
thaytan at noraisin.net
Wed Oct 2 15:44:56 UTC 2019
Hi,
On 3/10/19 1:29 am, Bill Klein wrote:
> Hi Jan,
>
> First of all, thank you for the work on splitmuxsink! Truly
> useful/essential stuff.
Cheers! I'm always happy to hear about new use cases. It sounds like
you're doing something a bit different here?
> Just before I got your message I was looking through the source and
> saw what you said: It waits in order to avoid busting the segment size.
>
> This seems like a reasonable default, but it's a pity that it's not
> optional: I'm sure many people would prefer the tradeoff of busting
> the segment size slightly (i.e. by < 1GOP) with the benefit of not
> having to delay buffers getting to the sink.
That sounds like a useful low-latency mode. I'm not sure how difficult
it would be to implement without trying it. The assumption about
releasing 1 GOP at a time was baked in pretty early and may be implicit
in a bunch of annoying places.
- Jan.
>
> - Bill
>
>
> On Wed, Oct 2, 2019 at 11:23 AM Jan Schmidt <jan at widgetgrove.com.au
> <mailto:jan at widgetgrove.com.au>> wrote:
>
> Hi,
>
> On 2/10/19 11:34 pm, logidelic wrote:
> > Hi Gruesse,
> >
> > Thank you for the response. I will investigate this, but it
> doesn't quite
> > make sense to me. I can certainly understand that the split
> can't happen
> > except at the end of a GOP, but aside from that why would
> splitmuxsink be
> > any different from any other mux/sink in its requirement to wait
> for a
> > complete GOP before passing to the muxer (in my case
> matroskamux) sink?
>
> Splitmuxsink needs to collect an entire GOP before releasing it to the
> muxer so that it knows whether it will fit in the current file
> fragment.
> If it will overflow either the time or bytes limit, it needs to
> start a
> new file for that data.
>
> - Jan.
>
> >
> > Thanks!
> >
> > Bill
> >
> >
> >
> > Thornton, Keith wrote
> >> Hi,
> >> In order to split properly I think you'll find that
> splitmuxsink needs to
> >> write complete GOPs. So it needs to collect gops before writing
> them out.
> >> Gruesse
> >>
> >> -----Ursprüngliche Nachricht-----
> >> Von: gstreamer-devel <
> >> gstreamer-devel-bounces at .freedesktop
> >> > Im Auftrag von logidelic
> >> Gesendet: Dienstag, 1. Oktober 2019 22:28
> >> An:
> >> gstreamer-devel at .freedesktop
> >> Betreff: splitmuxsink passing buffers in bursts
> >>
> >> I have a pipeline which uses splitmuxsink to write to a file. I
> noticed
> >> immediately that, as opposed to filesink, the file only gets
> updated in
> >> (relatively) infrequent bursts, rather than regularly if using
> a regular
> >> filesink.
> >>
> >> This is not due to filesink's buffering mode: I tried them all
> and it had
> >> no effect.
> >>
> >> Just to be sure, I switched splitmuxsink to use an appsink
> instead of a
> >> filesink and, indeed, the appsink's new_sample callback is
> called in
> >> bursts, instead of being called regularly if we use a straight
> appsink
> >> without splitmuxsink.
> >>
> >> In case you were wondering I set the appsink's sync property to
> FALSE.
> >> Indeed, with all settings in the pipeline identical, except for the
> >> existence of splitmuxsink, I see that with splitmuxsink buffers
> arrive at
> >> the final sink in bursts, whereas they arrive regularly otherwise.
> >>
> >> Any ideas what causes this and if there is a setting that can
> fix it?
> >> Getting the buffers in a timely manner is important in my case...
> >>
> >> Thank you!
> >>
> >>
> >>
> >> --
> >> Sent from:
> >>
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgstreamer-devel.966125.n4.nabble.com%2F&data=02%7C01%7C%7C2f0d7ef9342c4353f7de08d746ddb547%7C28042244bb514cd680347776fa3703e8%7C1%7C0%7C637055790350906128&sdata=sFHiIRnyGFAf%2F2cA7f61hhQAgEai4fTIRhWHqM06kEc%3D&reserved=0
> >> _______________________________________________
> >> gstreamer-devel mailing list
> >> gstreamer-devel at .freedesktop
> >>
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Fgstreamer-devel&data=02%7C01%7C%7C2f0d7ef9342c4353f7de08d746ddb547%7C28042244bb514cd680347776fa3703e8%7C1%7C0%7C637055790350916131&sdata=2O6SzAzBNFrFBxoXaRlC1R4jkc8clRnqfk%2BLE6L29jk%3D&reserved=0
> >> _______________________________________________
> >> gstreamer-devel mailing list
> >> gstreamer-devel at .freedesktop
> >> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >
> >
> >
> >
> > --
> > Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.freedesktop.org
> <mailto:gstreamer-devel at lists.freedesktop.org>
> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20191003/ceab7c2a/attachment.html>
More information about the gstreamer-devel
mailing list