After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 625190 - Directshow decoders wrappers have COM initialization issues
Directshow decoders wrappers have COM initialization issues
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Windows
: Normal major
: 0.10.23
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-07-24 14:36 UTC by Julien MOUTTE
Modified: 2011-05-30 06:45 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Fix element registration using data in the type instead of a global. (6.13 KB, patch)
2010-07-24 18:49 UTC, Julien MOUTTE
committed Details | Review
Fix COM initialization. (8.10 KB, patch)
2010-07-24 18:57 UTC, Julien MOUTTE
committed Details | Review

Description Julien MOUTTE 2010-07-24 14:36:15 UTC
Currently these GSTreamer elements are almost unusable as they make applications crash. The COM initialization code seems to be wrong.

As requested I am attaching here a proposed patch to improve those decoders that is currently being used on the Moovida and Moovida Pro softwares.

This patch provides COM initialization/deinit from a thread created at object creation. The object instance will wait for COM to be initialized before starting any function call to the COM domain.

This has been tested on Windows 2000, Windows XP, Vista and Windows 7 and works well.

This patch also includes some fixes to add some codecs fourcc (MSS1, VC1) and fix Divx3.11 decoding. Another important problem fixed here is the registration of the elements as this done with a global codec_entry variable and it's completely racy making elements registered with wrong input caps.
Comment 1 Sebastian Dröge (slomo) 2010-07-24 14:52:11 UTC
You forgot to attach the actual patch (but please attach multiple patches, one for every change).
Comment 2 Julien MOUTTE 2010-07-24 18:49:03 UTC
Created attachment 166493 [details] [review]
Fix element registration using data in the type instead of a global.
Comment 3 Julien MOUTTE 2010-07-24 18:57:37 UTC
Created attachment 166494 [details] [review]
Fix COM initialization.
Comment 4 Matt Sturgeon 2011-02-23 23:04:15 UTC
This bug may be blocking Bug #643123.
Comment 5 Sebastian Dröge (slomo) 2011-05-30 06:45:33 UTC
commit efd840bbb7e398d89ee9d4230e1f9c6250deee6b
Author: Julien MOUTTE <julien@moutte.net>
Date:   Mon May 30 08:43:59 2011 +0200

    dshowdecwrapper: Fix COM initialization
    
    Fixes bug #625190.

commit 378a8d94dcfd0d1e9b19890a3c87622846d822d8
Author: Julien MOUTTE <julien@moutte.net>
Date:   Mon May 30 08:43:40 2011 +0200

    dshowdecwrapper: Fix element registration using data in the type instead of a global