[gstreamer-bugs] [Bug 618921] [dshowvideosink][PATCH] Replace CoIntialize with CoInitializeEx for bettrer integration with GStreamer threads

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon May 17 16:14:09 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=618921
  GStreamer | gst-plugins-bad | git

Michael Smith <msmith> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |msmith at xiph.org

--- Comment #1 from Michael Smith <msmith at xiph.org> 2010-05-17 23:14:07 UTC ---
The way COM is handled in the sink is a total mess; this just changes it
without really fixing anything.

Specifically: COM _must_ be uninitialised from the same thread it is
initialised. The current sink doesn't do that, and just unintialises it in
finalize, which could be called from anywhere.

I don't have a good solution for this - but my workaround in songbird was to
make _all_ of the COM stuff in this sink (and other elements) get done from a
dedicated thread, which initialises COM on creation, and uninits it when it
shuts down the thread. Everything that currently uses COM is changed to wait
for that thread to become available and call the COM code. It's a bit messy,
and probably decreases performance significantly, but reliably works. 

I'm not super-excited by patches like this that just change things around a bit
without fixing this underlying flaw.

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