Queue2 buffering query buffer timestamp

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Queue2 buffering query buffer timestamp

rland
Hi,Experts,
AFAIW, playbin3 urisousebin uses queue2 to implement network buffering.
In most network streaming cases, queue2 and its upstream, has no buffer
timestamp information.
The file encoded bitrate and network real-time download bitrate may be very
different.
Therefore, according to the max-size-bytes to control the buffering,it seems
there will always
be various problems.
For example 4K files,if the max-size-bytes is smaller, frequently buffering,
and relatively low bitrate files play well.
On the contrary, if the max-size-bytes  is set to a higher value , low
bitrate file will take a long time to wait
start playing.

My doubt is,  is it possible that GStreamer framework to provide a mechanism
for Queue2 to query buffer timestamp information from
downstream(demuxer,parser? ) for a convenient and accurate calculation of
max-buffer-time?
The details may be more complicated, but this indeed be necessary.





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Queue2 buffering query buffer timestamp

Gst-Geek
Did try with buffer-duration  of palybin ??
set buffer-size=0 and playaround with buffer-duration



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Queue2 buffering query buffer timestamp

rland
This post was updated on .
Vinod Kesti wrote
> Did try with buffer-duration  of palybin ??
> set buffer-size=0 and playaround with buffer-duration

Thanks.
Yes, I did try it, like HLS, just to estimate the time,Using the tag
information in m3u8, ts seg. Duration/seg. Size, calculate the average
bitrate, and then roughly estimate max_size_time, other such as ts over
http(push mode) scenario, Max -size-time is always 0(meaning invalid).That
is,
completely dependent on upstream.

Maybe stupid, I was thinking,The BUFFERING MESSAGE is only sent to the
upper layer before, can we try this:
 * BUFFERING MESSAGE simultaneously send to  upstream (source, APP) and
downstream (demuer,parser);
 * Once queue2 receive a buffer or buffer list,then query received buffer's
timestamp  from downstream (demuxer, parser);
 * Queue2 saves the value of the query in step 2, and it is more accurate to
know how much time has been cached in the pipeline.

Cheers
 -rland




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Queue2 buffering query buffer timestamp

rland
Thanks to the community for being so energetic, :)
Here's a WIP link:
https://bugzilla.gnome.org/show_bug.cgi?id=667796



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Queue2 buffering query buffer timestamp

rland
In reply to this post by rland
Thanks to the community for being so energetic, :)
Here's a WIP link:
https://bugzilla.gnome.org/show_bug.cgi?id=667796



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel