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 398453 - Implement time-shifting for QoS events
Implement time-shifting for QoS events
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gnonlin
git master
Other Linux
: High major
: 0.10.11
Assigned To: Alessandro Decina
Edward Hervey
Depends on:
Blocks: 569732
 
 
Reported: 2007-01-19 18:54 UTC by Edward Hervey
Modified: 2009-03-25 12:14 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Enable QoS handling in gnlobject and gnlcomposition (4.20 KB, patch)
2009-03-21 15:41 UTC, Edward Hervey
none Details | Review

Description Edward Hervey 2007-01-19 18:54:42 UTC
In order for QoS to work with GNonLin, we need to adjust the time contained in the QOS events coming upstream so that elements don't think all their buffers are too late.
Comment 1 Edward Hervey 2007-06-16 08:13:31 UTC
This is starting to cause issues with pitivi and slow computers and/or heavy videos.
Comment 2 Jan Schmidt 2007-06-21 14:02:18 UTC
is this any trickier than the newsegment handling? Is it just that gnonlin doesn't currently have any handling for upstream events?
Comment 3 Edward Hervey 2007-06-22 07:01:23 UTC
It's similar and there's already handling for upstream events (see the seek event handling in gnlobject.c).

What's needed is to:
(a) Figure out if that QoS event should be sent to the currently configured stack in a composition
(b) Adjust the 'diff' part of the QoS event from composition-time (which is in theory running time) into object-time. That should be the same conversion as for upstream time-related events (like seek).


(a) needs to be done in gnlcomposition
(b) can be done in gnlobject, in the same way seek events are handled.
Comment 4 Wim Taymans 2007-07-02 14:35:13 UTC
as a quick fix, you could just eat the QoS event. At least it would be better than not having any output at all.
Comment 5 Edward Hervey 2007-07-02 14:41:15 UTC
wim, I really hate you for coming up with the easiest workarounds :)
Comment 6 Edward Hervey 2007-07-02 14:45:33 UTC
2007-07-02  Edward Hervey  <bilboed@bilboed.com>

	* gnl/gnlobject.c: (ghostpad_event_function):
	Don't forward QoS event upstreams until we properly implement the
	time-shifting.
	See bug #398453

Comment 7 Edward Hervey 2009-03-21 15:41:58 UTC
Created attachment 131087 [details] [review]
Enable QoS handling in gnlobject and gnlcomposition
Comment 8 Alessandro Decina 2009-03-25 12:14:30 UTC
I committed a slightly different version of the patch. Cool stuff.

commit b91be8fe8280205ad75067e2cef8be49994a7999
Author: Edward Hervey <bilboed@bilboed.com>
Date:   Wed Mar 25 13:09:43 2009 +0100

    Translate incoming QoS events. Fixes #398453.