[Bug 690557] Corrected the control of whether a SingleQueue is full or not

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Dec 20 08:27:19 PST 2012


https://bugzilla.gnome.org/show_bug.cgi?id=690557
  GStreamer | gstreamer (core) | git

--- Comment #3 from Branko Subasic <branko.subasic at axis.com> 2012-12-20 16:27:16 UTC ---
I haven't found a case where the MultiQueue issue causes a crash or it actually
goes wrong. The problem is that in each call to single_queue_overrun_cb() the
max_size.visible for the full SingleQueue is incremented once per empty
SingleQueue, and the queue size will be retained throughout the session, which
means that an unnecessarily high amount of memory is used.

By just incrementing it once in each call, we give the demuxer a chance to
produce data for the other streams, thereby not having to enlarge the full
queue more.

This may not be an issue on a PC, but it may be in an embedded system with
limited memory resources and when the hard limit is checked, the values from
one queue is compared to limits from another, which is confusing and makes it
harder to understand and debug

And lastly, the code is now easier to follow imho.

-- 
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.


More information about the gstreamer-bugs mailing list