Commit Graph

188 Commits

Author SHA1 Message Date
Daniel Kolesa 7782c0bcb9 eolian: add event_prefix and have classes follow that or eo_prefix by default
Previously events used to use class name as a prefix and ignored eo_prefix
when specified. This is no longer the case. Events follow eo_prefix by default
now. In order to get around this for classes where this is undesirable, a new
field event_prefix was added which takes priority over eo_prefix. If neither
is specified, class name is used like previously.

@feature
2016-05-17 17:50:43 +01:00
Tom Hacohen 6bdf4af016 Add legacy_prefix now that the default has changed to null. 2016-05-12 17:27:35 +01:00
Tom Hacohen 5defd35cef Efl image: Fix namespacing to use . and not _. 2016-05-12 11:35:21 +01:00
Tom Hacohen 0253d91ade Evas object smart: Fix namespace to use . and not _. 2016-05-12 11:12:15 +01:00
Jean-Philippe Andre b458341a13 Efl.Gfx.Buffer: Add interface skeletton 2016-03-15 11:11:59 +09:00
Tom Hacohen f24210caac Revert "Automatic migration to the new eo_add syntax."
This reverts commit 4f949a2757.
2016-03-11 12:29:03 +00:00
Tom Hacohen 4f949a2757 Automatic migration to the new eo_add syntax. 2016-03-09 16:09:14 +00:00
Tom Hacohen 23a6b12183 Fix migration script mistakes and compilation warnings.
Mostly unused vars following the removal of eo_do_ret().
However, there are some cases where the migration script got some things
wrong, and I had to manually fix them.
2016-03-03 09:58:08 +00:00
Tom Hacohen f21ade6123 Automatic migration to Eo4.
I just ran my script (email to follow) to migrate all of the EFL
automatically. This commit is *only* the automatic conversion, so it can
be easily reverted and re-run.
2016-03-03 09:58:08 +00:00
Jean-Philippe Andre 22324f21b3 EFL: Mark EOLIAN functions as static when possible
This affects mostly evas filters.
2016-01-13 15:34:20 +09:00
Felipe Magno de Almeida a3db1dddd3 efl-js: JavaScript Eolian binding
To configure efl sources with bindings to use in nodejs add ––with-js=nodejs in configure flags to generate node files

$ configure --with-js=nodejs

and compile normally with:

$ make
$ make install

To use, you have to require efl:

efl = require('efl')

The bindings is divided in two parts: generated and manually
written. The generation uses the Eolian library for parsing Eo files
and generate C++ code that is compiled against V8 interpreter library
to create a efl.node file that can be required in a node.js instance.

@feature
2015-12-23 23:59:40 -02:00
Stefan Schmidt 6e7db171ad emotion webcam: fix check for v4l2 video capture device capability
The negation should be uses after checking the capability bit with the &.
Better use parenthesis  to make this work.

Thankls to the sparse sematic parser for spotting this.
2015-11-13 14:05:25 +01:00
Amitesh Singh 4884e4164f emotion: fix typo in documentation 2015-09-28 21:54:26 +05:30
Thomas Guillem eeba25397f emotion: lock pending events and pending objects
Summary:
_emotion_pending_ecore_begin and _emotion_pending_ecore_end are not called from
the same thread. Indeed, _emotion_pending_ecore_begin is called from gstreamer
callbacks, and _emotion_pending_ecore_end is called from the mainloop.

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3061

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-09-21 23:24:30 +02:00
Thomas Guillem afe6f5c3a1 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
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>
2015-09-21 23:19:20 +02:00
Chris Michael d0ec306151 emotion: Fix typos in doxygen
Summary: This patch fixes some typos in the documentation of Emotion

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-08-13 11:13:40 -04:00
Daniel Kolesa 18502b8429 efl: fix doc references across the tree to validate right 2015-07-08 15:13:26 +01:00
Daniel Kolesa 7d40ec0ad9 ector,ecore,eio,emotion: convert some docs 2015-06-10 14:35:11 +01:00
Avi Levin f9c116a487 emotion: porting evas smart callbacks to eo 2015-06-07 11:00:52 +03:00
Tom Hacohen 6efbfe227a Eo: Add a return value to eo_constructor().
From now on, constructors should return a value, usually the object
being worked on, or NULL (if the constructor failed). This can also
be used for implementing singletons, by just always returning the same
object from the constructor.

This is one of the final steps towards stabilizing Eo.

