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

Reply via email to