configure.ac: Improve mpeg2enc detection. This is for distributions that do ship...
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>
Sun, 21 Dec 2003 18:44:33 +0000 (18:44 +0000)
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>
Sun, 21 Dec 2003 18:44:33 +0000 (18:44 +0000)
Original commit message from CVS:
2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* configure.ac:
Improve mpeg2enc detection. This is for distributions that do
ship mjpegtools, but without mpeg2enc. Also does object check
for might there ever be ABI incompatibility.
* ext/mpeg2enc/gstmpeg2enc.cc:
Add Andrew as second maintainer (he's helping me), and also add
an error if no caps was set. This happens if I pull before capsnego
and that's something I should solve sometime else.
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup):
Fix time parsing.
* gst/matroska/matroska-mux.c: (gst_matroska_mux_audio_pad_link),
(gst_matroska_mux_track_header):
Add caps to templates.
* gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_sink_factory):
Add mpegversion=1 to prevent confusion with MPEG/AAC.
* gst/mpegstream/gstmpegdemux.c:
Remove layer since it causes warnings about unfixed caps.
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get):
Fix obvious typo (we error out if caps were set, we should of
course error out if *no* caps were set).
* sys/oss/gstosselement.c: (gst_osselement_convert):
Fix format conversion, we confused bits/bytes.
* sys/oss/gstosselement.h:
Improve documentation for 'bps'.
* sys/v4l/TODO:
Remove stuff about plugins that need removing - this was done
ages ago.
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_init),
(gst_v4lmjpegsrc_src_convert), (gst_v4lmjpegsrc_src_query):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_init), (gst_v4lsrc_src_convert),
(gst_v4lsrc_src_query):
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_init),
(gst_v4l2src_src_convert), (gst_v4l2src_src_query):
Add get_query_types(), get_formats() and query() functions.

ChangeLog
configure.ac
gst/mpegaudioparse/gstmpegaudioparse.c
gst/mpegstream/gstmpegdemux.c

index 735bd58..5c3eb26 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,41 @@
+2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
+
+       * configure.ac:
+         Improve mpeg2enc detection. This is for distributions that do
+         ship mjpegtools, but without mpeg2enc. Also does object check
+         for might there ever be ABI incompatibility.
+       * ext/mpeg2enc/gstmpeg2enc.cc:
+         Add Andrew as second maintainer (he's helping me), and also add
+         an error if no caps was set. This happens if I pull before capsnego
+         and that's something I should solve sometime else.
+       * gst/matroska/matroska-demux.c:
+       (gst_matroska_demux_parse_blockgroup):
+         Fix time parsing.
+       * gst/matroska/matroska-mux.c: (gst_matroska_mux_audio_pad_link),
+       (gst_matroska_mux_track_header):
+         Add caps to templates.
+       * gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_sink_factory):
+         Add mpegversion=1 to prevent confusion with MPEG/AAC.
+       * gst/mpegstream/gstmpegdemux.c:
+         Remove layer since it causes warnings about unfixed caps.
+       * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get):
+         Fix obvious typo (we error out if caps were set, we should of
+         course error out if *no* caps were set).
+       * sys/oss/gstosselement.c: (gst_osselement_convert):
+         Fix format conversion, we confused bits/bytes.
+       * sys/oss/gstosselement.h:
+         Improve documentation for 'bps'.
+       * sys/v4l/TODO:
+         Remove stuff about plugins that need removing - this was done
+         ages ago.
+       * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_init),
+       (gst_v4lmjpegsrc_src_convert), (gst_v4lmjpegsrc_src_query):
+       * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_init), (gst_v4lsrc_src_convert),
+       (gst_v4lsrc_src_query):
+       * sys/v4l2/gstv4l2src.c: (gst_v4l2src_init),
+       (gst_v4l2src_src_convert), (gst_v4l2src_src_query):
+         Add get_query_types(), get_formats() and query() functions.
+
 2003-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
 
        * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gst-plugins
index 2557072..6055d3b 100644 (file)
@@ -1076,16 +1076,52 @@ GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
 dnl *** mpeg2enc ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
 GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
-  PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.92,
-      HAVE_MPEG2ENC="yes", HAVE_MPEG2ENC="no")
-  MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp"
-  AC_SUBST(MPEG2ENC_CFLAGS)
-  AC_SUBST(MPEG2ENC_LIBS)
+  HAVE_MPEG2ENC="no"
+  dnl we require a c++ compiler for this one
+  if [ test x$HAVE_CXX = xyes ]; then
+    dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
+    dnl since many distros include mjpegtools specifically without mplex
+    dnl and mpeg2enc, we check for mpeg2enc on its own, too.
+    PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.92, [
+      dnl switch over to c++ to test things
+      AC_LANG_CPLUSPLUS
+      OLD_CPPFLAGS="$CPPFLAGS"
+      CPPFLAGS="$CPPFLAGS $MPEG2ENC_CFLAGS"
+      AC_CHECK_HEADER(mpeg2encoder.hh, [
+        MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp -lm -lpthread"
+        OLD_LIBS="$LIBS"
+        LIBS="$LIBS $MPEG2ENC_LIBS"
+        AC_MSG_CHECKING([for valid mpeg2enc objects])
+        AC_TRY_RUN([
+#include <mpeg2encoder.hh>
+#include <mpeg2encoptions.hh>
+
+int
+main (int   argc,
+      char *argv[])
+{
+  MPEG2EncOptions *options = new MPEG2EncOptions ();
+  MPEG2Encoder encoder (*options);
+  return 0;
+}
+        ],[
+          HAVE_MPEG2ENC="yes"
+          AC_SUBST(MPEG2ENC_CFLAGS)
+          AC_SUBST(MPEG2ENC_LIBS)
+          AC_MSG_RESULT(yes)
+        ], AC_MSG_RESULT(no))
+        LIBS="$OLD_LIBS"
+      ])
+      CPPFLAGS="$OLD_CPPFLAGS"
+      AC_LANG_C
+    ])
+  fi
 ])
 
 dnl *** mplex ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
 GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [HAVE_MPLEX=$HAVE_CXX])
+])
 
 dnl *** pango ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_PANGO, true)
index 0ce2942..2dc6893 100644 (file)
@@ -60,11 +60,12 @@ mp3_sink_factory (void)
        "sink",
        GST_PAD_SINK,
        GST_PAD_ALWAYS,
-       gst_caps_new (
+       GST_CAPS_NEW (
          "mp3parse_sink",
          "audio/mpeg",
-         NULL),
-       NULL);
+           "mpegversion", GST_PROPS_INT (1)
+        )
+    );
 };
 
 /* GstMPEGAudioParse signals and args */
index 9c24587..03841da 100644 (file)
@@ -67,8 +67,7 @@ GST_PAD_TEMPLATE_FACTORY (audio_factory,
   GST_CAPS_NEW (
     "mpeg_demux_audio",
     "audio/mpeg",
-      "mpegversion", GST_PROPS_INT (1),
-      "layer", GST_PROPS_INT_RANGE (1, 2)
+      "mpegversion", GST_PROPS_INT (1)
   )
 );