summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac42
-rw-r--r--docs/plugins/Makefile.am1
-rw-r--r--docs/plugins/gst-plugins-bad-plugins-docs.sgml2
-rw-r--r--docs/plugins/gst-plugins-bad-plugins-sections.txt19
-rw-r--r--docs/plugins/inspect/plugin-directdraw.xml20
-rw-r--r--sys/Makefile.am10
6 files changed, 92 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index bae6c23b..78ddecc3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -348,6 +348,46 @@ fi
dnl *** sys plug-ins ***
+dnl DirectDraw
+translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTDRAW, true)
+AG_GST_CHECK_FEATURE(DIRECTDRAW, [DirectDraw plug-in], directdrawsink, [
+ HAVE_DIRECTDRAW="no"
+ save_CFLAGS="$CFLAGS"
+ save_LDFLAGS="$LDFLAGS"
+ save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $DIRECTDRAW_CFLAGS"
+ LDFLAGS="$LDFLAGS $DIRECTDRAW_LDFLAGS"
+ LIBS="$LIBS -lddraw -lgdi32"
+ AC_MSG_CHECKING(for DirectDraw LDFLAGS)
+ AC_LINK_IFELSE([
+#include <windows.h>
+#include <ddraw.h>
+
+int main ()
+{
+ GetStockObject(0);
+ DirectDrawCreate(NULL, NULL, NULL);
+
+ return 0;
+}
+],
+ [HAVE_DIRECTDRAW="yes"],
+ [HAVE_DIRECTDRAW="no"])
+ AC_MSG_RESULT($HAVE_DIRECTDRAW)
+ CFLAGS=$save_CFLAGS
+ LDFLAGS=$save_LDFLAGS
+ LIBS=$save_LIBS
+
+ if test "x$HAVE_DIRECTDRAW" = "xyes"; then
+ dnl this is much more than we want
+ DIRECTDRAW_LIBS="-lddraw -ldxguid -lgdi32"
+ AC_SUBST(DIRECTDRAW_CFLAGS)
+ AC_SUBST(DIRECTDRAW_LDFLAGS)
+ AC_SUBST(DIRECTDRAW_LIBS)
+ fi
+ AC_SUBST(HAVE_DIRECTDRAW)
+])
+
dnl *** OS X videosrc ***
translit(dnm, m, l) AM_CONDITIONAL(USE_OSX_VIDEO, true)
HAVE_OSX_VIDEO="no"
@@ -1413,6 +1453,7 @@ AM_CONDITIONAL(USE_CDAUDIO, false)
AM_CONDITIONAL(USE_CELT, false)
AM_CONDITIONAL(USE_DC1394, false)
AM_CONDITIONAL(USE_DIRECTFB, false)
+AM_CONDITIONAL(USE_DIRECTDRAW, false)
AM_CONDITIONAL(USE_DTS, false)
AM_CONDITIONAL(USE_DIRAC, false)
AM_CONDITIONAL(USE_DIVX, false)
@@ -1569,6 +1610,7 @@ sys/Makefile
sys/dshowdecwrapper/Makefile
sys/acmenc/Makefile
sys/acmmp3dec/Makefile
+sys/directdraw/Makefile
sys/dshowsrcwrapper/Makefile
sys/dshowvideosink/Makefile
sys/dvb/Makefile
diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am
index 87d5f9eb..dcd9e5df 100644
--- a/docs/plugins/Makefile.am
+++ b/docs/plugins/Makefile.am
@@ -155,6 +155,7 @@ EXTRA_HFILES = \
$(top_srcdir)/gst/videosignal/gstvideodetect.h \
$(top_srcdir)/gst/videosignal/gstvideomark.h \
$(top_srcdir)/gst/valve/gstvalve.h \
+ $(top_srcdir)/sys/directdraw/gstdirectdrawsink.h \
$(top_srcdir)/sys/dvb/gstdvbsrc.h
# Images to copy into HTML directory.
diff --git a/docs/plugins/gst-plugins-bad-plugins-docs.sgml b/docs/plugins/gst-plugins-bad-plugins-docs.sgml
index 5a996c03..329e6bab 100644
--- a/docs/plugins/gst-plugins-bad-plugins-docs.sgml
+++ b/docs/plugins/gst-plugins-bad-plugins-docs.sgml
@@ -33,6 +33,7 @@
<xi:include href="xml/element-dccpserversink.xml" />
<xi:include href="xml/element-dccpserversrc.xml" />
<xi:include href="xml/element-dfbvideosink.xml" />
+ <xi:include href="xml/element-directdrawsink.xml" />
<xi:include href="xml/element-dtmfsrc.xml" />
<xi:include href="xml/element-dtsdec.xml" />
<xi:include href="xml/element-dvbsrc.xml" />
@@ -103,6 +104,7 @@
<xi:include href="xml/plugin-debugutilsbad.xml" />
<xi:include href="xml/plugin-dfbvideosink.xml" />
<xi:include href="xml/plugin-dirac.xml" />
+ <xi:include href="xml/plugin-directdraw.xml" />
<xi:include href="xml/plugin-dtmf.xml" />
<xi:include href="xml/plugin-dtsdec.xml" />
<xi:include href="xml/plugin-dvbsrc.xml" />
diff --git a/docs/plugins/gst-plugins-bad-plugins-sections.txt b/docs/plugins/gst-plugins-bad-plugins-sections.txt
index 8f9ff75d..2c57e3f1 100644
--- a/docs/plugins/gst-plugins-bad-plugins-sections.txt
+++ b/docs/plugins/gst-plugins-bad-plugins-sections.txt
@@ -230,6 +230,25 @@ gst_dfbsurface_get_type
</SECTION>
<SECTION>
+<FILE>element-directdrawsink</FILE>
+<TITLE>directdrawsink</TITLE>
+GstDirectDrawSink
+<SUBSECTION Standard>
+GstDirectDrawSinkClass
+GST_DIRECTDRAW_SINK
+GST_DIRECTDRAW_SINK_CLASS
+GST_IS_DIRECTDRAW_SINK
+GST_IS_DIRECTDRAW_SINK_CLASS
+GST_TYPE_DIRECTDRAW_SINK
+gst_directdraw_sink_get_type
+GstDDrawSurface
+GST_DDRAWSURFACE
+GST_IS_DDRAWSURFACE
+GST_TYPE_DDRAWSURFACE
+DIRECTDRAW_VERSION
+</SECTION>
+
+<SECTION>
<FILE>element-dtmfsrc</FILE>
<TITLE>dtmfsrc</TITLE>
GstDTMFSrc
diff --git a/docs/plugins/inspect/plugin-directdraw.xml b/docs/plugins/inspect/plugin-directdraw.xml
new file mode 100644
index 00000000..24110324
--- /dev/null
+++ b/docs/plugins/inspect/plugin-directdraw.xml
@@ -0,0 +1,20 @@
+<plugin>
+ <name>directdraw</name>
+ <description>Direct Draw plugin</description>
+ <filename>../../win32/vs6/release/libgstdirectdraw.dll</filename>
+ <basename>libgstdirectdraw.dll</basename>
+ <version>0.10.4.1</version>
+ <license>LGPL</license>
+ <source>gst-plugins-bad</source>
+ <package>GStreamer Bad Plug-ins CVS</package>
+ <origin>Unknown package origin</origin>
+ <elements>
+ <element>
+ <name>directdrawsink</name>
+ <longname>Direct Draw video sink</longname>
+ <class>Sink/Video</class>
+ <description>Direct Draw video sink</description>
+ <author>Sebastien Moutte &lt;sebastien@moutte.net&gt;</author>
+ </element>
+ </elements>
+</plugin>
diff --git a/sys/Makefile.am b/sys/Makefile.am
index e6212c65..161f3339 100644
--- a/sys/Makefile.am
+++ b/sys/Makefile.am
@@ -22,6 +22,12 @@ endif
# CDROM_DIR=
# endif
+if USE_DIRECTDRAW
+DIRECTDRAW_DIR=directdraw
+else
+DIRECTDRAW_DIR=
+endif
+
if USE_FBDEV
FBDEV_DIR=fbdev
else
@@ -64,8 +70,8 @@ else
ACM_DIR=
endif
-SUBDIRS = $(ACM_DIR) $(DVB_DIR) $(FBDEV_DIR) $(OSS4_DIR) $(OSX_VIDEO_DIR) $(QT_DIR) $(VCD_DIR) $(WININET_DIR)
+SUBDIRS = $(ACM_DIR) $(DIRECTDRAW_DIR) $(DVB_DIR) $(FBDEV_DIR) $(OSS4_DIR) $(OSX_VIDEO_DIR) $(QT_DIR) $(VCD_DIR) $(WININET_DIR)
-DIST_SUBDIRS = acmenc acmmp3dec dvb fbdev dshowdecwrapper dshowsrcwrapper dshowvideosink \
+DIST_SUBDIRS = acmenc acmmp3dec directdraw dvb fbdev dshowdecwrapper dshowsrcwrapper dshowvideosink \
oss4 osxvideo qtwrapper vcd wasapi wininet winks winscreencap