Remove hack to work with mjpegtools 1.9.0rc3 and above and instead use mjpeg_loglev_t...
authorSebastian Dröge <slomo@circular-chaos.org>
Fri, 22 Feb 2008 06:12:07 +0000 (06:12 +0000)
committerSebastian Dröge <slomo@circular-chaos.org>
Fri, 22 Feb 2008 06:12:07 +0000 (06:12 +0000)
Original commit message from CVS:
Based on a patch by:
Hans de Goede <j dot w dot r dot degoede at hhs dot nl>
* configure.ac:
* ext/mpeg2enc/gstmpeg2enc.cc:
Remove hack to work with mjpegtools 1.9.0rc3 and above and instead
use mjpeg_loglev_t() for getting the log levels. Check for this
function in configure.ac as the pkg-config file doesn't tell us
which release candidate we have. Fixes bug #517896.

ChangeLog
configure.ac
ext/mpeg2enc/gstmpeg2enc.cc

index 49692bb..bc2a9b6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 2008-02-22  Sebastian Dröge  <slomo@circular-chaos.org>
 
+       Based on a patch by:
+         Hans de Goede <j dot w dot r dot degoede at hhs dot nl>
+
+       * configure.ac:
+       * ext/mpeg2enc/gstmpeg2enc.cc:
+       Remove hack to work with mjpegtools 1.9.0rc3 and above and instead
+       use mjpeg_loglev_t() for getting the log levels. Check for this
+       function in configure.ac as the pkg-config file doesn't tell us
+       which release candidate we have. Fixes bug #517896.
+
+2008-02-22  Sebastian Dröge  <slomo@circular-chaos.org>
+
        * configure.ac:
        Check for X for the nas plugin to make it possible to build it
        again. Fixes bug #517895.
index 3a14b81..f186b5e 100644 (file)
@@ -678,6 +678,11 @@ AG_GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
            mpeg2enc_headers_ok=yes
           fi
 
+         if test "x$have_mpjegtools_19x" = "xyes"; then
+           AG_GST_CHECK_LIBHEADER(MJPEGTOOLS_19rc3, mpeg2encpp, mjpeg_loglev_t, $MPEG2ENC_LIBS, mjpeg_logging.h,
+             AC_DEFINE(GST_MJPEGTOOLS_19rc3, 1, [mjpegtools >= 1.9.3rc3 is used]))
+         fi
+
           if test "x$mpeg2enc_headers_ok" = "xyes"; then
             HAVE_MPEG2ENC="yes"
           fi
index 4c9d6eb..2d9d122 100644 (file)
@@ -90,30 +90,6 @@ static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
         "mpegversion = (int) { 1, 2 }, " COMMON_VIDEO_CAPS)
     );
 
-
-
-/* Workaround against stupid removal of the log_level_t enum in 1.9.0rc3.
- * Without it doesn't make much sense to implement a mjpeg_log_handler_t */
-#ifndef LOG_NONE
-#define LOG_NONE 0
-#endif
-
-#ifndef LOG_DEBUG
-#define LOG_DEBUG 1
-#endif
-
-#ifndef LOG_INFO
-#define LOG_INFO 2
-#endif
-
-#ifndef LOG_WARN
-#define LOG_WARN 3
-#endif
-
-#ifndef LOG_ERROR
-#define LOG_ERROR 4
-#endif
-
 static void gst_mpeg2enc_finalize (GObject * object);
 static void gst_mpeg2enc_reset (GstMpeg2enc * enc);
 static gboolean gst_mpeg2enc_setcaps (GstPad * pad, GstCaps * caps);
@@ -679,6 +655,7 @@ gst_mpeg2enc_log_callback (log_level_t level, const char *message)
 {
   GstDebugLevel gst_level;
 
+#ifndef GST_MJPEGTOOLS_19rc3
   switch (level) {
     case LOG_NONE:
       gst_level = GST_LEVEL_NONE;
@@ -696,6 +673,18 @@ gst_mpeg2enc_log_callback (log_level_t level, const char *message)
       gst_level = GST_LEVEL_INFO;
       break;
   }
+#else
+  if (level == mjpeg_loglev_t ("debug"))
+    gst_level = GST_LEVEL_DEBUG;
+  else if (level == mjpeg_loglev_t ("info"))
+    gst_level = GST_LEVEL_INFO;
+  else if (level == mjpeg_loglev_t ("warn"))
+    gst_level = GST_LEVEL_WARNING;
+  else if (level == mjpeg_loglev_t ("error"))
+    gst_level = GST_LEVEL_ERROR;
+  else
+    gst_level = GST_LEVEL_INFO;
+#endif
 
   gst_debug_log (mpeg2enc_debug, gst_level, "", "", 0, NULL, message);