GNOME Bugzilla – Bug 398453
Implement time-shifting for QoS events
Last modified: 2009-03-25 12:14:30 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.
This is starting to cause issues with pitivi and slow computers and/or heavy videos.
is this any trickier than the newsegment handling? Is it just that gnonlin doesn't currently have any handling for upstream events?
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.
as a quick fix, you could just eat the QoS event. At least it would be better than not having any output at all.
wim, I really hate you for coming up with the easiest workarounds :)
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
Created attachment 131087 [details] [review] Enable QoS handling in gnlobject and gnlcomposition
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.