diff --git a/legacy/emotion/ChangeLog b/legacy/emotion/ChangeLog index e5c75444bb..13510b70b8 100644 --- a/legacy/emotion/ChangeLog +++ b/legacy/emotion/ChangeLog @@ -1,35 +1,3 @@ -2007-09-01 Vincent Torri - - * 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 - - * 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. + diff --git a/legacy/emotion/configure.ac b/legacy/emotion/configure.ac index 770d9daf16..0277df1ff0 100644 --- a/legacy/emotion/configure.ac +++ b/legacy/emotion/configure.ac @@ -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 diff --git a/legacy/emotion/src/modules/gstreamer/emotion_sink.c b/legacy/emotion/src/modules/gstreamer/emotion_sink.c index 5f1d26fcee..85739bd360 100644 --- a/legacy/emotion/src/modules/gstreamer/emotion_sink.c +++ b/legacy/emotion/src/modules/gstreamer/emotion_sink.c @@ -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) {