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 722622 - d3dvideosink: Unable to register Direct3D hidden window class
d3dvideosink: Unable to register Direct3D hidden window class
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
1.2.2
Other Windows
: Normal normal
: 1.2.3
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-01-20 17:30 UTC by Alexey Chernov
Modified: 2014-02-04 15:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch that fixes the problem (706 bytes, patch)
2014-01-20 17:30 UTC, Alexey Chernov
committed Details | Review

Description Alexey Chernov 2014-01-20 17:30:14 UTC
Created attachment 266764 [details] [review]
Patch that fixes the problem

It's impossible to create another pipeline with d3dvideosink after disposing the previous one due to some problem in d3dvideosink. The message is: "Unable to register Direct3D hidden window class".

I've evaluated the problem and it's that UnregisterClass() in working thread is called before DestroyWindow() and UnregisterClass() does nothing.

The patch is applied.
Comment 1 Sebastian Dröge (slomo) 2014-01-21 08:45:54 UTC
Please provide patches in "git format-patch" format in the future :) Will backport to 1.2 later.

commit d96999328ad80941fbdb51f64d46fa540463ca62
Author: Alexey Chernov <4ernov@gmail.com>
Date:   Tue Jan 21 09:44:00 2014 +0100

    d3dvideosink: First destroy the window, then unregister the class
    
    It's impossible to create another pipeline with d3dvideosink after disposing
    the previous one due to some problem in d3dvideosink. The message is: "Unable
    to register Direct3D hidden window class".
    
    I've evaluated the problem and it's that UnregisterClass() in working thread is
    called before DestroyWindow() and UnregisterClass() does nothing.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=722622
Comment 2 Alexey Chernov 2014-01-26 21:32:18 UTC
Thanks for committing, Sebastian! Sorry for patch format, was too hurry to publish the fix and forgot about git format-patch :) I remember about it usually.