@feature
2015-05-20 13:03:24 +01:00
Daniel Kolesa 058a9c9d88 eolian: new syntax for params/values/keys
Instead of "@in type name;" we now use "@in name: type;". This change
is done because of consistency with the rest of Eolian; pretty much
every other part of Eolian syntax uses the latter form.

This is a big breaking change in the .eo format, so please update your
.eo files accordingly and compile Elementary together with the EFL.

@feature
2015-05-18 16:14:31 +01:00
Daniel Kolesa 8c51033d49 eolian: fix doc comments across the tree 2015-05-11 15:38:03 +01:00
Carsten Haitzler 7485c41cf4 efl - emotion modules - unbreak due to EAPI changes
emotion relied on Emotion.h's EAPI defs... now they have been removed
fix!
2015-05-08 14:13:17 +09:00
Daniel Kolesa ed0988a22d eolian: change all EFL .eo files to use new syntax for properties 2015-05-07 16:36:58 +01:00
Cedric BAIL f193b91fd8 emotion: remove the need to order the header correctly for Windows. 2015-05-07 09:53:11 +02:00
Tom Hacohen acd4ace06c Emotion: Migrate some more of emotion to Eo/efl.player. 2015-05-06 18:22:22 +01:00
Tom Hacohen 648ad2591c Fix code to conform to recent Eo changes. 2015-02-23 17:16:02 +00:00
Stefan Schmidt 263a04b6dd emotion: Add wma as possible playable extension
This allows to preview (listen) a wma file in efm for example.

Fixes T1568
2014-10-22 15:12:41 +02:00
Philippe Caseiro acfd5a8256 emotion: updating API documentation. 2014-10-20 18:32:22 +02:00
Nicolas Aguirre 1e64aed04a emotion: add documentation for Emotion_Version structure. 2014-10-20 18:02:18 +02:00
Carsten Haitzler 50b4f61bae emotion - limit pos set seecks to 0.0 at minumum point 2014-10-06 09:13:14 +09:00
Tom Hacohen a7560dbc61 Eo: Change eo_add/del/unref behaviour.
Before this change eo_add() used to create an object with 1 ref, and if
the object had a parent, a second ref.
Now, eo_add() always returns an object with 1 ref, and eo_add_ref()
    preserves the old behaviour (for bindings).

eo_unref now un-parents if refcount is 0, and eo_del() is an alias for
eo_unref (will change to be a way to ensure an object is dead and goes
        to zombie-land even if still refed).
2014-09-25 17:38:45 +01:00
Carsten Haitzler b7afdc80ec emotion - fix calling pos update cb for gst1 module in frame new
@fix
2014-09-01 12:45:41 +09:00
Carsten Haitzler ca5e0c6a9d emotion - fix engine string leak
fixes CID 1232727
2014-08-27 17:08:16 +09:00
Carsten Haitzler c20cf0964f emotion - make emotion object init now optional.
if you don't init (or set engine) on an emotion object, itstill works
- it chooses the default engine.. whihc i now have set as gst1. :) one
less thing that HAS to be done on init. better.
2014-08-22 17:38:50 +09:00
Wonguk Jeong a0999f9600 emotion: add more audio formats in supporting extension list 2014-08-21 17:59:05 +02:00
Wonguk Jeong ddbc67a01a emotion: support gstreamer1 for EFL_RUN_IN_TREE/static library 2014-08-21 17:02:21 +02:00
Tom Hacohen a9a049b8ab Eo files: Adjust according to latest eolian changes. 2014-08-21 11:02:11 +01:00
Tom Hacohen 5ec2aecd83 Emotion object: Convert from a smart object to an eo object. 2014-08-21 11:02:11 +01:00
Tom Hacohen 0f3ccbfd17 Emotion object: Create .eo file. 2014-08-21 11:02:11 +01:00
Wonguk Jeong e79f88f8e9 Revert "emotion: add more audio formats in supporting extension list"
revert since 1.11 is not yet released.

This reverts commit 154d534852.
2014-08-20 01:58:02 +02:00
Wonguk Jeong 154d534852 emotion: add more audio formats in supporting extension list 2014-08-20 01:18:22 +02:00
Guillaume Friloux 4f7bab2134 Fix unused var warning in emotion. 2014-05-30 14:37:42 +02:00
Cedric Bail 17debde44b emotion: remove warning. 2014-04-27 20:43:14 +02:00
Wonguk Jeong 66b784c804 emotion: use eina stringshare not strdup
Summary: @fix

Reviewers: raster, cedric

