After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 740804 - BYTES format duration query fail on demux
BYTES format duration query fail on demux
Status: RESOLVED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-11-27 11:16 UTC by Wonchul Lee
Modified: 2016-02-21 23:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
qtdemux: ask to upstream for duration query (733 bytes, patch)
2014-11-27 11:16 UTC, Wonchul Lee
rejected Details | Review

Description Wonchul Lee 2014-11-27 11:16:33 UTC
Created attachment 291629 [details] [review]
qtdemux: ask to upstream for duration query

I used BYTES format query when get the size of the contents on http streaming case.
Demuxers usually respond TIME format duration query, but it does not handle BYTES format.
I'm curious about why demux does not ask to upstream at least.

At now, BYTES format duration query is failed at demux, then baseparse calculated bytes duration based on time duration, but it was inaccurate.

So, I modify to get accurate duration from source element (e.g. souphttpsrc).
Comment 1 Sebastian Dröge (slomo) 2014-11-27 11:22:12 UTC
Comment on attachment 291629 [details] [review]
qtdemux: ask to upstream for duration query

Thanks for the patch but this is not correct. The query results should be for the specific stream of the srcpad, thus give the size in bytes of that specific stream and not of the complete container.
Comment 2 Sebastian Dröge (slomo) 2014-11-27 11:23:50 UTC
What is the use case here? Usually it's not useful to know the byte duration of some demuxed stream.
Comment 3 Wonchul Lee 2014-11-27 12:20:50 UTC
Thanks for your comments,

I use bytes duration for buffering.
At first we want to use current-level-time property on queue2 for buffering, but it is not work.
we get the size of contents by using bytes duration query, then divide it by time duration for getting average bitrate.
So, we can measure the current time in queue2 approximately.
(Get remaining time at queue2 = currenty-level-bytes / average bitrate)
Comment 4 Sebastian Dröge (slomo) 2014-11-27 12:40:33 UTC
What exactly is it that you want to achieve by this?
Comment 5 Wonchul Lee 2014-11-27 13:12:50 UTC
I just want to get accurate bytes duration by sending query to pipeline, not send to source element directly.
I was curious about why demux does not forward bytes duration query.
Comment 6 Tim-Philipp Müller 2014-11-27 13:17:57 UTC
The question was really what do you want to achieve with all these values that you query? What's the big picture? Then we can either make alternative suggestions how to achieve that, or determine that perhaps we need to implement additional functionality somewhere. But without more information it's hard to figure out what you're trying to do exactly.
Comment 7 Wonchul Lee 2014-11-28 05:36:43 UTC
At first, I did not perfectly understand what sebastian mentioned about but now I understand it.
Anyway, there was not a quite a big picture.
What I really want to do is get the total contents bytes size at application by sending bytes duration query to pipeline.
I agreed that this is not correct, from application side, is there any other way to get bytes size of contents without sending duration query to source element directly?
Comment 8 Sebastian Dröge (slomo) 2014-11-28 08:52:26 UTC
Currently nothing else than sending the duration query to the source.

But why do you need the byte duration of the complete stream in the application? What can the application do with it? :)
Comment 9 Tim-Philipp Müller 2016-02-21 23:52:49 UTC
Closing this bug report as no further information has been provided. Please feel free to reopen this bug report if you can provide the information that was asked for in a previous comment.
Thanks!