[gstreamer-bugs] [Bug 344639] New: Separate threadsafe queuing functionnality in a separate object

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Mon Jun 12 03:13:21 PDT 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=344639
 GStreamer | gstreamer (core) | Ver: HEAD CVS

           Summary: Separate threadsafe queuing functionnality in a separate
                    object
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: bilboed at bilboed.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


It is currently painful to integrate threadsafe queuing functionnality in
elements since that functionality is in an element (GstQueue). That
functionnality would be needed to make a multiple input/output queue, make more
efficient demuxers, etc...

I separated the threadsafe queuing functionnality in a new GObject :
GstSafeQueue. This object has :
 _threadsafe functions, which removes any explicit locking from elements using
it,
 _handles size behaviours in time/buffers/bytes,
 _release functions to unlock push/pop functions
 _flushing mode to make push/pop functions return immediatly
 _signals informing when the queue is full/empty/running 

I also included a patched version of GstQueue which uses that new object. It's
smaller and doesn't have to worry about locking issues.

I've been using it for the past week with succes. I welcome anybody to try it
and comment on it.


-- 
Configure bugmail: http://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