On Thu, Sep 1, 2011 at 4:04 PM, Enlightenment SVN
<[email protected]> wrote:
> Log:
> Add generic player backend (with vlc player).
>
>  This generic player backend executes a separate player in another
>  process. It receives the bytes to be drawn on the emotion object through
>  a shared memory, and communicates with the player through a pipe, using
>  the player standard input/output.
>
>  The player must communicate with emotion using the defined commands
>  specified in the Emotion_Generic_Plugin.h. It doesn't need to link
>  against emotion, just include this file for easier implementation.
>
>  This implementation was sponsored by Zodiac Aerospace.
>
> Author:       antognolli
> Date:         2011-09-01 12:04:15 -0700 (Thu, 01 Sep 2011)
> New Revision: 63062
> Trac:         http://trac.enlightenment.org/e/changeset/63062

Hello list,

I just added another backend to emotion, called it "generic" since it
has some of the ideas of the evas generic loaders. For now I just
implemented one player using libvlc. There's a small explanation of
how it works in the README file that I put in its directory:

http://trac.enlightenment.org/e/browser/trunk/emotion/src/modules/generic/README

Any comments and critics are welcome!

>
> Added:
>  trunk/emotion/src/examples/emotion_generic_example.c 
> trunk/emotion/src/generic_players/ 
> trunk/emotion/src/generic_players/Makefile.am 
> trunk/emotion/src/generic_players/vlc/ 
> trunk/emotion/src/generic_players/vlc/Makefile.am 
> trunk/emotion/src/generic_players/vlc/emotion_generic_vlc.c 
> trunk/emotion/src/modules/generic/ 
> trunk/emotion/src/modules/generic/Emotion_Generic_Plugin.h 
> trunk/emotion/src/modules/generic/Makefile.am 
> trunk/emotion/src/modules/generic/README 
> trunk/emotion/src/modules/generic/emotion_generic.c 
> trunk/emotion/src/modules/generic/emotion_generic.h
> Modified:
>  trunk/emotion/AUTHORS trunk/emotion/configure.ac 
> trunk/emotion/m4/emotion_check.m4 trunk/emotion/src/Makefile.am 
> trunk/emotion/src/examples/Makefile.am 
> trunk/emotion/src/lib/emotion_private.h trunk/emotion/src/lib/emotion_smart.c 
> trunk/emotion/src/modules/Makefile.am
>
> Modified: trunk/emotion/AUTHORS
> ===================================================================
> --- trunk/emotion/AUTHORS       2011-09-01 18:41:47 UTC (rev 63061)
> +++ trunk/emotion/AUTHORS       2011-09-01 19:04:15 UTC (rev 63062)
> @@ -3,4 +3,4 @@
>  Nicolas Aguirre <[email protected]>
>  Sebastian Dransfeld <[email protected]>
>  Cedric Bail <[email protected]>
> -
> +Rafael Antognolli <[email protected]>
>
> Modified: trunk/emotion/configure.ac
> ===================================================================
> --- trunk/emotion/configure.ac  2011-09-01 18:41:47 UTC (rev 63061)
> +++ trunk/emotion/configure.ac  2011-09-01 19:04:15 UTC (rev 63062)
> @@ -54,6 +54,7 @@
>  AC_SUBST(VMAJ)
>
>  want_vlc="no"
> +want_generic="yes"
>  case "$host_os" in
>    mingw* | cegcc*)
>       want_xine="no"
> @@ -230,6 +231,7 @@
>  EMOTION_CHECK_MODULE([Xine], [${want_xine}])
>  EMOTION_CHECK_MODULE([Gstreamer], [${want_gstreamer}])
>  EMOTION_CHECK_MODULE([VLC], [${want_vlc}])
> +EMOTION_CHECK_MODULE([generic], [${want_generic}])
>
>  #disabled vlc
>  #if test "x${enable_xine}" = "xno" && test "x${enable_gstreamer}" = "xno" && 
> test "x${enable_vlc}" = "xno" ; then
> @@ -269,7 +271,10 @@
>  src/modules/Makefile
>  src/modules/xine/Makefile
>  src/modules/gstreamer/Makefile
> +src/modules/generic/Makefile
>  src/edje_external/Makefile
> +src/generic_players/Makefile
> +src/generic_players/vlc/Makefile
>  src/bin/Makefile
>  src/examples/Makefile
>  doc/Makefile
>
> Modified: trunk/emotion/m4/emotion_check.m4
> ===================================================================
> --- trunk/emotion/m4/emotion_check.m4   2011-09-01 18:41:47 UTC (rev 63061)
> +++ trunk/emotion/m4/emotion_check.m4   2011-09-01 19:04:15 UTC (rev 63062)
> @@ -71,6 +71,28 @@
>
>  ])
>
> +dnl use: EMOTION_CHECK_DEP_GENERIC(want_static[, ACTION-IF-FOUND[, 
> ACTION-IF-NOT-FOUND]])
> +
> +AC_DEFUN([EMOTION_CHECK_DEP_GENERIC],
> +[
> +
> +requirement=""
> +
> +PKG_CHECK_MODULES([GENERIC],
> +   [evas >= 0.9.9],
> +   [
> +    have_dep="yes"
> +   ],
> +   [have_dep="no"])
> +
> +if test "x$1" = "xstatic" ; then
> +   requirement_emotion="${requirement} ${requirement_emotion}"
> +fi
> +
> +AS_IF([test "x$have_dep" = "xyes"], [$2], [$3])
> +
> +])
> +
>  dnl use: EMOTION_CHECK_MODULE(description, want_module[, ACTION-IF-FOUND[, 
> ACTION-IF-NOT-FOUND]])
>  AC_DEFUN([EMOTION_CHECK_MODULE],
>  [
>
> Modified: trunk/emotion/src/Makefile.am
> ===================================================================
> --- trunk/emotion/src/Makefile.am       2011-09-01 18:41:47 UTC (rev 63061)
> +++ trunk/emotion/src/Makefile.am       2011-09-01 19:04:15 UTC (rev 63062)
> @@ -6,3 +6,7 @@
>  if ENABLE_EDJE_EXTERNAL
>  SUBDIRS += edje_external
>  endif
> +
> +if EMOTION_BUILD_GENERIC
> +SUBDIRS += generic_players
> +endif
>
> Modified: trunk/emotion/src/examples/Makefile.am
> ===================================================================
> --- trunk/emotion/src/examples/Makefile.am      2011-09-01 18:41:47 UTC (rev 
> 63061)
> +++ trunk/emotion/src/examples/Makefile.am      2011-09-01 19:04:15 UTC (rev 
> 63062)
> @@ -16,6 +16,7 @@
>
>  SRCS = \
>        emotion_basic_example.c \
> +       emotion_generic_example.c \
>        emotion_signals_example.c
>
>  EXTRA_DIST = $(SRCS)
> @@ -30,6 +31,7 @@
>  if EFL_BUILD_EXAMPLES
>  pkglib_PROGRAMS += \
>        emotion_basic_example \
> +       emotion_generic_example \
>        emotion_signals_example
>  endif
>
>
> Modified: trunk/emotion/src/lib/emotion_private.h
> ===================================================================
> --- trunk/emotion/src/lib/emotion_private.h     2011-09-01 18:41:47 UTC (rev 
> 63061)
> +++ trunk/emotion/src/lib/emotion_private.h     2011-09-01 19:04:15 UTC (rev 
> 63062)
> @@ -41,6 +41,7 @@
>
>  struct _Emotion_Module_Options
>  {
> +   const char *player;
>    Eina_Bool no_video : 1;
>    Eina_Bool no_audio : 1;
>  };
>
> Modified: trunk/emotion/src/lib/emotion_smart.c
> ===================================================================
> --- trunk/emotion/src/lib/emotion_smart.c       2011-09-01 18:41:47 UTC (rev 
> 63061)
> +++ trunk/emotion/src/lib/emotion_smart.c       2011-09-01 19:04:15 UTC (rev 
> 63062)
> @@ -124,7 +124,8 @@
>  static const char *_backend_priority[] = {
>   "gstreamer",
>   "xine",
> -  "vlc"
> +  "vlc",
> +  "generic"
>  };
>
>  static const char SIG_FRAME_DECODE[] = "frame_decode";
> @@ -312,6 +313,9 @@
>
>    E_SMART_OBJ_GET(sd, obj, E_OBJ_NAME);
>    if ((!opt) || (!val)) return;
> +
> +   if (!strcmp(opt, "player"))
> +     eina_stringshare_replace(&sd->module_options.player, val);
>  }
>
>  EAPI Eina_Bool
>
> Modified: trunk/emotion/src/modules/Makefile.am
> ===================================================================
> --- trunk/emotion/src/modules/Makefile.am       2011-09-01 18:41:47 UTC (rev 
> 63061)
> +++ trunk/emotion/src/modules/Makefile.am       2011-09-01 19:04:15 UTC (rev 
> 63062)
> @@ -1,4 +1,4 @@
>
>  MAINTAINERCLEANFILES = Makefile.in
>
> -SUBDIRS = xine gstreamer
> +SUBDIRS = xine gstreamer generic
>
>
> ------------------------------------------------------------------------------
> Special Offer -- Download ArcSight Logger for FREE!
> Finally, a world-class log management solution at an even better
> price-free! And you'll get a free "Love Thy Logs" t-shirt when you
> download Logger. Secure your free ArcSight Logger TODAY!
> http://p.sf.net/sfu/arcsisghtdev2dev
> _______________________________________________
> enlightenment-svn mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>



-- 
Rafael Antognolli
ProFUSION embedded systems
http://profusion.mobi

------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better 
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to