Move ximagesrc plug-in to good after review. Fixes #336756.
authorThomas Vander Stichele <thomas@apestaart.org>
Fri, 28 Apr 2006 18:57:09 +0000 (18:57 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Fri, 28 Apr 2006 18:57:09 +0000 (18:57 +0000)
Original commit message from CVS:

* configure.ac:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* ext/annodex/gstcmmlenc.c: (gst_cmml_enc_class_init),
(gst_cmml_enc_push_clip):
* sys/Makefile.am:
* sys/ximage/Makefile.am:
* sys/ximage/gstximagesrc.c:
Move ximagesrc plug-in to good after review.  Fixes #336756.

ChangeLog
configure.ac
docs/plugins/Makefile.am
docs/plugins/gst-plugins-good-plugins-docs.sgml
docs/plugins/gst-plugins-good-plugins-sections.txt
ext/annodex/gstcmmlenc.c
sys/Makefile.am
sys/ximage/Makefile.am
sys/ximage/gstximagesrc.c

index 1171918..ae5d02e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       * configure.ac:
+       * docs/plugins/Makefile.am:
+       * docs/plugins/gst-plugins-good-plugins-docs.sgml:
+       * docs/plugins/gst-plugins-good-plugins-sections.txt:
+       * ext/annodex/gstcmmlenc.c: (gst_cmml_enc_class_init),
+       (gst_cmml_enc_push_clip):
+       * sys/Makefile.am:
+       * sys/ximage/Makefile.am:
+       * sys/ximage/gstximagesrc.c:
+         Move ximagesrc plug-in to good after review.  Fixes #336756.
+
 2006-04-28  Michael Smith  <msmith@fluendo.com>
 
        * gst/icydemux/gsticydemux.c: (gst_icydemux_reset),
@@ -9,7 +22,6 @@
        * gst/icydemux/gsticydemux.h:
          Fix event handling: cache events when typefinding and forward later.
 
-
 2006-04-28  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
 
        * sys/osxaudio/gstosxaudiosink.c:
index 79db4bd..75c2e07 100644 (file)
@@ -339,6 +339,82 @@ GST_CHECK_FEATURE(SUNAUDIO, [Sun Audio], sunaudiosink, [
   AC_CHECK_HEADER(sys/audioio.h, HAVE_SUNAUDIO="yes", HAVE_SUNAUDIO="no")
 ])
 
+
+dnl Check for X11
+translit(dnm, m, l) AM_CONDITIONAL(USE_X, true)
+GST_CHECK_FEATURE(X, [X libraries and plugins],
+                  [ximagesrc], [
+  AC_PATH_XTRA
+
+  dnl now try to find the HEADER
+  ac_cflags_save="$CFLAGS"
+  ac_cppflags_save="$CPPFLAGS"
+  CFLAGS="$CFLAGS $X_CFLAGS"
+  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  AC_CHECK_HEADER(X11/Xlib.h, HAVE_X="yes", HAVE_X="no")
+
+  if test "x$HAVE_X" = "xno"
+  then
+    AC_MSG_NOTICE([cannot find X11 development files])
+  else
+    dnl this is much more than we want
+    X_LIBS="$X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS"
+    dnl AC_PATH_XTRA only defines the path needed to find the X libs,
+    dnl it does not add the libs; therefore we add them here
+    X_LIBS="$X_LIBS -lX11"
+    AC_SUBST(X_CFLAGS)
+    AC_SUBST(X_LIBS)
+
+    dnl check for Xfixes
+    PKG_CHECK_MODULES(XFIXES, xfixes, HAVE_XFIXES="yes", HAVE_XFIXES="no")
+    if test "x$HAVE_XFIXES" = "xyes"
+    then
+        XFIXES_CFLAGS="-DHAVE_XFIXES $XFIXES_CFLAGS"
+    fi
+    AC_SUBST(XFIXES_LIBS)
+    AC_SUBST(XFIXES_CFLAGS)
+
+    dnl check for Xdamage
+    PKG_CHECK_MODULES(XDAMAGE, xdamage, HAVE_XDAMAGE="yes", HAVE_XDAMAGE="no")
+    if test "x$HAVE_XDAMAGE" = "xyes"
+    then
+        XDAMAGE_CFLAGS="-DHAVE_XDAMAGE $XDAMAGE_CFLAGS"
+    fi
+    AC_SUBST(XDAMAGE_LIBS)
+    AC_SUBST(XDAMAGE_CFLAGS)
+  fi
+  AC_SUBST(HAVE_X)
+  CFLAGS="$ac_cflags_save"
+  CPPFLAGS="$ac_cppflags_save"
+])
+
+dnl FIXME: this should be rolled into the test above, it's just an additional
+dnl feature of the ximagesrc plug-in
+dnl This is the same as in gst-plugins-base
+dnl check for X Shm
+translit(dnm, m, l) AM_CONDITIONAL(USE_XSHM, true)
+GST_CHECK_FEATURE(XSHM, [X Shared Memory extension], [], [
+  if test x$HAVE_X = xyes; then
+    AC_CHECK_LIB(Xext, XShmAttach,
+                 HAVE_XSHM="yes", HAVE_XSHM="no",
+                 $X_LIBS)
+    if test "x$HAVE_XSHM" = "xyes"; then
+      XSHM_LIBS="-lXext"
+    else
+      dnl On AIX, it is in XextSam instead, but we still need -lXext
+      AC_CHECK_LIB(XextSam, XShmAttach,
+                   HAVE_XSHM="yes", HAVE_XSHM="no",
+                   $X_LIBS)
+      if test "x$HAVE_XSHM" = "xyes"; then
+        XSHM_LIBS="-lXext -lXextSam"
+      fi
+    fi
+  fi
+], ,[
+  AC_SUBST(HAVE_XSHM)
+  AC_SUBST(XSHM_LIBS)
+])
+
 dnl *** ext plug-ins ***
 dnl keep this list sorted alphabetically !
 
@@ -684,6 +760,7 @@ ext/speex/Makefile
 sys/Makefile
 sys/oss/Makefile
 sys/sunaudio/Makefile
+sys/ximage/Makefile
 po/Makefile.in
 gconf/Makefile
 gconf/gstreamer.schemas
index dd73972..f07b1d4 100644 (file)
@@ -100,7 +100,8 @@ EXTRA_HFILES = \
        $(top_srcdir)/gst/udp/gstmultiudpsink.h \
        $(top_srcdir)/gst/videofilter/gstvideoflip.h \
        $(top_srcdir)/gst/videofilter/gstvideobalance.h \
-       $(top_srcdir)/gst/videomixer/videomixer.c
+       $(top_srcdir)/gst/videomixer/videomixer.c \
+       $(top_srcdir)/sys/ximage/gstximagesrc.h
 
 # example code that needs to be converted to xml and placed in xml/
 EXAMPLE_CFILES = \
index 912f627..1b86645 100644 (file)
@@ -39,6 +39,7 @@
     <xi:include href="xml/element-videoflip.xml" />
     <xi:include href="xml/element-videomixer.xml" />
     <xi:include href="xml/element-wavparse.xml" />
+    <xi:include href="xml/element-ximagesrc.xml" />
   </chapter>
 
   <chapter>
@@ -88,5 +89,6 @@
     <xi:include href="xml/plugin-videomixer.xml" />
     <xi:include href="xml/plugin-wavenc.xml" />
     <xi:include href="xml/plugin-wavparse.xml" />
+    <xi:include href="xml/plugin-ximagesrc.xml" />
   </chapter>
 </book>
index c30e491..8ca178e 100644 (file)
@@ -286,3 +286,16 @@ GST_WAVPARSE_CLASS
 GST_IS_WAVPARSE_CLASS
 </SECTION>
 
+<SECTION>
+<FILE>element-ximagesrc</FILE>
+GstXImageSrc
+<TITLE>ximagesrc</TITLE>
+<SUBSECTION Standard>
+GstXImageSrcClass
+GST_XIMAGE_SRC
+GST_IS_XIMAGE_SRC
+GST_TYPE_XIMAGE_SRC
+gst_ximage_src_get_type
+GST_XIMAGE_SRC_CLASS
+GST_IS_XIMAGE_SRC_CLASS
+</SECTION>
index 5c7d758..fabe6ec 100644 (file)
@@ -146,7 +146,7 @@ gst_cmml_enc_class_init (GstCmmlEncClass * enc_class)
       g_param_spec_uchar ("granule-shift",
           "Granuleshift",
           "The number of lower bits to use for partitioning a granule position",
-          0, G_MAXUINT8, 32, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+          0, 64, 32, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
 
   GST_ELEMENT_CLASS (klass)->change_state = gst_cmml_enc_change_state;
 }
@@ -554,6 +554,7 @@ gst_cmml_enc_push_clip (GstCmmlEnc * enc, GstCmmlTagClip * clip,
     goto granule_overflow;
   }
 
+  GST_BUFFER_OFFSET (buffer) = clip->start_time;
   GST_BUFFER_OFFSET_END (buffer) = granulepos;
   GST_BUFFER_TIMESTAMP (buffer) = clip->start_time;
 
index 160ec77..50028bc 100644 (file)
@@ -58,6 +58,12 @@ endif
 # GL_DIR=
 # endif
 
-SUBDIRS=$(OSS_DIR) $(SUNAUDIO_DIR)
+if USE_X
+XIMAGE_DIR=ximage
+else
+XIMAGE_DIR=
+endif
+
+SUBDIRS=$(OSS_DIR) $(SUNAUDIO_DIR) $(XIMAGE_DIR)
 
-DIST_SUBDIRS=oss sunaudio
+DIST_SUBDIRS=oss sunaudio ximage
index d1a4b42..1a25c77 100644 (file)
@@ -1,6 +1,6 @@
 plugin_LTLIBRARIES = libgstximagesrc.la
 
-libgstximagesrc_la_SOURCES = ximagesrc.c ximageutil.c
+libgstximagesrc_la_SOURCES = gstximagesrc.c ximageutil.c
 libgstximagesrc_la_CFLAGS = \
        $(GST_PLUGINS_BASE_CFLAGS) \
        $(GST_CFLAGS) $(GST_BASE_CFLAGS) \
@@ -11,4 +11,4 @@ libgstximagesrc_la_LIBADD = \
        $(X_LIBS) $(XSHM_LIBS) $(XFIXES_LIBS) $(XDAMAGE_LIBS) 
 libgstximagesrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
 
-noinst_HEADERS = ximagesrc.h ximageutil.h
+noinst_HEADERS = gstximagesrc.h ximageutil.h
index 2320001..55e1834 100644 (file)
@@ -43,7 +43,7 @@
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
-#include "ximagesrc.h"
+#include "gstximagesrc.h"
 
 #include <string.h>
 #include <stdlib.h>