fix video overlay suport in emotion.
authorraster <raster>
Wed, 16 May 2012 11:18:57 +0000 (11:18 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 16 May 2012 11:18:57 +0000 (11:18 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/emotion@71161 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

ChangeLog
configure.ac
src/modules/gstreamer/emotion_sink.c

index e5c7544..13510b7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,35 +1,3 @@
-2007-09-01  Vincent Torri  <doursse at users dot sf dot net>
-
-       * src/modules/emotion_gstreamer.c: (em_file_open):
-       * src/modules/emotion_gstreamer_pipeline.c: (cb_handoff),
-       (emotion_pipeline_dvd_build), (emotion_pipeline_uri_build),
-       (emotion_pipeline_file_build), (_emotion_streams_sinks_get),
-       (_emotion_video_sink_fill), (_emotion_audio_sink_fill):
-       * src/modules/emotion_gstreamer_pipeline.h:
-       add the support of URI playback. Minor fixes.
-       Fix bug #114
-
-2007-10-31  Vincent Torri  <doursse at users dot sf dot net>
-
-       * configure.in:
-       * src/bin/emotion_test_main.c:
-       * src/lib/Makefile.am:
-       * src/lib/emotion_private.h:
-       * src/lib/emotion_smart.c:
-       * src/modules/Makefile.am:
-       * src/modules/emotion_gstreamer.c:
-       Use ecore_plugin instead of dlfcn
-       The modules names are now "xine" and "gstreamer" (it's useless to add
-       the extension, as ecore_plugin does not need it).
-       Look for the modules in path that is pointed by the env variable
-       EMOTION_MODULES_DIR first.
-       Fix a leak in the gstreamer module
-       Remove some trailing spaces
-       Fix bug #223
-
-       add the support of URI playback. Minor fixes.
-       Fix bug #114
-
 2012-04-26 Carsten Haitzler (The Rasterman)
 
        * 1.0.0 release
@@ -37,3 +5,8 @@
 2012-04-30 Jérôme Pinot
 
        * Fix build out of tree.
+
+2012-05-16 Carsten Haitzler (The Rasterman)
+
+       * Fix emotion video overlay support to detect correct engine name.
+
index 770d9da..0277df1 100644 (file)
@@ -185,33 +185,6 @@ if test "x$want_ecore_x" = "xyes" && test "x$have_ecore_x" = "xno" ; then
     AC_MSG_ERROR([ecore-x support requested, but not found by pkg-config.])
 fi
 
-# Check if gstreamer X Overlay is available
-build_xoverlay="no"
-if test "x${enable_gstreamer}" = "xyes" ; then
-   PKG_CHECK_MODULES([GSTREAMER_INTERFACE],
-      [gstreamer-interfaces-0.10 >= 0.10.34],
-      [build_xoverlay="yes"],
-      [build_xoverlay="no"])
-   if test "x${build_xoverlay}" = "xyes" ; then
-      save_CPPFLAGS=$CPPFLAGS
-      CPPFLAGS="$CPPFLAGS ${GSTREAMER_CFLAGS} ${GSTREAMER_INTERFACE_CFLAGS}"
-      AC_CHECK_HEADER([gst/interfaces/xoverlay.h],
-         [
-          AC_DEFINE(HAVE_XOVERLAY_H, 1, [Build with Gstreamer Xoverlay support])
-          build_xoverlay="yes"
-         ],
-         [build_xoverlay="no"])
-      CPPFLAGS=$save_CPPFLAGS
-
-      save_LDFLAGS=${LDFLAGS}
-      LDFLAGS="${LDFLAGS} ${GSTREAMER_INTERFACES}"
-      AC_CHECK_LIB([gstinterfaces-0.10],
-         [gst_x_overlay_set_window_handle],
-         [AC_DEFINE([HAVE_X_OVERLAY_SET], [1], [Use gst_x_overlay_set_window_handle instead of old deprecated gst_x_overlay_set_xwindow_id])])
-      LDFLAGS=$sava_LDFLAGS
-   fi
-fi
-
 ### Checks for header files
 
 AC_CHECK_HEADERS([unistd.h])
@@ -289,6 +262,32 @@ if test "x${enable_xine}" = "xno" && test "x${enable_gstreamer}" = "xno" && test
    AC_MSG_ERROR([Xine, Gstreamer or Generic backends must be selected to build Emotion])
 fi
 
+# Check if gstreamer X Overlay is available
+build_xoverlay="no"
+if test "x${enable_gstreamer}" = "xyes" ; then
+   PKG_CHECK_MODULES([GSTREAMER_INTERFACE],
+      [gstreamer-interfaces-0.10 >= 0.10.34],
+      [build_xoverlay="yes"],
+      [build_xoverlay="no"])
+   if test "x${build_xoverlay}" = "xyes" ; then
+      save_CPPFLAGS=$CPPFLAGS
+      CPPFLAGS="$CPPFLAGS ${GSTREAMER_CFLAGS} ${GSTREAMER_INTERFACE_CFLAGS}"
+      AC_CHECK_HEADER([gst/interfaces/xoverlay.h],
+         [
+          AC_DEFINE(HAVE_XOVERLAY_H, 1, [Build with Gstreamer Xoverlay support])
+          build_xoverlay="yes"
+         ],
+         [build_xoverlay="no"])
+      CPPFLAGS=$save_CPPFLAGS
+
+      save_LDFLAGS=${LDFLAGS}
+      LDFLAGS="${LDFLAGS} ${GSTREAMER_INTERFACES}"
+      AC_CHECK_LIB([gstinterfaces-0.10],
+         [gst_x_overlay_set_window_handle],
+         [AC_DEFINE([HAVE_X_OVERLAY_SET], [1], [Use gst_x_overlay_set_window_handle instead of old deprecated gst_x_overlay_set_xwindow_id])])
+      LDFLAGS=$sava_LDFLAGS
+   fi
+fi
 
 ### install and build examples
 
index 5f1d26f..85739bd 100644 (file)
@@ -1033,9 +1033,20 @@ gstreamer_video_sink_new(Emotion_Gstreamer_Video *ev,
 #if defined HAVE_ECORE_X && defined HAVE_XOVERLAY_H
    if (window_manager_video)
      {
-       engines = evas_render_method_list();
+        Eina_List *l;
+        const char *ename;
+        
+        engines = evas_render_method_list();
 
-       engine = eina_list_nth(engines, evas_output_method_get(evas_object_evas_get(obj)) - 1);
+        EINA_LIST_FOREACH(engines, l, ename)
+          {
+             if (evas_render_method_lookup(ename) == 
+                 evas_output_method_get(evas_object_evas_get(obj)))
+               {
+                  engine = ename;
+                  break;
+               }
+          }
 
        if (ev->priority && engine && strstr(engine, "_x11") != NULL)
         {