summaryrefslogtreecommitdiff
path: root/src/lib/emotion
diff options
context:
space:
mode:
authorThomas Guillem <thomas@gllm.fr>2015-09-21 23:19:17 +0200
committerCedric BAIL <cedric@osg.samsung.com>2015-09-21 23:19:20 +0200
commitafe6f5c3a1adbfc3f1b8ab828021accc55b29341 (patch)
treef1b14483f3e1d7cded2389e82fc6e64960b92ee1 /src/lib/emotion
parent07fbef64371d4d6eaabe2ffad939b1d4b277bd13 (diff)
emotion: add libvlc module
Summary: Everything is implemented except visualization, mouse events and some EMOTION_EVENT. Video can output RGBA, YUY2, YV12 or I420. About the video sink: this emotion module use libvlc callbacks: libvlc_video_set_format_callbacks and libvlc_video_set_callbacks. It may be temporary. Indeed, an other solution is to add an Evas module inside vlc. But this vlc module would need to link with emotion in order to use _emotion_frame_new and _emotion_frame_resize private functions. I didn't succeed to output a frame without these private functions: see https://github.com/tguillem/vlc/commit/15daff4d3fdcd3ca7b485c1f8fabb8c1e1c4138c List of /* FIXME */: - Visualization not implemented since there is no API (for now) in libvlc. - Mouse events not implemented since there is no API (for now) in libvlc. - Some EMOTION_EVENT are not handled. - SIGSEGV in evas_gl_common_texture_nv12_update with EVAS_COLORSPACE_YCBCR420NV12601_PL colorspace. Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3071 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Diffstat (limited to 'src/lib/emotion')
-rw-r--r--src/lib/emotion/emotion_modules.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/emotion/emotion_modules.c b/src/lib/emotion/emotion_modules.c
index 6630096ffc..590a61fc42 100644
--- a/src/lib/emotion/emotion_modules.c
+++ b/src/lib/emotion/emotion_modules.c
@@ -13,6 +13,10 @@ void xine_module_shutdown(void);
13Eina_Bool gstreamer_module_init(void); 13Eina_Bool gstreamer_module_init(void);
14void gstreamer_module_shutdown(void); 14void gstreamer_module_shutdown(void);
15#endif 15#endif
16#ifdef EMOTION_STATIC_BUILD_LIBVLC
17Eina_Bool libvlc_module_init(void);
18void libvlc_module_shutdown(void);
19#endif
16#ifdef EMOTION_STATIC_BUILD_GENERIC 20#ifdef EMOTION_STATIC_BUILD_GENERIC
17Eina_Bool generic_module_init(void); 21Eina_Bool generic_module_init(void);
18void generic_module_shutdown(void); 22void generic_module_shutdown(void);
@@ -79,6 +83,9 @@ _emotion_modules_load(void)
79#ifdef EMOTION_BUILD_XINE 83#ifdef EMOTION_BUILD_XINE
80 "xine", 84 "xine",
81#endif 85#endif
86#ifdef EMOTION_BUILD_LIBVLC
87 "libvlc",
88#endif
82 NULL 89 NULL
83 }; 90 };
84 const char **itr; 91 const char **itr;
@@ -118,6 +125,9 @@ emotion_modules_init(void)
118#if defined(EMOTION_STATIC_BUILD_GSTREAMER) || defined(EMOTION_STATIC_BUILD_GSTREAMER1) 125#if defined(EMOTION_STATIC_BUILD_GSTREAMER) || defined(EMOTION_STATIC_BUILD_GSTREAMER1)
119 gstreamer_module_init(); 126 gstreamer_module_init();
120#endif 127#endif
128#ifdef EMOTION_STATIC_BUILD_LIBVLC
129 libvlc_module_init();
130#endif
121#ifdef EMOTION_STATIC_BUILD_GENERIC 131#ifdef EMOTION_STATIC_BUILD_GENERIC
122 generic_module_init(); 132 generic_module_init();
123#endif 133#endif
@@ -136,6 +146,9 @@ emotion_modules_shutdown(void)
136#if defined(EMOTION_STATIC_BUILD_GSTREAMER) || defined(EMOTION_STATIC_BUILD_GSTREAMER1) 146#if defined(EMOTION_STATIC_BUILD_GSTREAMER) || defined(EMOTION_STATIC_BUILD_GSTREAMER1)
137 gstreamer_module_shutdown(); 147 gstreamer_module_shutdown();
138#endif 148#endif
149#ifdef EMOTION_STATIC_BUILD_LIBVLC
150 libvlc_module_shutdown();
151#endif
139#ifdef EMOTION_STATIC_BUILD_GENERIC 152#ifdef EMOTION_STATIC_BUILD_GENERIC
140 generic_module_shutdown(); 153 generic_module_shutdown();
141#endif 154#endif
@@ -366,6 +379,7 @@ emotion_engine_instance_new(const char *name, Evas_Object *obj, Emotion_Module_O
366 if (!m) m = _find_mod("xine"); 379 if (!m) m = _find_mod("xine");
367 if (!m) m = _find_mod("gstreamer"); 380 if (!m) m = _find_mod("gstreamer");
368 if (!m) m = _find_mod("gstreamer1"); 381 if (!m) m = _find_mod("gstreamer1");
382 if (!m) m = _find_mod("libvlc");
369 if (m) eina_module_load(m); 383 if (m) eina_module_load(m);
370 } 384 }
371 385