Summary: only '/' path separator is used while on Windows it can also be '\\'. Fix rage and emotion_test play of videos
Test Plan: emotion_test plays videos while it didn't before this patch
Reviewers: raster, cedric, zmike
Reviewed By: raster
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9837
Summary:
before it would have only worked if there would have been the
architecture in the path, which was definitly not the case.
This fixes the problems.
Depends on D6795
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6819
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
15daff4d3f
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>
@fix
Summary:
In emotion_engine_instance_new(), if given module name is wrong or if loding is failed, fallback module loading should be triggered.a (previously, it check just whether name is NULL or not)
In case of T1025, "vlc" was given name. Therefore, fallback was not triggered.
Fixes T1025
Test Plan: enlightenment -> efm -> mouse over multimedia files -> check whether preview is shown properly or not
Reviewers: raster, cedric
CC: seoz, cedric, zmike
Maniphest Tasks: T1025
Differential Revision: https://phab.enlightenment.org/D773
this makes efl ignore certain env vars for thnigs and entirely removes
user modules (that no one ever used) etc. etc. to ensure that *IF* an
app is setuid, there isn't a priv escalation path that is easy.
so firstly the module loading logic in emotion is pretty bad. it
forcible loads into memory (dlopen + run code from) EVERY emotion
module whenever you use emotion anywhere. this is a fat memory cost and
startup cost. it should not ever have done this. so remove that code
and make it explicitly load only the backend requested and fall back
to using what is compiled in (generic by default) and otherwise
generic as a module, then xine, then gstreamer then gstreamer1.
gstreamer1 seems broke - all i see is a black box (no video).
this also fixes a deadlock problem. if you have BOTH gstreamer AND
gstreamer1 modules loaded i get a deadlock inside glib. this seemingly
fixes it as it'll only load the first one it finds, not both (unless
explicitly requested).
Change the module infra and allow one to register using the
description structure itself, saves some work.
Replace module_open and module_close with add() and del(), that are
more descriptive.
Move stuff to init/shutdown where it was a better fit.
Since add() now receives the first parameter being the owning
structure we can create one structure per generic player and they will
merge transparently with other modules, then we can use a simple
algorithm that considers the plugin priority. ALL DYNAMIC!
Future work could be done to load the plugin priority specified by
user from configuration file. But this is not in my plans right now.
SVN revision: 82602
Removed the engine handling out from smart object, later the module
API will change and we'll be able to simplify many things.
My plan is to allow generic players to register along as regular
modules.
SVN revision: 82597