GNOME Bugzilla – Bug 674817
Port d3dvideosink to 0.11
Last modified: 2012-05-23 18:51:58 UTC
d3dvideosink requires porting.
Created attachment 212812 [details] [review] Port d3dvideosink to 0.11 Again, this is a very crude patch, but since it is capable of showing video - mission accomplished. P.S. From what i understood by reading MSDN, d3dvideosink is not very well-written (for example - its handling of losing d3d device, supported video formats, device capabilities). Sadly, i can't do anything about that.
After applying the patch compilation fails with: In file included from d3dvideosink.c:25:0: d3dvideosink.h:27:39: fatal error: gst/interfaces/navigation.h: No such file or directory cc1: warnings being treated as errors In file included from d3dvideosink.c:25:0: d3dvideosink.h:39:0: error: "DECLARE_INTERFACE_IID_" redefined /usr/x86_64-w64-mingw32/sys-root/mingw/include/objbase.h:70:0: note: this is the location of the previous definition Why do you need to define DECLARE_INTERFACE_IID_?
gst/interfaces/navigation.h is installed by -base. Not sure why it's missing in your case. DECLARE_INTERFACE_IID_ must be defined when compiling with MinGW32, but not for MinGW-W64. It probably was a bit foolish of me to ifdef it with __MINGW32__, since MinGW-w64 also defines that macro. Maybe #if !defined(__MINGW64__) or somesuch would be better... Either that, or beat MinGW32 developers with a stick until they define DECLARE_INTERFACE_IID_
There's no interfaces library anymore and the navigation interface is in the video library now
OK, it seems that i've had a bunch of outdated headers in my installation (since i never uninstall old gstreamer before installing a new one on top of it). I'll do a complete rebuild and fix the patch.
Created attachment 214726 [details] [review] Port d3dvideosink to 0.11 (v2) Fixed the navigation interface-related problems
commit 83123a98ae17abd20b797f6085f5bfb75e785782 Author: Руслан Ижбулатов <lrn1986@gmail.com> Date: Wed Apr 25 21:21:43 2012 +0400 Port d3dvideosink to 0.11 Fixes #674817
There's still the warning about redefining DECLARE_INTERFACE_IID_. Why do you need to define DECLARE_INTERFACE_IID_ and __MSABI_LONG? They are not used in d3dvideosink and AFAIK it has compiled with MinGW32 in the past without them. gst-indent isn't very happy about the code style.