On Thu, Sep 1, 2011 at 4:08 PM, Rafael Antognolli
<[email protected]> wrote:
> 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!
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 <[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
>
--
Rafael Antognolli
ProFUSION embedded systems
http://profusion.mobi
diff --git a/src/lib/canvas/evas_object_image.c b/src/lib/canvas/evas_object_image.c
index 4b68e0c..7da46fe 100644
--- a/src/lib/canvas/evas_object_image.c
+++ b/src/lib/canvas/evas_object_image.c
@@ -2798,6 +2798,8 @@ evas_object_image_render(Evas_Object *obj, void *output, void *context, void *su
if (o->func.get_pixels)
{
o->func.get_pixels(o->func.get_pixels_data, obj);
+ if (o->engine_data != pixels)
+ pixels = o->engine_data;
o->engine_data = obj->layer->evas->engine.func->image_dirty_region
(obj->layer->evas->engine.data.output, o->engine_data,
0, 0, o->cur.image.w, o->cur.image.h);
------------------------------------------------------------------------------
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