From: Rafael A. <ant...@pr...> - 2011-09-01 19:17:18
|
On Thu, Sep 1, 2011 at 4:08 PM, Rafael Antognolli <ant...@pr...> wrote: > On Thu, Sep 1, 2011 at 4:04 PM, Enlightenment SVN > <no-...@en...> 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! Ah, and I forgot to mention, but it depends on this attached patch for Evas (though it's not correct, just a quick hack to workaround a bug). So it's not direct to test it :-( >> >> 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 <agu...@gm...> >> Sebastian Dransfeld <sd...@ta...> >> Cedric Bail <ced...@fr...> >> - >> +Rafael Antognolli <ant...@pr...> >> >> 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 >> enl...@li... >> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn >> > > > > -- > Rafael Antognolli > ProFUSION embedded systems > http://profusion.mobi > -- Rafael Antognolli ProFUSION embedded systems http://profusion.mobi |