NOTE: we need the help of the window manager to make this
really work. So for the moment, it half work. As soon as I
hack E17, the Xv fast path for Emotion will only work when
used with E17 and it will fallback to canvas inlined rendering
in other case.
SVN revision: 63802
It seems that depending on the system, vlc can't use a NULL pointer to
the pixels where it should write its data.
So a small amount of memory should be allocated and passed to its
rendering callbacks (specifically, the lock callback) when the file is
being opened and decoded for the first time. Then this memory can be
freed, since the real rendering will happen on the shared memory area.
SVN revision: 63777
The new function emotion_object_keep_aspect_set() allow to set a policy
that will automatically change the emotion object border property, based
on the video aspect ratio and object current aspect ratio.
Possible values are:
* EMOTION_ASPECT_KEEP_NONE
* EMOTION_ASPECT_KEEP_WIDTH
* EMOTION_ASPECT_KEEP_HEIGHT
* EMOTION_ASPECT_KEEP_BOTH
* EMOTION_ASPECT_CROP
* EMOTION_ASPECT_CUSTOM
SVN revision: 63416
This is a simple API that implements colors for the borders specified by
emotion_object_border_set(), using a background rectangle behind the
emotion object.
SVN revision: 63415
The emotion_object_border_set/get APIs were added, allowing one to
specify a positive (border) or negative (crop) value for each of the
edjes of the video being played. This allows easier setup on an Emotion
object to keep the aspect ratio, either by adding black areas on it, or
by cropping the exceding area of the video.
NOTE: The specified border/crop is based on the original size of the
video. If it is scaled (emotion object size is different from the video
size), the borders will be scaled as well.
Patch based on an original patch sent by
Hugo Camboulive <hugo.camboulive@gmail.com>.
SVN revision: 63414
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
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
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
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
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