Commit Graph

115 Commits

Author SHA1 Message Date
Chris Michael 6701bd162d emotion: Properly unmap video frame
Calls to gst_video_frame_unmap should take a GstVideoFrame as a
parameter (not a buffer). I believe this was the intended function
here (to unmap the video frame), so fix the call to not pass a
GstBuffer.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-10-11 09:21:48 -04:00
Carsten Haitzler 0d7b967f45 emotion gst1 - handle null imagwe data returrn and dont crash
fix crash i spotted thanks to getting img obbj data returning null.
@fix
2017-10-07 18:25:19 +09:00
Reynaldo H. Verdejo Pinochet 2cf1fd3be9 emotion: gst: use proper GStreamer time-unit macros
Summary:
Do not harcode numbers that make no immediate sense.

Additionally: add some wont-hurt doc note and fix
two related typos.

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-29 17:08:05 -07:00
Reynaldo H. Verdejo Pinochet 835fd7a485 emotion: gst: drop Frenglish from English messages
Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-29 17:03:11 -07:00
Carsten Haitzler 2eb46302a2 emotion gst1 module - remove extra unneded if's
not a bug, but don't need these

found by PVS studio
2017-07-29 10:56:53 +09:00
Carsten Haitzler 1a16a4f10b emtoion gst1 - workaround gst break between 1.10 and 1.12
so emotion was using a much older (pre 1.0) buffer map mechanism for
getting video data. a new frame map api was added to gst in 1.0 but we
didnt use it. gst broke the old buffer direct mapping for some codecs
paths between 1.10 and 1.12. since we were using a very old method/api
this broke us. this also happens to fix some vaapi issues (except
where the buffer is simply never mappable ever). so this is kind of a
fix (updating us to as more modern api) and a workaround.

@fix
2017-07-19 11:07:47 +09:00
Uma Devika 19df2cd34f Emotion: freed allocated string.
Summary:
GStreamer API gst_caps_to_string returns allocated memory which needs to be freed with g_free() after use.

@fix

Signed-off-by: Uma Devika <u.bodapati@samsung.com>

Reviewers: cedric, tasn, singh.amitesh, raster, jpeg

Subscribers: tanwar.umesh07, yashu21985, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4996
2017-07-04 11:33:11 +09:00
Derek Foreman fddbf75fc9 Fix sed error that changed "video" to "videfl"
commit c662934be8 seems to have accidentally
renamed a few instances of _video_ to _videfl_, this hopefully changes
them all back.
2017-04-17 17:06:28 -05:00
Carsten Haitzler a85494a5b2 emotion - gstreamer1 - fix yuv import funcs to use gst stride + offset
so our yuv import funcs for gstreamer 1.x engine were ignoring the
plane offsets and strides provided by gstreamer. though this nicely
shows that these numbers provided are actually wrong - at least in the
testing with vaapi back-ends with gst.

so this fixes emotions' badness but there is still badness in gst
apparently. the numbers provided if used are just simply wrong for teh
image data. commented code in the src to show how to "Fix it up" by
forcing some alignment of content to get it to work.

@fix
2017-04-16 12:56:11 +09:00
Al Poole 36ab489a6f Fixes latest crash w/rage
Summary:
eina_file_virtualize is causing issues.

memfile_set is better but see attached bt.

What to do???

Reviewers: raster, cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4743
2017-03-31 11:13:04 +09:00
Carsten Haitzler 7d4e417ea8 emotion XXX - make nv12 709 streams work even with slightly off colors
ther eis no 709 nv12 support support in evas but there is 601, so use
that for now until we add the feature of 709 nv12 support.
2017-02-23 11:46:53 +09:00
Al Poole 67bbb685d4 gstreamer buffer unref emotion: too many urefs! Seems I read the documention incorrectly!!!
Reviewers: raster, jpeg, cedric

Reviewed By: raster

