|
From: GStreamer (bugzilla.gnome.o. <bug...@gn...> - 2011-02-11 01:09:30
|
https://bugzilla.gnome.org/show_bug.cgi?id=638891 GStreamer | gstreamer (core) | 0.10.28 --- Comment #27 from Yongnian <yon...@in...> 2011-02-11 01:09:15 UTC --- Thanks you! Please let me try to explain. Hope below works and makes sense, and welcome any better solution or idea. The purpose of "tee" is try to duplicate source buffers and pass them down to multiple sinks. If all sinks of tee generate "throttle" QoS event, "tee" can push such event to upstream elemens, which might be aware of such event and take corresponding action to reduct the buffer rate consequently. But at most time, if only one sink of "tee" generates "throttle" QoS event, it is not safe for "tee" to push such event to upstream elements. So "tee" needs take care itself: namely drop some of the buffers from source to that sink which generates "throttle" QoS event; while "tee" still needs pass down all buffers to other sinks which don't generate "throttle" QoS event. That's the work of the patch to "tee". In order to avoid the frequent variance caused by "throttle" QoS event, above "throttle" behavior in "tee" take some delay period before invalidation, namely (3 * throttle_time_interval). If there is no new "throttle" QoS event from sink to renew/keep such behavior, the "tee" works as traditional mode. -- Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. You are the assignee for the bug. |