Reviewed By: cedric

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D804
2014-04-27 13:10:48 +02:00
Wonguk Jeong dd587ba43b emotion: play set before file open callback bug fix
Summary:
Before "open_done" callback, play unset is ineffective.
is it intentional logic?

if we set play and unset play again before "open_done" callback, the video will be played.

@fix

Reviewers: raster, cedric

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D786
2014-04-24 18:10:10 +09:00
Wonguk Jeong 80236eed78 emotion: fix triggering condition of fallback module loading
@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
2014-04-20 09:58:59 -04:00
Cedric BAIL 9b53044b6f emotion: do not segv when no module are found. 2014-04-02 15:43:47 +09:00
wonguk.jeong b218c13fb7 emotion: fix memory leak
engine instance handle was not free'd in emotion_engine_instance_del()

@fix

Reviewers: raster, cedric

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D672

Signed-off-by: Cedric BAIL <cedric.bail@free.fr>
2014-04-01 22:00:13 +09:00
Carsten Haitzler e8c13118eb fix mingw build for setuid fix/checks 2014-01-08 22:06:41 +09:00
Carsten Haitzler b95ef3801f setuid safeness - ensure if an app that is setuid doesn't do bad things
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.
2014-01-08 19:46:23 +09:00
Carsten Haitzler c8630c85a1 emotion - broken module loading loagic fixed that fixes gst 0.10/1 deadlock
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).
2013-12-27 17:18:01 +09:00
Daniel Juyung Seo 76d8532b54 efl: Unified eina critical manro to CRI.
Being annoyed by different types of eina critical macros - CRI, CRIT,
 CRITICAL -, I concluded to unify them to one. Discussed on IRC and
 finally, CRI was chosen to meet the consistency with other macros -
 ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.
2013-12-26 12:27:13 +09:00
Cedric BAIL e131580aba emotion: fix Windows compilation. 2013-12-16 17:03:10 +09:00
Cedric BAIL fce52b1031 emotion: revert to fast sed to use the right eina log domain. 2013-12-16 15:25:36 +09:00
Carsten Haitzler 6d5058ee1c emotion - webcam - don't access after free and ensure it is not in list
this should fix CID 1137853 and CID 1137854
2013-12-15 11:31:28 +09:00
Carsten Haitzler 5d6e30fae0 fix fd leak in emotion webcam where fd of value 0 never closed
fixes CID 1039175
2013-12-13 21:26:05 +09:00
Cedric BAIL ca2f9571ab emotion: make webcam initialization lazy and non blocking.
This should fix T648.
2013-12-13 12:44:19 +09:00
Cedric BAIL 96c1d15ac0 emotion: fix potential memory leak when webcam register fail. 2013-12-13 12:22:06 +09:00
Cedric BAIL f6c4513da4 emotion: use emotion log domain instead of eina one. 2013-12-13 11:30:46 +09:00
Cedric BAIL d55164c5a2 emotion: lower warning on webcam access error to information (Not critical anyway). 2013-12-13 11:30:46 +09:00
Carsten Haitzler b07c0a76ce alpha1 release autofoo/build tree work to pass distcheck and actually work 2013-11-04 18:33:35 +09:00
Michaël Bouchaud (yoz) 4ce3e1e72f emotion: add two events to trigger when a webcam is plugged or unplugged 2013-10-09 12:29:04 +02:00
Stefan Schmidt d54bfd7e1d emotion: Avoid leak by also checking for fd being null.
If fd would be null here we would leak the fd handle. Fix the check.

CID: 1039175
2013-09-12 15:26:34 +01:00
Cedric Bail 6c1833246c emotion: fix backend order. 2013-08-01 10:52:41 +09:00
Carsten Haitzler f9f0b717e6 emotion - fix shutdown to ensure all pending async calls are gone too. 2013-07-18 20:00:22 +09:00
Chris Michael 3fb6ef5a83 Fix compiler warnings
- include unistd.h for close function.
- initialize fd to -1 so we can check error condition.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-07-09 16:13:12 +01:00
Chris Michael 5f3a2dd5f6 Don't leak fd handles (ie: leave files open) when checking devices
NB: Fixes Coverity CID1039175

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-09 13:29:32 +01:00
Chris Michael 970a5badd3 Add missing break in switch
NB: Fixes Coverity CID1039372

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 13:44:39 +01:00
Sebastian Dransfeld 336f6ec328 efl: formatting 2013-06-20 13:28:18 +02:00
Cedric Bail d92783d5f7 emotion: rename Emotion_Module.h to emotion_modules.h 2013-05-10 10:48:33 +09:00
Carsten Haitzler ab7bd544f8 emotion - free up engine and stuff on obj del, and let smartdata hang
about for eio stuff. hrmmmmf. cedric!!! :)
2013-03-11 16:54:59 +09:00
Carsten Haitzler dee5e1d85f emotion "fix" - not actually a bug i hit, but a potential one where
xattr change jobs are not deleted on sd free.
2013-03-11 15:53:28 +09:00
Cedric BAIL 1121103ecb emotion: improve portability of Emotion Generic by using EFL more. 2013-02-27 21:10:28 +09:00
Gustavo Sverzut Barbieri 8e9303e1a4 efl/emotion: postpone finding modules as well.
SVN revision: 82680
2013-01-12 05:19:46 +00:00
Gustavo Sverzut Barbieri ae51833bac emotion: reorder cleanup of modules.
SVN revision: 82674
2013-01-12 01:08:14 +00:00
Gustavo Sverzut Barbieri d83b83e10b efl/emotion: delay module loading until they are needed.
SVN revision: 82651
2013-01-11 17:41:53 +00:00
Jérémy Zurcher 5b885ea931 fix segv in emotion_webcam_init and leak in emotion_webcam_config_load
SVN revision: 82650
2013-01-11 17:20:22 +00:00
Gustavo Sverzut Barbieri 356d4f733c efl/emotion: rework module infra, better integration with 'generic'.
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
2013-01-11 03:06:42 +00:00
Gustavo Sverzut Barbieri 2fb89cc58a efl/emotion: remove init/shutdown from module, it's a subfunction of open/close!
SVN revision: 82600
2013-01-11 00:37:31 +00:00
Gustavo Sverzut Barbieri 619d6033f3 efl/emotion: remove handle from wrong place.
that handle should live elsewhere, it was a hack.



SVN revision: 82598
2013-01-11 00:31:56 +00:00
Gustavo Sverzut Barbieri 6e963a6118 efl/emotion: start to refactor engine handling.
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
2013-01-11 00:27:35 +00:00
Gustavo Sverzut Barbieri 6125cd9e87 efl/emotion: move register/unregister.
SVN revision: 82593
2013-01-10 22:17:32 +00:00
Gustavo Sverzut Barbieri 8a4248732a efl/emotion: move module stuff.
* do not abuse emotion_private.h by using that in modules
 * split emotion_module.c to allow more changes later.



SVN revision: 82592
2013-01-10 22:11:07 +00:00
Gustavo Sverzut Barbieri d1341cc826 efl/emotion: move webcam stuff out of main file.
SVN revision: 82591
2013-01-10 21:50:02 +00:00
Gustavo Sverzut Barbieri 517471190f efl/emotion: refactor init/shutdown, load modules from eina_prefix.
* emotion_init() and emotion_shutdown() now exist, let's do our
   initialization from there.

 * smart_add/smart_free will call init/shutdown for legacy apps.

 * use eina_prefix to determine runtime location.

 * use eina_module_arch_list_get()



SVN revision: 82509
2013-01-10 05:48:55 +00:00
Gustavo Sverzut Barbieri 1fbed8d3a6 efl/emotion: use path_max
still needs to change to use eina_prefix :-/



SVN revision: 82502
2013-01-10 03:47:46 +00:00
Gustavo Sverzut Barbieri dfb84c1657 efl: merge emotion.
this one was quite a huge work, but hopefully it's correct.

NOTES:
 * removed vlc generic module, it should go into a separate package.
 * gstreamer is enabled by default (see --disable-gstreamer)
 * xine is disabled by default (see --enable-gstreamer)
 * generic is always built statically if supported
 * gstreamer and xine can't be configured as static (just lacks command line options, build system supports it)
 * v4l2 is enabled by default on linux if eeze is built (see --disable-v4l2)
 * emotion_test moved to src/tests/emotion and depends on EFL_ENABLE_TESTS (--with-tests), but is still installed if enabled.

TODO (need your help!):
 * fix warnings with gstreamer and xine engine
 * call engine shutdown functions if building as static
 * remove direct usage of PACKAGE_*_DIR and use eina_prefix
 * add eina_prefix checkme file as evas and others
 * add support for $EFL_RUN_IN_TREE
 * create separate package for emotion_generic_modules
 * check docs hierarchy (doxygen is segv'in here)



SVN revision: 82501
2013-01-10 03:43:32 +00:00