Differential Revision: https://phab.enlightenment.org/D4572
2017-01-19 19:16:21 +09:00
Al Poole 1f9e915b5a emotion: add support for obtaining embedded artwork from media files with gstreamer1 backend.
Reviewers: raster, cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-01-12 14:37:19 -08:00
Cedric BAIL 8f1c071d6a eina: rename EINA_{FLT,DBL}_CMP to EINA_{FLT,DBL}_EQ. 2017-01-06 15:58:46 -08:00
Chris Michael 2faf3df444 emotion: remove float comparison warnings
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-20 11:13:40 -05:00
Carsten Haitzler 163affda37 emotion gst1 module - disable subtitles by default as that should be
there are spu apis to turn subtitles on and off and this should be off
until turned on by api. you really have to be able to choose the
subtitles to display - eg language etc. to use them effectively.

this fixes T4795

@fix
2016-10-31 19:53:34 +09:00
Stefan Schmidt 903dbde84a modules: emotion: fix event name after EFL Canvas Video convert
In commit 7b90e11474 the event name changed but
this module was not updated. Luckily we are building it on Jenkins or it would
have gone unnoticed for a long time.
2016-09-22 11:44:59 +02:00
Vitor Sousa f02ff462e7 efl callbacks: update some events calls to no longer trigger legacy callbacks 2016-08-30 13:59:59 -03:00
Vitor Sousa 8356b16a49 Efl Object: remove legacy callback calls from event_callback_call
Efl.Object.event_callback_call no longer calls legacy smart callbacks;
calling only event callbacks registered with the given event description
pointer.

Create the method Efl.Object.event_callback_legacy_call to inherit the old
behavior from Efl.Object.event_callback_call, calling both Efl.Object events
and legacy smart callbacks.

Update all other files accordingly in order to still supply legacy
callbacks while they are necessary.
2016-08-26 15:45:07 -03:00
Tom Hacohen e65aae994e Eo: Finish the renaming of Eo to the EFL.
This renames all the rest of the API to the EFL namespace except for
Eo_Event that will follow soon.

Obviously breaks both API and ABI.
2016-08-15 15:07:42 +01:00
Tom Hacohen c662934be8 Change the EFL to follow the new Eo rename. 2016-08-11 17:04:43 +01:00
Davide Andreoli 3a726037fa Gstreamer1: implement subtitles mute/unmute ability
This seems the only way to disable subtitles embedded in the video file.

WIthout this patch calling em_spu_mute_set/get do not work, thus I consider this a @fix
2016-07-24 11:07:23 +02:00
Carsten Haitzler eb1650d5f2 emotion xine module - silence coverity
silence CID 1357140 as its harmless to not check fcntl here, but dont
confuse coverity.
2016-07-08 19:15:10 +09:00
Carsten Haitzler a510349d00 emotion vlc module - fix potential divide by 0
fix CID 1357146
2016-07-08 19:12:41 +09:00
Carsten Haitzler 4354712ccb emotion xine module - silence coverity complaint
getting the fd from a valid fd handler wont return < 0 but in theory
it can, so just be silent coverity

silence CID 1357155
2016-07-08 19:06:57 +09:00
Carsten Haitzler fe9fb7bcf2 emotion xine module - fix minor complaints but not bugs
silence CID 1357156 , 1357172
2016-07-08 19:02:50 +09:00
Carsten Haitzler 38735806c6 emotion libvlc module - fix possible argv init issue with tokens
fixes CID 1357170
2016-07-08 11:45:07 +09:00
Carsten Haitzler aeeda1f77d efl - threads and signals - make efl work on "insane" os's with signals
so. on linux signals are delivered to the main process thread/loop.
thats' where signal handlers are set up and always run. this is sane.
it's predicatble. but of course this is not the same in bsd land.
there "just send the signal to any old thread and call the signal
handler there" seems to tbe the order of the day. this explains why
wer are losing sigchld signals in edje_cc - it's heavily threaded and
bsd is just randombly picking a thread to call it on.

this fixes that. in theory. i hope. i can't test, but putting it in to
share

