[Bug 689191] d3dvideosink improvements

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jan 10 01:23:46 PST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=689191
  GStreamer | gst-plugins-bad | 0.10.x

--- Comment #11 from David Hoyt <dhoyt at llnl.gov> 2013-01-10 09:23:40 UTC ---
Sebastian: it can fail a state change to READY if Direct3D is explicitly
referenced but not installed on the system. IOW, it would fail at library load
time. The previous code effectively used LoadLibrary() (well, the glib
equivalents) to detect Direct3D's existence and the correct version at that
before attempting to use it. There was logic in place that could be used in the
future to select a better version of Direct3D if available and then fail back
to v9 if none were found.

Windows XP embedded (for example) allows you to pick and choose which
components of the Windows runtime you want on the system, so it's entirely
feasible that Direct3D may not exist where others might (e.g. DirectDraw).

If you bring up the old d3dvideosink dll in dependency walker, you'd notice
that there's no explicit reference to the Direct3D 9 libraries -- they're
detected and loaded at runtime to explicitly enable a graceful failover to
alternative technologies.

It's feasible that Direct3D 9 will be dropped in the future (as in shipped
OOTB) and it's also possible that video card manufacturers in the future could
drop support for Direct3D 9. Admittedly, in the foreseeable future it's
unlikely at best.

Roland -- yes DX10/11 are backwards compatible but that could change. We're
talking about Microsoft here. The DX10/11 code, if you recall, wasn't even
being used (really for that explicit reason), but if the next version does
break compatibility, you'd have to reintroduce something to abstract the
version away since older clients (e.g. WinXP) would be unlikely to have support
for it.

Sebastian -- this should have been reviewed more in-depth prior to being
committed. Some parts are absolutely fine, others not (e.g. the topic of this
discussion). Shouldn't this have been split into multiple patches?

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list