d3dvideosink: First destroy the window, then unregister the class
authorAlexey Chernov <4ernov@gmail.com>
Tue, 21 Jan 2014 08:44:00 +0000 (09:44 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 21 Jan 2014 08:45:07 +0000 (09:45 +0100)
commitd96999328ad80941fbdb51f64d46fa540463ca62
tree99ef270796553b8732f5f90a1869ebff600c583c
parente58a00b2a2ec637b61cea808537d469b3649a116
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
sys/d3dvideosink/d3dhelpers.c