@fix
2016-07-04 23:47:25 +09:00
Thomas Guillem 3f1686d01e emotion/libvlc: fix url opening 2016-03-28 16:40:02 +09:00
Thomas Guillem b12c2a2cfd emotion/libvlc: replace libvlc_mp_is_ready with ev->started 2016-03-28 16:40:02 +09:00
Thomas Guillem a6bd5dda42 emotion/libvlc: use vlc vout display module
The vlc vout display module adds key and mouse event support. It improves
performances since a video filter is not needed anymore to scale the image, and
direct rendering with vlc avcodec module is now possible (less memcpy).
2016-03-28 16:40:02 +09:00
Thomas Guillem 50d9f63c2e emotion/libvlc: log: print vlc module and id 2016-03-28 16:40:02 +09:00
Thomas Guillem 7d3e96757d emotion/libvlc: fix C89 2016-03-28 16:40:02 +09:00
Thomas Guillem f5296e8afc emotion/libvlc: set libvlc args from "EMOTION_LIBVLC_ARGS" env 2016-03-28 16:40:02 +09:00
Thomas Guillem 941ccc4324 emotion/libvlc: fix video/audio/spu mute 2016-03-28 16:40:02 +09:00
Thomas Guillem f04903119c emotion/libvlc: set libvlc_log static 2016-03-28 16:40:02 +09:00
Carsten Haitzler 9626acdb4d emotion - fix gst back-end to report title and other meta changes
gst1 back-end didnt report changes in title or other metadata to the
frontend and thusapps never knew it was changing. this fixes that.

@fix
2015-12-21 14:40:41 +09: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
Carsten Haitzler 2b8d54c357 emotion gstreamer1 module - support 709 color matrix properly now
now that 709 colorsp[ace works in evas, use it properly in gst1 module
if possible
2015-05-27 23:34:08 +09:00
Cedric BAIL a9911f5fd8 emotion: trying to fix gstreamer backend build on Windows. 2015-04-28 11:37:11 +02:00
Carsten Haitzler 425de99145 emotion gst1 module - remove printf
this debugging printf seems to have been left around - remove it so we
don't get unexpected noise in gst playback
2015-04-20 18:34:58 +09:00
Carsten Haitzler 6458ca32bc emotion - gst1 module - handle long standing bad map/unmap of gst buf
this fixes a pending XXX where we didnt keep the buffer mapped as long
as the evas image object pointed to the video pixel data. this fixes
this along with less over-zealous refinf to make things more obvious
(now last_buffer actualyl really matters and if it was mapped and
refed).

@fix
2015-04-20 18:34:58 +09:00
Carsten Haitzler bba02377e6 emotion gst backend - make note of some bugs! need fixing - cant now 2014-10-01 08:23:26 +09:00
Carsten Haitzler 807a136305 emotion - gst 0.10 - fix build after volume change/fix 2014-09-03 16:57:01 +09:00
Carsten Haitzler 6ed29b4425 emotion - audio volume - leave as-is on file open/init
this fixes gst and gst1 modules to leave volume be on start. generic
can't really query easily, so just set to 0.8 by default, and xine is
already just fine. do this because back-ends seems to have a habit of
setting master volume, not per-app volume.

@fix
2014-09-01 17:09:09 +09:00
Carsten Haitzler 52b5250713 emotion gst1 - stop complaining about null uri 2014-08-23 19:20:16 +09:00
Carsten Haitzler 12d42e85a4 emotion - gst1 backend - add subtitle file support
this enables subtitle file support in the emotion gstreamer1 backend.
this matches the vlc generic one. xine still doesn't.
2014-08-23 18:26:29 +09:00
Stefan Schmidt 80733c5171 modules/emotion_generic: Remove unnecessary NULL checks for event data
We are already using the pointer before we check it here. We also don't
check it in the other callbacks so align the handling in this file.

CID: 1039635, 1039636, 1039637, 1039638, 1039639
2014-08-08 11:28:56 +02:00
Davide Andreoli 9df1e2e678 Emotion generic: change the log domain name to be consistent with others domains. 2014-02-23 20:40:21 +01:00
Davide Andreoli a1ed4cf9d8 Emotion generic: remove the player restart hack.
The player restart (when reached the end) is a specific VLC issue,
it need to be managed inside the player, not here.
2014-02-22 11:29:16 +01:00