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 674817 - Port d3dvideosink to 0.11
Port d3dvideosink to 0.11
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Windows
: Normal normal
: 0.11.x
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-04-25 17:24 UTC by LRN
Modified: 2012-05-23 18:51 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Port d3dvideosink to 0.11 (49.41 KB, patch)
2012-04-25 17:26 UTC, LRN
none Details | Review
Port d3dvideosink to 0.11 (v2) (50.21 KB, patch)
2012-05-23 06:36 UTC, LRN
none Details | Review

Description LRN 2012-04-25 17:24:09 UTC
d3dvideosink requires porting.
Comment 1 LRN 2012-04-25 17:26:32 UTC
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.
Comment 2 Raimo Järvi 2012-04-25 22:17:35 UTC
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_?
Comment 3 LRN 2012-04-26 04:25:35 UTC
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_
Comment 4 Sebastian Dröge (slomo) 2012-04-26 07:22:53 UTC
There's no interfaces library anymore and the navigation interface is in the video library now
Comment 5 LRN 2012-05-01 18:32:15 UTC
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.
Comment 6 LRN 2012-05-23 06:36:49 UTC
Created attachment 214726 [details] [review]
Port d3dvideosink to 0.11 (v2)

Fixed the navigation interface-related problems
Comment 7 Wim Taymans 2012-05-23 13:36:30 UTC
commit 83123a98ae17abd20b797f6085f5bfb75e785782
Author: Руслан Ижбулатов <lrn1986@gmail.com>
Date:   Wed Apr 25 21:21:43 2012 +0400

    Port d3dvideosink to 0.11
    
    Fixes #674817
Comment 8 Raimo Järvi 2012-05-23 18:51:58 UTC
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.