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 636784 - [qtdemux] GST_QUERY_CONVERT implementation for qtdemux
[qtdemux] GST_QUERY_CONVERT implementation for qtdemux
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 0.10.27
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-12-08 15:23 UTC by Kishore Arepalli
Modified: 2010-12-11 17:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
implementation of query convert method for qtdemux (5.74 KB, patch)
2010-12-08 15:27 UTC, Kishore Arepalli
committed Details | Review

Description Kishore Arepalli 2010-12-08 15:23:34 UTC
EXPECTED: gstreamer qtdemux should support GST_QUERY_CONVERT

Use case: HTML5 Streaming firefox/fennec
To show the progress of the downloaded content in time lines instead of showing it in size

I think this would be really helpful for the video controls, in two ways:

1) The progress bar is currently based on file size, while the thumb is based
on time. This seems to work well enough in practice, but I'd suspect that the
two measurement systems can be slightly off in some cases (eg, the byte in the
middle of the file might not be in the middle timewise).

2) Currently, if you pause a live stream of indefinite length then  
there's no way to get back to real-time (or indicate where you're at), even
though we've buffered up the data.
   
   We already can't do anything for the buffering status bar; you just can't
really show progress for an infinite/indeterminate stream.

   But for the playback position, it seems like it would be nice to be able to
push the indicator towards the left (backwards), so that the space to the right
shows the amount of time that's been buffered but not yet played.


->  GST_QUERY_CONVERT is required to query the time for the given offset & vice-versa
Comment 1 Kishore Arepalli 2010-12-08 15:27:59 UTC
Created attachment 176064 [details] [review]
implementation of query convert method for qtdemux
Comment 2 Sebastian Dröge (slomo) 2010-12-11 16:49:53 UTC
commit e7ac799278398fb5f4f0aa5473449ad534fde422
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Sat Dec 11 17:49:03 2010 +0100

    qtdemux: Check if there's actually a seek table before parsing it

commit 5d9c8996da5e86a2faf66c8e94fb9524efbeb7fb
Author: Kishore Arepalli <kishore.arepalli@gmail.com>
Date:   Sat Dec 11 17:46:17 2010 +0100

    qtdemux: Implement CONVERT and FORMATS query
    
    Fixes bug #636784.
Comment 3 Sebastian Dröge (slomo) 2010-12-11 16:51:00 UTC
Why don't you use the duration in TIME for the slider btw? And for getting the current playback position in TIME you can use the position query
Comment 4 Kishore Arepalli 2010-12-11 17:20:16 UTC
(In reply to comment #3)
> Why don't you use the duration in TIME for the slider btw? And for getting the
> current playback position in TIME you can use the position query
yes, duration & playback position of the slider is in TIME format only. But this bug is all about the downloaded data position (Buffered data position) in time format. 
Here is the scenario, if actual size of the file is 1MB & buffered datat is 0.5MB then the buffered data position of slider can not be shown at the mid point of the slider. Because, buffered data may contain meta data & all frame sizes may not be equal. So buffered data size need to be converted to time position in order to get exact status.