Attached the test file.
Thanks.
On Wed, Jan 11, 2012 at 4:11 PM, Cedric BAIL <cedric.b...@free.fr> wrote:
> On Wed, Jan 11, 2012 at 11:29 AM, HariHara Sudhan <h...@emo2.com> wrote:
> > I'm playing a background video, which is looping, and i'm adding a image
> > and rotated it to 180 degree.
> > And i've created a click callback on video to make the rectangle move.
> > When i've move the rectangle and rotate it, the background video stops
> > rendering, while the audio is playing fine.
> > Both audio and video are fine when i move a unrotated rectangle.
> > Any solution for this?
>
> Interesting :-) Sounds to me like an issue with evas_render that
> doesn't detect a change somewher in the pipeline. Could you send me a
> simple test case so I could debug it.
>
> Thanks,
> --
> Cedric BAIL
>
>
> ------------------------------------------------------------------------------
> Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
> infrastructure or vast IT resources to deliver seamless, secure access to
> virtual desktops. With this all-in-one solution, easily deploy virtual
> desktops for less than the cost of PCs and save 60% on VDI infrastructure
> costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
Regards
HariHaraSudhan
#include <Ecore.h>
#include <Ecore_Evas.h>
#include <Evas.h>
#include <Emotion.h>
#define WIDTH (1024)
#define HEIGHT (768)
Evas_Object *em;
static void
_playback_started_cb(void *data, Evas_Object *o, void *event_info) {
printf("Emotion object started playback.\n");
}
static void
_playback_finished_cb(void *data, Evas_Object *em, void *event_info) {
emotion_object_position_set(em, 0.0);
emotion_object_play_set(em, EINA_TRUE);
}
Evas *e;
Eina_Bool func(void *data) {
int x, y, w, h;
evas_object_geometry_get(data, &x, &y, &w, &h);
Evas_Map *emMap;
evas_object_move(data, x + 1, y);
evas_object_resize(data, w + 1, h + 1);
emMap = evas_map_new(4);
evas_map_util_points_populate_from_object(emMap, data);
evas_map_util_rotate(emMap, 180, x + (w / 2), y + (h / 2));
evas_object_map_set(data, emMap);
evas_object_map_enable_set(data, EINA_TRUE);
evas_map_free(emMap);
return ECORE_CALLBACK_RENEW;
}
void clicked(void *data, Evas *e, Evas_Object *obj, void *eventinfo) {
printf("Clicked\n");
Ecore_Animator *anim = ecore_animator_add(func, data);
}
int
main(int argc, const char *argv[]) {
Ecore_Evas *ee;
int x, y, w, h;
Evas_Object *bg;
const char *filename = NULL;
if (argc < 2) {
printf("One argument is necessary. Usage:\n");
printf("\t%s <filename>\n", argv[0]);
}
filename = argv[1];
if (!ecore_evas_init())
return EXIT_FAILURE;
/* this will give you a window with an Evas canvas under the first
* engine available */
ee = ecore_evas_new(NULL, 10, 10, WIDTH, HEIGHT, NULL);
if (!ee)
goto error;
ecore_evas_show(ee);
/* the canvas pointer, de facto */
e = ecore_evas_get(ee);
/* adding a background to this example */
bg = evas_object_rectangle_add(e);
evas_object_name_set(bg, "our dear rectangle");
evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
evas_object_move(bg, 0, 0); /* at canvas' origin */
evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
evas_object_show(bg);
/* Creating the emotion object */
em = emotion_object_add(e);
emotion_object_init(em, NULL);
Evas_Object *rect = evas_object_rectangle_add(e);
evas_object_name_set(rect, "rectangle");
evas_object_color_set(rect, 255, 0, 0, 255);
evas_object_move(rect, 100, 100);
evas_object_resize(rect, 100, 100);
evas_object_show(rect);
evas_object_geometry_get(rect, &x, &y, &w, &h);
Evas_Map *emMap = evas_map_new(4);
evas_map_util_points_populate_from_object(emMap, rect);
evas_map_util_rotate(emMap, 180, x + (w / 2), y + (h / 2));
evas_object_map_set(rect, emMap);
evas_object_map_enable_set(rect, EINA_TRUE);
evas_map_free(emMap);
evas_object_smart_callback_add(
em, "playback_finished", _playback_finished_cb, NULL);
evas_object_event_callback_add(em, EVAS_CALLBACK_MOUSE_UP, clicked, rect);
emotion_object_file_set(em, filename);
evas_object_move(em, 0, 0);
evas_object_resize(em, WIDTH, HEIGHT);
evas_object_show(em);
emotion_object_play_set(em, EINA_TRUE);
ecore_main_loop_begin();
ecore_evas_free(ee);
ecore_evas_shutdown();
return 0;
error:
fprintf(stderr, "you got to have at least one evas engine built and linked"
" up to ecore-evas for this example to run properly.\n");
ecore_evas_shutdown();
return -1;
}
------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual
desktops for less than the cost of PCs and save 60% on VDI infrastructure
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel