Comparing software-sdl and software-16-sdl showed many small differences
this makes both engines' code much more alike.
The software-16-sdl was especially buggy, hopefully, this should make
it just as stable as the software-sdl engine.
SVN revision: 63248
These options must be set on the player even if there's no file opened
yet. Thus, just postpone the related commands to when the player has
opened the file already.
SVN revision: 63234
Move the frame drop counter to the shared memory object, so the player
can check its value and not send new frames if we didn't "consume" the
previous one.
Also move the triple buffering pointer changing to the display function,
so it will only lock once when accessing the critical region.
SVN revision: 63220
Note: this function help keep a jump table so we reduce
the need to walk over the complete list to insert one
element. It's of course doesn't make it an O(log(n)) in
access time, but it increase it's cost more slowly.
With 10000 items, you can count around 50 pointers
dereferencing and with with 50000 items around 200 pointers
dereferencing.
Of course the comparison stay in O(log(n)).
SVN revision: 63213
Otherwise if we try to call file_set(<some file>) after file_set(NULL),
it will send a close command to the player for an already closed file.
Also make the example cycle through the list of movies, but still
passing through a NULL file when reaching one of the ends of the list.
SVN revision: 63208
These values need to be reset as soon as a new file is set, otherwise
they can give wrong information to evas about the size of pixels to
render.
SVN revision: 63205
Note: this help the driver to know that we don't it
to swizzle back the pixel from GPU format, because we
are going to replace all pixels.
SVN revision: 63201
Now the player will have the stdin and stdout available for anything
else, and there's no need to make line-buffering with ecore_exe anymore.
SVN revision: 63198
It now checks if was possible to get the shared memory, and returns true
or false. This will command will also be used later to return false for
file opening no matter what was the problem, and maybe the int parameter
will indicate the type of error.
SVN revision: 63197
The problem was that our rbtree implementation doesn't support chaining
duplicates and with no fonts, all the paragraphs had the same y coord (0).
Changing the paragraph index to work on line_no for sorting fixes it,
as line numbers are also correct when there are no fonts.
Thanks a lot to KaKaRoTo for letting me know about this issue.
SVN revision: 63188
Previous commit to disable VLC messed everything, so this one fixes it doing:
- remove old src/modules/vlc and related.
- add EMOTION_CHECK_GENERIC_PLAYER() m4 macro
- change previous EMOTION_BUILD_VLC to EMOTION_BUILD_GENERIC_VLC
SVN revision: 63140
use eina_log instead of weirdo printfs... multiple levels, greatness
everywhere... helped me debug emotion's warning.
It is always a pain to try to use library log and notice they are not
using their own standards :-/
export EINA_LOG_LEVELS=eina_prefix:4
SVN revision: 63108
The "pixels" pointer was set in the beginning of evas_object_image_render(),
and never updated, even after pixels_get() changed the content of
o->engine_data.
This patch updates that pointer if it becomes different from engine_data.
SVN revision: 63090
Move players from $bindir to $libdir/emotion/utils and find them with
eina_prefix. I was willing to play with this prefix thing, quite nice
;-)
SVN revision: 63077
Emotion explores some different paths in Evas pipeline as it changes
image pixels frequently and sometimes uses different
colorspaces. Let's change if it's all working fine using a nice proxy
effect that mirrors the playing video.
emotion_test --reflex <video.avi>
SVN revision: 63071
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.
SVN revision: 63062
multi-touch devices to xcb.
Remove dead code.
Add missing flush calls after change_window_attributes.
Quiet down the event code by commenting out some LOGFN's.
Make selection event code more like Xlib.
Add missing flush calls after send_event.
SVN revision: 63009