summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Magno de Almeida <felipe@expertise.dev>2021-01-11 10:31:30 +0000
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2021-01-11 10:31:30 +0000
commitc118886043ffe2e4d95bcc0e0c2780c79237ca5c (patch)
treec30dd1da3047b7f1b54fc43b24643bfb113a5aec
parent0472f219790b822a3f41c12621a4001d7e5dfb86 (diff)
emotion: emotion EAPI macro to EMOTION_API in Emotion library
Summary: Patch from a series of patches to rename EAPI symbols to specific library DSOs. = The Rationale = EAPI was designed to be able to pass `__attribute__ ((visibility ("default")))` for symbols with GCC, which would mean that even if -fvisibility=hidden was used when compiling the library, the needed symbols would get exported. MSVC __almost__ works like GCC (or mingw) in which you can declare everything as export and it will just work (slower, but it will work). But there's a caveat: global variables will not work the same way for MSVC, but works for mingw and GCC. For global variables (as opposed to functions), MSVC requires correct DSO visibility for MSVC: instead of declaring a symbol as export for everything, you need to declare it as import when importing from another DSO and export when defining it locally. With current EAPI definitions, we get the following example working in mingw and MSVC (observe it doesn't define any global variables as exported symbols). Example 1: dll1: ``` EAPI void foo(void); EAPI void bar() { foo(); } ``` dll2: ``` EAPI void foo() { printf ("foo\n"); } ``` This works fine with API defined as __declspec(dllexport) in both cases and for gcc defining as `__atttribute__((visibility("default")))`. However, the following: Example 2: dll1: ``` EAPI extern int foo; EAPI void foobar(void); EAPI void bar() { foo = 5; foobar(); } ``` dll2: ``` EAPI int foo = 0; EAPI void foobar() { printf ("foo %d\n", foo); } ``` This will work on mingw but will not work for MSVC. And that's why EAPI is the only solution that worked for MSVC. Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com> Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev> Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com> Reviewers: vtorri, woohyun, jptiz, lucas Reviewed By: vtorri, lucas Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12227
-rw-r--r--src/lib/emotion/Emotion.h193
-rw-r--r--src/lib/emotion/efl_canvas_video.eo8
-rw-r--r--src/lib/emotion/efl_canvas_video_eo.legacy.c4
-rw-r--r--src/lib/emotion/efl_canvas_video_eo.legacy.h4
-rw-r--r--src/lib/emotion/emotion_api.h32
-rw-r--r--src/lib/emotion/emotion_main.c18
-rw-r--r--src/lib/emotion/emotion_modules.c4
-rw-r--r--src/lib/emotion/emotion_modules.h89
-rw-r--r--src/lib/emotion/emotion_smart.c178
-rw-r--r--src/lib/emotion/emotion_webcam.c14
-rw-r--r--src/lib/emotion/meson.build4
11 files changed, 264 insertions, 284 deletions
diff --git a/src/lib/emotion/Emotion.h b/src/lib/emotion/Emotion.h
index 5f68c09fa7..b4495c12f2 100644
--- a/src/lib/emotion/Emotion.h
+++ b/src/lib/emotion/Emotion.h
@@ -93,31 +93,7 @@
93#include <Evas.h> 93#include <Evas.h>
94#include <Efl_Config.h> 94#include <Efl_Config.h>
95 95
96#ifdef EAPI 96#include <emotion_api.h>
97# undef EAPI
98#endif
99
100#ifdef _WIN32
101# ifdef EFL_BUILD
102# ifdef DLL_EXPORT
103# define EAPI __declspec(dllexport)
104# else
105# define EAPI
106# endif
107# else
108# define EAPI __declspec(dllimport)
109# endif
110#else
111# ifdef __GNUC__
112# if __GNUC__ >= 4
113# define EAPI __attribute__ ((visibility("default")))
114# else
115# define EAPI
116# endif
117# else
118# define EAPI
119# endif
120#endif
121 97
122#ifdef __cplusplus 98#ifdef __cplusplus
123extern "C" { 99extern "C" {
@@ -282,7 +258,7 @@ typedef struct _Emotion_Version
282 int revision; /** < git revision (0 if a proper release or the git revision number Emotion is built from) */ 258 int revision; /** < git revision (0 if a proper release or the git revision number Emotion is built from) */
283 } Emotion_Version; 259 } Emotion_Version;
284 260
285EAPI extern Emotion_Version *emotion_version; 261EMOTION_API extern Emotion_Version *emotion_version;
286 262
287/* api calls available */ 263/* api calls available */
288 264
@@ -371,14 +347,14 @@ EAPI extern Emotion_Version *emotion_version;
371 * Initialise needed libraries like eina ecore eet 347 * Initialise needed libraries like eina ecore eet
372 * Initialise needed modules like webcam 348 * Initialise needed modules like webcam
373 */ 349 */
374EAPI Eina_Bool emotion_init(void); 350EMOTION_API Eina_Bool emotion_init(void);
375 351
376/** 352/**
377 * @brief Shutdown Emotion library 353 * @brief Shutdown Emotion library
378 * 354 *
379 * Proper shutdown of all loaded modules and initialised libraries. 355 * Proper shutdown of all loaded modules and initialised libraries.
380 */ 356 */
381EAPI Eina_Bool emotion_shutdown(void); 357EMOTION_API Eina_Bool emotion_shutdown(void);
382 358
383/** 359/**
384 * @brief Add an emotion object to the canvas. 360 * @brief Add an emotion object to the canvas.
@@ -405,7 +381,7 @@ EAPI Eina_Bool emotion_shutdown(void);
405 * 381 *
406 * @ingroup Emotion_Init 382 * @ingroup Emotion_Init
407 */ 383 */
408EAPI Evas_Object *emotion_object_add (Evas *evas); 384EMOTION_API Evas_Object *emotion_object_add (Evas *evas);
409 385
410/** 386/**
411 * @brief Set borders for the emotion object. 387 * @brief Set borders for the emotion object.
@@ -435,7 +411,7 @@ EAPI Evas_Object *emotion_object_add (Evas *evas);
435 * 411 *
436 * @ingroup Emotion_Video 412 * @ingroup Emotion_Video
437 */ 413 */
438EAPI void emotion_object_border_set(Evas_Object *obj, int l, int r, int t, int b); 414EMOTION_API void emotion_object_border_set(Evas_Object *obj, int l, int r, int t, int b);
439 415
440/** 416/**
441 * @brief Get the borders set for the emotion object. 417 * @brief Get the borders set for the emotion object.
@@ -450,7 +426,7 @@ EAPI void emotion_object_border_set(Evas_Object *obj, int l, int r, int t, int b
450 * 426 *
451 * @ingroup Emotion_Video 427 * @ingroup Emotion_Video
452 */ 428 */
453EAPI void emotion_object_border_get(const Evas_Object *obj, int *l, int *r, int *t, int *b); 429EMOTION_API void emotion_object_border_get(const Evas_Object *obj, int *l, int *r, int *t, int *b);
454 430
455/** 431/**
456 * @brief Set a color for the background rectangle of this emotion object. 432 * @brief Set a color for the background rectangle of this emotion object.
@@ -471,7 +447,7 @@ EAPI void emotion_object_border_get(const Evas_Object *obj, int *l, int *r, int
471 * 447 *
472 * @ingroup Emotion_Video 448 * @ingroup Emotion_Video
473 */ 449 */
474EAPI void emotion_object_bg_color_set(Evas_Object *obj, int r, int g, int b, int a); 450EMOTION_API void emotion_object_bg_color_set(Evas_Object *obj, int r, int g, int b, int a);
475 451
476/** 452/**
477 * @brief Get the background color set for the emotion object. 453 * @brief Get the background color set for the emotion object.
@@ -486,7 +462,7 @@ EAPI void emotion_object_bg_color_set(Evas_Object *obj, int r, int g, int b, int
486 * 462 *
487 * @ingroup Emotion_Video 463 * @ingroup Emotion_Video
488 */ 464 */
489EAPI void emotion_object_bg_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a); 465EMOTION_API void emotion_object_bg_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a);
490 466
491/** 467/**
492 * @brief Set whether emotion should keep the aspect ratio of the video. 468 * @brief Set whether emotion should keep the aspect ratio of the video.
@@ -530,7 +506,7 @@ EAPI void emotion_object_bg_color_get(const Evas_Object *obj, int *r, int *g, in
530 * 506 *
531 * @ingroup Emotion_Video 507 * @ingroup Emotion_Video
532 */ 508 */
533EAPI void emotion_object_keep_aspect_set(Evas_Object *obj, Emotion_Aspect a); 509EMOTION_API void emotion_object_keep_aspect_set(Evas_Object *obj, Emotion_Aspect a);
534 510
535/** 511/**
536 * @brief Get the current emotion aspect ratio policy. 512 * @brief Get the current emotion aspect ratio policy.
@@ -543,7 +519,7 @@ EAPI void emotion_object_keep_aspect_set(Evas_Object *obj, Emotion_Aspect a);
543 * 519 *
544 * @ingroup Emotion_Video 520 * @ingroup Emotion_Video
545 */ 521 */
546EAPI Emotion_Aspect emotion_object_keep_aspect_get(const Evas_Object *obj); 522EMOTION_API Emotion_Aspect emotion_object_keep_aspect_get(const Evas_Object *obj);
547 523
548/** 524/**
549 * @brief Set the file to be played in the Emotion object. 525 * @brief Set the file to be played in the Emotion object.
@@ -574,7 +550,7 @@ EAPI Emotion_Aspect emotion_object_keep_aspect_get(const Evas_Object *obj);
574 * 550 *
575 * @ingroup Emotion_Init 551 * @ingroup Emotion_Init
576 */ 552 */
577EAPI Eina_Bool emotion_object_file_set (Evas_Object *obj, const char *filename); 553EMOTION_API Eina_Bool emotion_object_file_set (Evas_Object *obj, const char *filename);
578 554
579/** 555/**
580 * @brief Get the filename of the file associated with the emotion object. 556 * @brief Get the filename of the file associated with the emotion object.
@@ -592,7 +568,7 @@ EAPI Eina_Bool emotion_object_file_set (Evas_Object *obj, const
592 * 568 *
593 * @ingroup Emotion_Init 569 * @ingroup Emotion_Init
594 */ 570 */
595EAPI const char *emotion_object_file_get (const Evas_Object *obj); 571EMOTION_API const char *emotion_object_file_get (const Evas_Object *obj);
596/** 572/**
597 * @defgroup Emotion_Play Play control functions 573 * @defgroup Emotion_Play Play control functions
598 * @ingroup Emotion 574 * @ingroup Emotion
@@ -609,14 +585,14 @@ EAPI const char *emotion_object_file_get (const Evas_Object *obj);
609 * This functions sets the currently playing status of the video. Using this 585 * This functions sets the currently playing status of the video. Using this
610 * function to play or pause the video doesn't alter it's current position. 586 * function to play or pause the video doesn't alter it's current position.
611 */ 587 */
612EAPI void emotion_object_play_set (Evas_Object *obj, Eina_Bool play); 588EMOTION_API void emotion_object_play_set (Evas_Object *obj, Eina_Bool play);
613/** 589/**
614 * @brief Get play/pause state of the media file. 590 * @brief Get play/pause state of the media file.
615 * 591 *
616 * @param obj The emotion object from which the state will be retrieved. 592 * @param obj The emotion object from which the state will be retrieved.
617 * @return EINA_TRUE if playing. EINA_FALSE if not playing. 593 * @return EINA_TRUE if playing. EINA_FALSE if not playing.
618 */ 594 */
619EAPI Eina_Bool emotion_object_play_get (const Evas_Object *obj); 595EMOTION_API Eina_Bool emotion_object_play_get (const Evas_Object *obj);
620/** 596/**
621 * @brief Set the position in the media file. 597 * @brief Set the position in the media file.
622 * 598 *
@@ -629,7 +605,7 @@ EAPI Eina_Bool emotion_object_play_get (const Evas_Object *obj);
629 * 605 *
630 * @see emotion_object_seekable_get 606 * @see emotion_object_seekable_get
631 */ 607 */
632EAPI void emotion_object_position_set (Evas_Object *obj, double sec); 608EMOTION_API void emotion_object_position_set (Evas_Object *obj, double sec);
633/** 609/**
634 * @brief Get the position in the media file. 610 * @brief Get the position in the media file.
635 * 611 *
@@ -639,7 +615,7 @@ EAPI void emotion_object_position_set (Evas_Object *obj, double
639 * The position is returned as the number of seconds since the beginning of the 615 * The position is returned as the number of seconds since the beginning of the
640 * media file. 616 * media file.
641 */ 617 */
642EAPI double emotion_object_position_get (const Evas_Object *obj); 618EMOTION_API double emotion_object_position_get (const Evas_Object *obj);
643 619
644/** 620/**
645 * @brief Get the percentual size of the buffering cache. 621 * @brief Get the percentual size of the buffering cache.
@@ -655,7 +631,7 @@ EAPI double emotion_object_position_get (const Evas_Object *obj);
655 * 631 *
656 * @warning Generic backend don't implement this (will return 1.0). 632 * @warning Generic backend don't implement this (will return 1.0).
657 */ 633 */
658EAPI double emotion_object_buffer_size_get (const Evas_Object *obj); 634EMOTION_API double emotion_object_buffer_size_get (const Evas_Object *obj);
659 635
660/** 636/**
661 * @brief Get whether the media file is seekable. 637 * @brief Get whether the media file is seekable.
@@ -664,7 +640,7 @@ EAPI double emotion_object_buffer_size_get (const Evas_Object *obj);
664 * retrieved. 640 * retrieved.
665 * @return EINA_TRUE if the media file is seekable, EINA_FALSE otherwise. 641 * @return EINA_TRUE if the media file is seekable, EINA_FALSE otherwise.
666 */ 642 */
667EAPI Eina_Bool emotion_object_seekable_get (const Evas_Object *obj); 643EMOTION_API Eina_Bool emotion_object_seekable_get (const Evas_Object *obj);
668/** 644/**
669 * @brief Get the length of play for the media file. 645 * @brief Get the length of play for the media file.
670 * 646 *
@@ -676,7 +652,7 @@ EAPI Eina_Bool emotion_object_seekable_get (const Evas_Object *obj);
676 * @warning This will return 0 if called before the "length_change" signal has, 652 * @warning This will return 0 if called before the "length_change" signal has,
677 * been emitted. 653 * been emitted.
678 */ 654 */
679EAPI double emotion_object_play_length_get (const Evas_Object *obj); 655EMOTION_API double emotion_object_play_length_get (const Evas_Object *obj);
680 656
681/** 657/**
682 * @brief Set the play speed of the media file. 658 * @brief Set the play speed of the media file.
@@ -690,7 +666,7 @@ EAPI double emotion_object_play_length_get (const Evas_Object *obj);
690 * @warning The only backend that implements this is the experimental VLC 666 * @warning The only backend that implements this is the experimental VLC
691 * backend. 667 * backend.
692 */ 668 */
693EAPI void emotion_object_play_speed_set (Evas_Object *obj, double speed); 669EMOTION_API void emotion_object_play_speed_set (Evas_Object *obj, double speed);
694/** 670/**
695 * @brief Get the play speed of the media file. 671 * @brief Get the play speed of the media file.
696 * 672 *
@@ -699,7 +675,7 @@ EAPI void emotion_object_play_speed_set (Evas_Object *obj, double
699 * 675 *
700 * @see emotion_object_play_speed_set 676 * @see emotion_object_play_speed_set
701 */ 677 */
702EAPI double emotion_object_play_speed_get (const Evas_Object *obj); 678EMOTION_API double emotion_object_play_speed_get (const Evas_Object *obj);
703/** 679/**
704 * @brief Get how much of the file has been played. 680 * @brief Get how much of the file has been played.
705 * 681 *
@@ -709,7 +685,7 @@ EAPI double emotion_object_play_speed_get (const Evas_Object *obj);
709 * @warning Don't change of free the returned string. 685 * @warning Don't change of free the returned string.
710 * @warning gstreamer xine backends don't implement this(will return NULL). 686 * @warning gstreamer xine backends don't implement this(will return NULL).
711 */ 687 */
712EAPI const char *emotion_object_progress_info_get (const Evas_Object *obj); 688EMOTION_API const char *emotion_object_progress_info_get (const Evas_Object *obj);
713/** 689/**
714 * @brief Get how much of the file has been played. 690 * @brief Get how much of the file has been played.
715 * 691 *
@@ -721,12 +697,12 @@ EAPI const char *emotion_object_progress_info_get (const Evas_Object *obj);
721 * 697 *
722 * @warning gstreamer xine backends don't implement this(will return 0). 698 * @warning gstreamer xine backends don't implement this(will return 0).
723 */ 699 */
724EAPI double emotion_object_progress_status_get (const Evas_Object *obj); 700EMOTION_API double emotion_object_progress_status_get (const Evas_Object *obj);
725/** 701/**
726 * @} 702 * @}
727 */ 703 */
728EAPI Eina_Bool emotion_object_video_handled_get (const Evas_Object *obj); 704EMOTION_API Eina_Bool emotion_object_video_handled_get (const Evas_Object *obj);
729EAPI Eina_Bool emotion_object_audio_handled_get (const Evas_Object *obj); 705EMOTION_API Eina_Bool emotion_object_audio_handled_get (const Evas_Object *obj);
730 706
731/** 707/**
732 * @brief Retrieve the video aspect ratio of the media file loaded. 708 * @brief Retrieve the video aspect ratio of the media file loaded.
@@ -809,7 +785,7 @@ EAPI Eina_Bool emotion_object_audio_handled_get (const Evas_Object *obj);
809 * 785 *
810 * @ingroup Emotion_Video 786 * @ingroup Emotion_Video
811 */ 787 */
812EAPI double emotion_object_ratio_get (const Evas_Object *obj); 788EMOTION_API double emotion_object_ratio_get (const Evas_Object *obj);
813 789
814/** 790/**
815 * @brief Retrieve the video size of the loaded file. 791 * @brief Retrieve the video size of the loaded file.
@@ -833,7 +809,7 @@ EAPI double emotion_object_ratio_get (const Evas_Object *obj);
833 * 809 *
834 * @ingroup Emotion_Video 810 * @ingroup Emotion_Video
835 */ 811 */
836EAPI void emotion_object_size_get (const Evas_Object *obj, int *iw, int *ih); 812EMOTION_API void emotion_object_size_get (const Evas_Object *obj, int *iw, int *ih);
837 813
838/** 814/**
839 * @brief Sets whether to use of high-quality image scaling algorithm 815 * @brief Sets whether to use of high-quality image scaling algorithm
@@ -850,7 +826,7 @@ EAPI void emotion_object_size_get (const Evas_Object *obj,
850 * 826 *
851 * @ingroup Emotion_Video 827 * @ingroup Emotion_Video
852 */ 828 */
853EAPI void emotion_object_smooth_scale_set (Evas_Object *obj, Eina_Bool smooth); 829EMOTION_API void emotion_object_smooth_scale_set (Evas_Object *obj, Eina_Bool smooth);
854 830
855/** 831/**
856 * @brief Gets whether the high-quality image scaling algorithm 832 * @brief Gets whether the high-quality image scaling algorithm
@@ -863,7 +839,7 @@ EAPI void emotion_object_smooth_scale_set (Evas_Object *obj, Eina_B
863 * 839 *
864 * @ingroup Emotion_Video 840 * @ingroup Emotion_Video
865 */ 841 */
866EAPI Eina_Bool emotion_object_smooth_scale_get (const Evas_Object *obj); 842EMOTION_API Eina_Bool emotion_object_smooth_scale_get (const Evas_Object *obj);
867 843
868/** 844/**
869 * @brief Send an Emotion Event to an Evas object 845 * @brief Send an Emotion Event to an Evas object
@@ -873,7 +849,7 @@ EAPI Eina_Bool emotion_object_smooth_scale_get (const Evas_Object *obj);
873 * 849 *
874 * @see Emotion_Event 850 * @see Emotion_Event
875 */ 851 */
876EAPI void emotion_object_event_simple_send (Evas_Object *obj, Emotion_Event ev); 852EMOTION_API void emotion_object_event_simple_send (Evas_Object *obj, Emotion_Event ev);
877 853
878/** 854/**
879 * @brief Set the audio volume. 855 * @brief Set the audio volume.
@@ -893,7 +869,7 @@ EAPI void emotion_object_event_simple_send (Evas_Object *obj, Emotio
893 * 869 *
894 * @ingroup Emotion_Audio 870 * @ingroup Emotion_Audio
895 */ 871 */
896EAPI void emotion_object_audio_volume_set (Evas_Object *obj, double vol); 872EMOTION_API void emotion_object_audio_volume_set (Evas_Object *obj, double vol);
897 873
898/** 874/**
899 * @brief Get the audio volume. 875 * @brief Get the audio volume.
@@ -908,7 +884,7 @@ EAPI void emotion_object_audio_volume_set (Evas_Object *obj, double
908 * 884 *
909 * @ingroup Emotion_Audio 885 * @ingroup Emotion_Audio
910 */ 886 */
911EAPI double emotion_object_audio_volume_get (const Evas_Object *obj); 887EMOTION_API double emotion_object_audio_volume_get (const Evas_Object *obj);
912 888
913/** 889/**
914 * @brief Set the mute audio option for this object. 890 * @brief Set the mute audio option for this object.
@@ -926,7 +902,7 @@ EAPI double emotion_object_audio_volume_get (const Evas_Object *obj);
926 * 902 *
927 * @ingroup Emotion_Audio 903 * @ingroup Emotion_Audio
928 */ 904 */
929EAPI void emotion_object_audio_mute_set (Evas_Object *obj, Eina_Bool mute); 905EMOTION_API void emotion_object_audio_mute_set (Evas_Object *obj, Eina_Bool mute);
930 906
931/** 907/**
932 * @brief Get the mute audio option of this object. 908 * @brief Get the mute audio option of this object.
@@ -941,11 +917,11 @@ EAPI void emotion_object_audio_mute_set (Evas_Object *obj, Eina_B
941 * 917 *
942 * @ingroup Emotion_Audio 918 * @ingroup Emotion_Audio
943 */ 919 */
944EAPI Eina_Bool emotion_object_audio_mute_get (const Evas_Object *obj); 920EMOTION_API Eina_Bool emotion_object_audio_mute_get (const Evas_Object *obj);
945EAPI int emotion_object_audio_channel_count (const Evas_Object *obj); 921EMOTION_API int emotion_object_audio_channel_count (const Evas_Object *obj);
946EAPI const char *emotion_object_audio_channel_name_get(const Evas_Object *obj, int channel); 922EMOTION_API const char *emotion_object_audio_channel_name_get(const Evas_Object *obj, int channel);
947EAPI void emotion_object_audio_channel_set (Evas_Object *obj, int channel); 923EMOTION_API void emotion_object_audio_channel_set (Evas_Object *obj, int channel);
948EAPI int emotion_object_audio_channel_get (const Evas_Object *obj); 924EMOTION_API int emotion_object_audio_channel_get (const Evas_Object *obj);
949 925
950/** 926/**
951 * @brief Set the mute video option for this object. 927 * @brief Set the mute video option for this object.
@@ -963,7 +939,7 @@ EAPI int emotion_object_audio_channel_get (const Evas_Object *obj);
963 * 939 *
964 * @ingroup Emotion_Video 940 * @ingroup Emotion_Video
965 */ 941 */
966EAPI void emotion_object_video_mute_set (Evas_Object *obj, Eina_Bool mute); 942EMOTION_API void emotion_object_video_mute_set (Evas_Object *obj, Eina_Bool mute);
967 943
968/** 944/**
969 * @brief Get the mute video option of this object. 945 * @brief Get the mute video option of this object.
@@ -978,7 +954,7 @@ EAPI void emotion_object_video_mute_set (Evas_Object *obj, Eina_B
978 * 954 *
979 * @ingroup Emotion_Video 955 * @ingroup Emotion_Video
980 */ 956 */
981EAPI Eina_Bool emotion_object_video_mute_get (const Evas_Object *obj); 957EMOTION_API Eina_Bool emotion_object_video_mute_get (const Evas_Object *obj);
982 958
983/** 959/**
984 * @brief Set the video's subtitle file path. 960 * @brief Set the video's subtitle file path.
@@ -994,7 +970,7 @@ EAPI Eina_Bool emotion_object_video_mute_get (const Evas_Object *obj);
994 * @ingroup Emotion_Video 970 * @ingroup Emotion_Video
995 * @since 1.8 971 * @since 1.8
996 */ 972 */
997EAPI void emotion_object_video_subtitle_file_set (Evas_Object *obj, const char *filepath); 973EMOTION_API void emotion_object_video_subtitle_file_set (Evas_Object *obj, const char *filepath);
998 974
999/** 975/**
1000 * @brief Get the video's subtitle file path. 976 * @brief Get the video's subtitle file path.
@@ -1010,7 +986,7 @@ EAPI void emotion_object_video_subtitle_file_set (Evas_Object *obj, cons
1010 * @ingroup Emotion_Video 986 * @ingroup Emotion_Video
1011 * @since 1.8 987 * @since 1.8
1012 */ 988 */
1013EAPI const char *emotion_object_video_subtitle_file_get (const Evas_Object *obj); 989EMOTION_API const char *emotion_object_video_subtitle_file_get (const Evas_Object *obj);
1014 990
1015/** 991/**
1016 * @brief Get the number of available video channel 992 * @brief Get the number of available video channel
@@ -1022,7 +998,7 @@ EAPI const char *emotion_object_video_subtitle_file_get (const Evas_Object *ob
1022 * 998 *
1023 * @ingroup Emotion_Video 999 * @ingroup Emotion_Video
1024 */ 1000 */
1025EAPI int emotion_object_video_channel_count (const Evas_Object *obj); 1001EMOTION_API int emotion_object_video_channel_count (const Evas_Object *obj);
1026 1002
1027/** 1003/**
1028 * @brief Get the name of a given video channel 1004 * @brief Get the name of a given video channel
@@ -1035,7 +1011,7 @@ EAPI int emotion_object_video_channel_count (const Evas_Object *obj);
1035 * 1011 *
1036 * @ingroup Emotion_Video 1012 * @ingroup Emotion_Video
1037 */ 1013 */
1038EAPI const char *emotion_object_video_channel_name_get(const Evas_Object *obj, int channel); 1014EMOTION_API const char *emotion_object_video_channel_name_get(const Evas_Object *obj, int channel);
1039 1015
1040/** 1016/**
1041 * @brief Set the channel for a given video object 1017 * @brief Set the channel for a given video object
@@ -1045,7 +1021,7 @@ EAPI const char *emotion_object_video_channel_name_get(const Evas_Object *obj,
1045 * 1021 *
1046 * @ingroup Emotion_Video 1022 * @ingroup Emotion_Video
1047 */ 1023 */
1048EAPI void emotion_object_video_channel_set (Evas_Object *obj, int channel); 1024EMOTION_API void emotion_object_video_channel_set (Evas_Object *obj, int channel);
1049 1025
1050/** 1026/**
1051 * @brief Get the channel for a given video object 1027 * @brief Get the channel for a given video object
@@ -1055,18 +1031,18 @@ EAPI void emotion_object_video_channel_set (Evas_Object *obj, int ch
1055 * 1031 *
1056 * @ingroup Emotion_Video 1032 * @ingroup Emotion_Video
1057 */ 1033 */
1058EAPI int emotion_object_video_channel_get (const Evas_Object *obj); 1034EMOTION_API int emotion_object_video_channel_get (const Evas_Object *obj);
1059EAPI void emotion_object_spu_mute_set (Evas_Object *obj, Eina_Bool mute); 1035EMOTION_API void emotion_object_spu_mute_set (Evas_Object *obj, Eina_Bool mute);
1060EAPI Eina_Bool emotion_object_spu_mute_get (const Evas_Object *obj); 1036EMOTION_API Eina_Bool emotion_object_spu_mute_get (const Evas_Object *obj);
1061EAPI int emotion_object_spu_channel_count (const Evas_Object *obj); 1037EMOTION_API int emotion_object_spu_channel_count (const Evas_Object *obj);
1062EAPI const char *emotion_object_spu_channel_name_get (const Evas_Object *obj, int channel); 1038EMOTION_API const char *emotion_object_spu_channel_name_get (const Evas_Object *obj, int channel);
1063EAPI void emotion_object_spu_channel_set (Evas_Object *obj, int channel); 1039EMOTION_API void emotion_object_spu_channel_set (Evas_Object *obj, int channel);
1064EAPI int emotion_object_spu_channel_get (const Evas_Object *obj); 1040EMOTION_API int emotion_object_spu_channel_get (const Evas_Object *obj);
1065EAPI int emotion_object_chapter_count (const Evas_Object *obj); 1041EMOTION_API int emotion_object_chapter_count (const Evas_Object *obj);
1066EAPI void emotion_object_chapter_set (Evas_Object *obj, int chapter); 1042EMOTION_API void emotion_object_chapter_set (Evas_Object *obj, int chapter);
1067EAPI int emotion_object_chapter_get (const Evas_Object *obj); 1043EMOTION_API int emotion_object_chapter_get (const Evas_Object *obj);
1068EAPI const char *emotion_object_chapter_name_get (const Evas_Object *obj, int chapter); 1044EMOTION_API const char *emotion_object_chapter_name_get (const Evas_Object *obj, int chapter);
1069EAPI void emotion_object_eject (Evas_Object *obj); 1045EMOTION_API void emotion_object_eject (Evas_Object *obj);
1070 1046
1071/** 1047/**
1072 * @brief Get the dvd title from this emotion object. 1048 * @brief Get the dvd title from this emotion object.
@@ -1080,11 +1056,11 @@ EAPI void emotion_object_eject (Evas_Object *obj);
1080 * 1056 *
1081 * @ingroup Emotion_Info 1057 * @ingroup Emotion_Info
1082 */ 1058 */
1083EAPI const char *emotion_object_title_get (const Evas_Object *obj); 1059EMOTION_API const char *emotion_object_title_get (const Evas_Object *obj);
1084EAPI const char *emotion_object_ref_file_get (const Evas_Object *obj); 1060EMOTION_API const char *emotion_object_ref_file_get (const Evas_Object *obj);
1085EAPI int emotion_object_ref_num_get (const Evas_Object *obj); 1061EMOTION_API int emotion_object_ref_num_get (const Evas_Object *obj);
1086EAPI int emotion_object_spu_button_count_get (const Evas_Object *obj); 1062EMOTION_API int emotion_object_spu_button_count_get (const Evas_Object *obj);
1087EAPI int emotion_object_spu_button_get (const Evas_Object *obj); 1063EMOTION_API int emotion_object_spu_button_get (const Evas_Object *obj);
1088 1064
1089/** 1065/**
1090 * @brief Retrieve meta information from this file being played. 1066 * @brief Retrieve meta information from this file being played.
@@ -1106,7 +1082,7 @@ EAPI int emotion_object_spu_button_get (const Evas_Object *obj);
1106 * 1082 *
1107 * @ingroup Emotion_Info 1083 * @ingroup Emotion_Info
1108 */ 1084 */
1109EAPI const char *emotion_object_meta_info_get (const Evas_Object *obj, Emotion_Meta_Info meta); 1085EMOTION_API const char *emotion_object_meta_info_get (const Evas_Object *obj, Emotion_Meta_Info meta);
1110 1086
1111/** 1087/**
1112 * @brief Set the visualization to be used with this object. 1088 * @brief Set the visualization to be used with this object.
@@ -1125,7 +1101,7 @@ EAPI const char *emotion_object_meta_info_get (const Evas_Object *obj,
1125 * 1101 *
1126 * @ingroup Emotion_Visualization 1102 * @ingroup Emotion_Visualization
1127 */ 1103 */
1128EAPI void emotion_object_vis_set (Evas_Object *obj, Emotion_Vis visualization); 1104EMOTION_API void emotion_object_vis_set (Evas_Object *obj, Emotion_Vis visualization);
1129 1105
1130/** 1106/**
1131 * @brief Get the type of visualization in use by this emotion object. 1107 * @brief Get the type of visualization in use by this emotion object.
@@ -1142,7 +1118,7 @@ EAPI void emotion_object_vis_set (Evas_Object *obj, Emotio
1142 * 1118 *
1143 * @ingroup Emotion_Visualization 1119 * @ingroup Emotion_Visualization
1144 */ 1120 */
1145EAPI Emotion_Vis emotion_object_vis_get (const Evas_Object *obj); 1121EMOTION_API Emotion_Vis emotion_object_vis_get (const Evas_Object *obj);
1146 1122
1147/** 1123/**
1148 * @brief Query whether a type of visualization is supported by this object. 1124 * @brief Query whether a type of visualization is supported by this object.
@@ -1160,7 +1136,7 @@ EAPI Emotion_Vis emotion_object_vis_get (const Evas_Object *obj);
1160 * 1136 *
1161 * @ingroup Emotion_Visualization 1137 * @ingroup Emotion_Visualization
1162 */ 1138 */
1163EAPI Eina_Bool emotion_object_vis_supported (const Evas_Object *obj, Emotion_Vis visualization); 1139EMOTION_API Eina_Bool emotion_object_vis_supported (const Evas_Object *obj, Emotion_Vis visualization);
1164 1140
1165/** 1141/**
1166 * @brief Raise priority of an object so it will have a priviledged access to hardware resources. 1142 * @brief Raise priority of an object so it will have a priviledged access to hardware resources.
@@ -1180,7 +1156,7 @@ EAPI Eina_Bool emotion_object_vis_supported (const Evas_Object *obj,
1180 * 1156 *
1181 * @ingroup Emotion_Ressource 1157 * @ingroup Emotion_Ressource
1182 */ 1158 */
1183EAPI void emotion_object_priority_set(Evas_Object *obj, Eina_Bool priority); 1159EMOTION_API void emotion_object_priority_set(Evas_Object *obj, Eina_Bool priority);
1184 1160
1185/** 1161/**
1186 * @brief Get the actual priority of an object. 1162 * @brief Get the actual priority of an object.
@@ -1195,7 +1171,7 @@ EAPI void emotion_object_priority_set(Evas_Object *obj, Eina_Bool priori
1195 * 1171 *
1196 * @ingroup Emotion_Ressource 1172 * @ingroup Emotion_Ressource
1197 */ 1173 */
1198EAPI Eina_Bool emotion_object_priority_get(const Evas_Object *obj); 1174EMOTION_API Eina_Bool emotion_object_priority_get(const Evas_Object *obj);
1199 1175
1200/** 1176/**
1201 * @brief Change the state of an object pipeline. 1177 * @brief Change the state of an object pipeline.
@@ -1212,7 +1188,7 @@ EAPI Eina_Bool emotion_object_priority_get(const Evas_Object *obj);
1212 * 1188 *
1213 * @ingroup Emotion_Ressource 1189 * @ingroup Emotion_Ressource
1214 */ 1190 */
1215EAPI void emotion_object_suspend_set(Evas_Object *obj, Emotion_Suspend state); 1191EMOTION_API void emotion_object_suspend_set(Evas_Object *obj, Emotion_Suspend state);
1216 1192
1217/** 1193/**
1218 * @brief Get the current state of the pipeline 1194 * @brief Get the current state of the pipeline
@@ -1225,7 +1201,7 @@ EAPI void emotion_object_suspend_set(Evas_Object *obj, Emotion_Suspend s
1225 * 1201 *
1226 * @ingroup Emotion_Ressource 1202 * @ingroup Emotion_Ressource
1227 */ 1203 */
1228EAPI Emotion_Suspend emotion_object_suspend_get(Evas_Object *obj); 1204EMOTION_API Emotion_Suspend emotion_object_suspend_get(Evas_Object *obj);
1229 1205
1230/** 1206/**
1231 * @brief Load the last known position if available 1207 * @brief Load the last known position if available
@@ -1241,7 +1217,7 @@ EAPI Emotion_Suspend emotion_object_suspend_get(Evas_Object *obj);
1241 * 1217 *
1242 * @ingroup Emotion_Info 1218 * @ingroup Emotion_Info
1243 */ 1219 */
1244EAPI void emotion_object_last_position_load(Evas_Object *obj); 1220EMOTION_API void emotion_object_last_position_load(Evas_Object *obj);
1245 1221
1246/** 1222/**
1247 * @brief Save the lastest position if possible 1223 * @brief Save the lastest position if possible
@@ -1257,7 +1233,7 @@ EAPI void emotion_object_last_position_load(Evas_Object *obj);
1257 * 1233 *
1258 * @ingroup Emotion_Info 1234 * @ingroup Emotion_Info
1259 */ 1235 */
1260EAPI void emotion_object_last_position_save(Evas_Object *obj); 1236EMOTION_API void emotion_object_last_position_save(Evas_Object *obj);
1261 1237
1262/** 1238/**
1263 * @brief Do we have a chance to play that file 1239 * @brief Do we have a chance to play that file
@@ -1269,7 +1245,7 @@ EAPI void emotion_object_last_position_save(Evas_Object *obj);
1269 * 1245 *
1270 * @see emotion_object_extension_may_play_get() 1246 * @see emotion_object_extension_may_play_get()
1271 */ 1247 */
1272EAPI Eina_Bool emotion_object_extension_may_play_fast_get(const char *file); 1248EMOTION_API Eina_Bool emotion_object_extension_may_play_fast_get(const char *file);
1273 1249
1274/** 1250/**
1275 * @brief Do we have a chance to play that file 1251 * @brief Do we have a chance to play that file
@@ -1281,7 +1257,7 @@ EAPI Eina_Bool emotion_object_extension_may_play_fast_get(const char *file);
1281 * 1257 *
1282 * @see emotion_object_extension_may_play_fast_get() 1258 * @see emotion_object_extension_may_play_fast_get()
1283 */ 1259 */
1284EAPI Eina_Bool emotion_object_extension_may_play_get(const char *file); 1260EMOTION_API Eina_Bool emotion_object_extension_may_play_get(const char *file);
1285 1261
1286/** 1262/**
1287 * @brief Get the actual image object that contains the pixels of the video stream 1263 * @brief Get the actual image object that contains the pixels of the video stream
@@ -1292,7 +1268,7 @@ EAPI Eina_Bool emotion_object_extension_may_play_get(const char *file);
1292 * 1268 *
1293 * @see emotion_object_image_get() 1269 * @see emotion_object_image_get()
1294 */ 1270 */
1295EAPI Evas_Object *emotion_object_image_get(const Evas_Object *obj); 1271EMOTION_API Evas_Object *emotion_object_image_get(const Evas_Object *obj);
1296 1272
1297/** 1273/**
1298 * @defgroup Emotion_Webcam API available for accessing webcam 1274 * @defgroup Emotion_Webcam API available for accessing webcam
@@ -1301,9 +1277,9 @@ EAPI Evas_Object *emotion_object_image_get(const Evas_Object *obj);
1301 1277
1302typedef struct _Emotion_Webcam Emotion_Webcam; /**< Webcam description */ 1278typedef struct _Emotion_Webcam Emotion_Webcam; /**< Webcam description */
1303 1279
1304EAPI extern int EMOTION_WEBCAM_UPDATE; /**< Ecore_Event triggered when a new webcam is plugged or unplugged */ 1280EMOTION_API extern int EMOTION_WEBCAM_UPDATE; /**< Ecore_Event triggered when a new webcam is plugged or unplugged */
1305EAPI extern int EMOTION_WEBCAM_ADD; /**< Ecore_Event triggered when a new webcam is plugged in @since 1.8*/ 1281EMOTION_API extern int EMOTION_WEBCAM_ADD; /**< Ecore_Event triggered when a new webcam is plugged in @since 1.8*/
1306EAPI extern int EMOTION_WEBCAM_DEL; /**< Ecore_Event triggered when a webcam is unplugged @since 1.8 */ 1282EMOTION_API extern int EMOTION_WEBCAM_DEL; /**< Ecore_Event triggered when a webcam is unplugged @since 1.8 */
1307 1283
1308/** 1284/**
1309 * @brief Get a list of active and available webcam 1285 * @brief Get a list of active and available webcam
@@ -1315,7 +1291,7 @@ EAPI extern int EMOTION_WEBCAM_DEL; /**< Ecore_Event triggered when a webcam is
1315 * 1291 *
1316 * @ingroup Emotion_Webcam 1292 * @ingroup Emotion_Webcam
1317 */ 1293 */
1318EAPI const Eina_List *emotion_webcams_get(void); 1294EMOTION_API const Eina_List *emotion_webcams_get(void);
1319 1295
1320/** 1296/**
1321 * @brief Get the human understandable name of a Webcam 1297 * @brief Get the human understandable name of a Webcam
@@ -1325,7 +1301,7 @@ EAPI const Eina_List *emotion_webcams_get(void);
1325 * 1301 *
1326 * @ingroup Emotion_Webcam 1302 * @ingroup Emotion_Webcam
1327 */ 1303 */
1328EAPI const char *emotion_webcam_name_get(const Emotion_Webcam *ew); 1304EMOTION_API const char *emotion_webcam_name_get(const Emotion_Webcam *ew);
1329 1305
1330/** 1306/**
1331 * @brief Get the uri of a Webcam that will be understood by emotion 1307 * @brief Get the uri of a Webcam that will be understood by emotion
@@ -1335,7 +1311,7 @@ EAPI const char *emotion_webcam_name_get(const Emotion_Webcam *ew);
1335 * 1311 *
1336 * @ingroup Emotion_Webcam 1312 * @ingroup Emotion_Webcam
1337 */ 1313 */
1338EAPI const char *emotion_webcam_device_get(const Emotion_Webcam *ew); 1314EMOTION_API const char *emotion_webcam_device_get(const Emotion_Webcam *ew);
1339 1315
1340/** 1316/**
1341 * @brief Get the album artwork from file meta data tags. 1317 * @brief Get the album artwork from file meta data tags.
@@ -1349,7 +1325,7 @@ EAPI const char *emotion_webcam_device_get(const Emotion_Webcam *ew);
1349 * @since 1.19 1325 * @since 1.19
1350 */ 1326 */
1351 1327
1352EAPI Evas_Object *emotion_file_meta_artwork_get(const Evas_Object *obj, const char *path, Emotion_Artwork_Info type); 1328EMOTION_API Evas_Object *emotion_file_meta_artwork_get(const Evas_Object *obj, const char *path, Emotion_Artwork_Info type);
1353/** 1329/**
1354 * @} 1330 * @}
1355 */ 1331 */
@@ -1358,7 +1334,4 @@ EAPI Evas_Object *emotion_file_meta_artwork_get(const Evas_Object *obj, cons
1358} 1334}
1359#endif 1335#endif
1360 1336
1361#undef EAPI
1362#define EAPI
1363
1364#endif 1337#endif
diff --git a/src/lib/emotion/efl_canvas_video.eo b/src/lib/emotion/efl_canvas_video.eo
index 0f2ffa7435..33549391a9 100644
--- a/src/lib/emotion/efl_canvas_video.eo
+++ b/src/lib/emotion/efl_canvas_video.eo
@@ -92,14 +92,14 @@ class @beta Efl.Canvas.Video extends Efl.Canvas.Group
92} 92}
93 93
94/* FIXME: Need to be added: 94/* FIXME: Need to be added:
95EAPI double emotion_object_buffer_size_get (const Evas_Object *obj); 95EMOTION_API double emotion_object_buffer_size_get (const Evas_Object *obj);
96EAPI const char *emotion_object_progress_info_get (const Evas_Object *obj); 96EMOTION_API const char *emotion_object_progress_info_get (const Evas_Object *obj);
97 97
98Everything starting from (needs to be added): 98Everything starting from (needs to be added):
99EAPI int emotion_object_audio_channel_count (const Evas_Object *obj); 99EMOTION_API int emotion_object_audio_channel_count (const Evas_Object *obj);
100 100
101Should this be part of player or emotion object? 101Should this be part of player or emotion object?
102EAPI void emotion_object_event_simple_send (Evas_Object *obj, Emotion_Event ev); 102EMOTION_API void emotion_object_event_simple_send (Evas_Object *obj, Emotion_Event ev);
103 103
104Deliberations: 104Deliberations:
105Should this really implement the image interface? 105Should this really implement the image interface?
diff --git a/src/lib/emotion/efl_canvas_video_eo.legacy.c b/src/lib/emotion/efl_canvas_video_eo.legacy.c
index e7e0dcee67..987408dd7b 100644
--- a/src/lib/emotion/efl_canvas_video_eo.legacy.c
+++ b/src/lib/emotion/efl_canvas_video_eo.legacy.c
@@ -1,11 +1,11 @@
1 1
2EAPI void 2EMOTION_API void
3emotion_object_module_option_set(Efl_Canvas_Video *obj, const char *opt, const char *val) 3emotion_object_module_option_set(Efl_Canvas_Video *obj, const char *opt, const char *val)
4{ 4{
5 efl_canvas_video_option_set(obj, opt, val); 5 efl_canvas_video_option_set(obj, opt, val);
6} 6}
7 7
8EAPI Eina_Bool 8EMOTION_API Eina_Bool
9emotion_object_init(Efl_Canvas_Video *obj, const char *module_filename) 9emotion_object_init(Efl_Canvas_Video *obj, const char *module_filename)
10{ 10{
11 return efl_canvas_video_engine_set(obj, module_filename); 11 return efl_canvas_video_engine_set(obj, module_filename);
diff --git a/src/lib/emotion/efl_canvas_video_eo.legacy.h b/src/lib/emotion/efl_canvas_video_eo.legacy.h
index 205c305aea..19a8a33270 100644
--- a/src/lib/emotion/efl_canvas_video_eo.legacy.h
+++ b/src/lib/emotion/efl_canvas_video_eo.legacy.h
@@ -29,7 +29,7 @@ typedef Eo Efl_Canvas_Video;
29 * 29 *
30 * @ingroup (null)_Group 30 * @ingroup (null)_Group
31 */ 31 */
32EAPI void emotion_object_module_option_set(Efl_Canvas_Video *obj, const char *opt, const char *val); 32EMOTION_API void emotion_object_module_option_set(Efl_Canvas_Video *obj, const char *opt, const char *val);
33 33
34/** 34/**
35 * @brief Initializes an emotion object with the specified module. 35 * @brief Initializes an emotion object with the specified module.
@@ -55,6 +55,6 @@ EAPI void emotion_object_module_option_set(Efl_Canvas_Video *obj, const char *op
55 * 55 *
56 * @ingroup (null)_Group 56 * @ingroup (null)_Group
57 */ 57 */
58EAPI Eina_Bool emotion_object_init(Efl_Canvas_Video *obj, const char *module_filename); 58EMOTION_API Eina_Bool emotion_object_init(Efl_Canvas_Video *obj, const char *module_filename);
59 59
60#endif 60#endif
diff --git a/src/lib/emotion/emotion_api.h b/src/lib/emotion/emotion_api.h
new file mode 100644
index 0000000000..fc4d7704fa
--- /dev/null
+++ b/src/lib/emotion/emotion_api.h
@@ -0,0 +1,32 @@
1#ifndef _EFL_EMOTION_API_H
2#define _EFL_EMOTION_API_H
3
4#ifdef EMOTION_API
5#error EMOTION_API should not be already defined
6#endif
7
8#ifdef _WIN32
9# ifndef EMOTION_STATIC
10# ifdef EMOTION_BUILD
11# define EMOTION_API __declspec(dllexport)
12# else
13# define EMOTION_API __declspec(dllimport)
14# endif
15# else
16# define EMOTION_API
17# endif
18# define EMOTION_API_WEAK
19#elif defined(__GNUC__)
20# if __GNUC__ >= 4
21# define EMOTION_API __attribute__ ((visibility("default")))
22# define EMOTION_API_WEAK __attribute__ ((weak))
23# else
24# define EMOTION_API
25# define EMOTION_API_WEAK
26# endif
27#else
28# define EMOTION_API
29# define EMOTION_API_WEAK
30#endif
31
32#endif
diff --git a/src/lib/emotion/emotion_main.c b/src/lib/emotion/emotion_main.c
index f9ab316b09..8ad5877f70 100644
--- a/src/lib/emotion/emotion_main.c
+++ b/src/lib/emotion/emotion_main.c
@@ -20,7 +20,7 @@
20static Emotion_Version _version = { VMAJ, VMIN, VMIC, VREV }; 20static Emotion_Version _version = { VMAJ, VMIN, VMIC, VREV };
21static int emotion_pending_objects = 0; 21static int emotion_pending_objects = 0;
22static Eina_Lock emotion_pending_lock; 22static Eina_Lock emotion_pending_lock;
23EAPI Emotion_Version *emotion_version = &_version; 23EMOTION_API Emotion_Version *emotion_version = &_version;
24 24
25Eina_Prefix *_emotion_pfx = NULL; 25Eina_Prefix *_emotion_pfx = NULL;
26int _emotion_log_domain = -1; 26int _emotion_log_domain = -1;
@@ -115,14 +115,14 @@ _emotion_object_extension_can_play_generic_get(const void *data EINA_UNUSED, con
115 return EINA_FALSE; 115 return EINA_FALSE;
116} 116}
117 117
118EAPI Eina_Bool 118EMOTION_API Eina_Bool
119emotion_object_extension_may_play_fast_get(const char *file) 119emotion_object_extension_may_play_fast_get(const char *file)
120{ 120{
121 EINA_SAFETY_ON_NULL_RETURN_VAL(file, EINA_FALSE); 121 EINA_SAFETY_ON_NULL_RETURN_VAL(file, EINA_FALSE);
122 return _emotion_object_extension_can_play_generic_get(NULL, file); 122 return _emotion_object_extension_can_play_generic_get(NULL, file);
123} 123}
124 124
125EAPI Eina_Bool 125EMOTION_API Eina_Bool
126emotion_object_extension_may_play_get(const char *file) 126emotion_object_extension_may_play_get(const char *file)
127{ 127{
128 const char *tmp; 128 const char *tmp;
@@ -138,7 +138,7 @@ emotion_object_extension_may_play_get(const char *file)
138 138
139static int _emotion_init_count = 0; 139static int _emotion_init_count = 0;
140 140
141EAPI Eina_Bool 141EMOTION_API Eina_Bool
142emotion_init(void) 142emotion_init(void)
143{ 143{
144 char buffer[PATH_MAX]; 144 char buffer[PATH_MAX];
@@ -196,7 +196,7 @@ emotion_init(void)
196 196
197static int emotion_pendig_events = 0; 197static int emotion_pendig_events = 0;
198 198
199EAPI void 199EMOTION_API void
200_emotion_pending_ecore_begin(void) 200_emotion_pending_ecore_begin(void)
201{ 201{
202 eina_lock_take(&emotion_pending_lock); 202 eina_lock_take(&emotion_pending_lock);
@@ -204,7 +204,7 @@ _emotion_pending_ecore_begin(void)
204 eina_lock_release(&emotion_pending_lock); 204 eina_lock_release(&emotion_pending_lock);
205} 205}
206 206
207EAPI void 207EMOTION_API void
208_emotion_pending_ecore_end(void) 208_emotion_pending_ecore_end(void)
209{ 209{
210 eina_lock_take(&emotion_pending_lock); 210 eina_lock_take(&emotion_pending_lock);
@@ -212,7 +212,7 @@ _emotion_pending_ecore_end(void)
212 eina_lock_release(&emotion_pending_lock); 212 eina_lock_release(&emotion_pending_lock);
213} 213}
214 214
215EAPI Eina_Bool 215EMOTION_API Eina_Bool
216emotion_shutdown(void) 216emotion_shutdown(void)
217{ 217{
218 double start; 218 double start;
@@ -272,7 +272,7 @@ emotion_shutdown(void)
272 return EINA_TRUE; 272 return EINA_TRUE;
273} 273}
274 274
275EAPI void 275EMOTION_API void
276_emotion_pending_object_ref(void) 276_emotion_pending_object_ref(void)
277{ 277{
278 eina_lock_take(&emotion_pending_lock); 278 eina_lock_take(&emotion_pending_lock);
@@ -280,7 +280,7 @@ _emotion_pending_object_ref(void)
280 eina_lock_release(&emotion_pending_lock); 280 eina_lock_release(&emotion_pending_lock);
281} 281}
282 282
283EAPI void 283EMOTION_API void
284_emotion_pending_object_unref(void) 284_emotion_pending_object_unref(void)
285{ 285{
286 eina_lock_take(&emotion_pending_lock); 286 eina_lock_take(&emotion_pending_lock);
diff --git a/src/lib/emotion/emotion_modules.c b/src/lib/emotion/emotion_modules.c
index e3ee96c3a6..0662556868 100644
--- a/src/lib/emotion/emotion_modules.c
+++ b/src/lib/emotion/emotion_modules.c
@@ -140,7 +140,7 @@ emotion_modules_shutdown(void)
140 _emotion_modules_loaded = EINA_FALSE; 140 _emotion_modules_loaded = EINA_FALSE;
141} 141}
142 142
143EAPI Eina_Bool 143EMOTION_API Eina_Bool
144_emotion_module_register(const Emotion_Engine *api) 144_emotion_module_register(const Emotion_Engine *api)
145{ 145{
146 Emotion_Engine_Registry_Entry *re; 146 Emotion_Engine_Registry_Entry *re;
@@ -171,7 +171,7 @@ _emotion_module_register(const Emotion_Engine *api)
171 return EINA_TRUE; 171 return EINA_TRUE;
172} 172}
173 173
174EAPI Eina_Bool 174EMOTION_API Eina_Bool
175_emotion_module_unregister(const Emotion_Engine *api) 175_emotion_module_unregister(const Emotion_Engine *api)
176{ 176{
177 Eina_List *n; 177 Eina_List *n;
diff --git a/src/lib/emotion/emotion_modules.h b/src/lib/emotion/emotion_modules.h
index 8e41121796..3d05ff795c 100644
--- a/src/lib/emotion/emotion_modules.h
+++ b/src/lib/emotion/emotion_modules.h
@@ -3,31 +3,7 @@
3 3
4#include "Emotion.h" 4#include "Emotion.h"
5 5
6#ifdef EAPI 6#include <emotion_api.h>
7# undef EAPI
8#endif
9
10#ifdef _WIN32
11# ifdef EFL_BUILD
12# ifdef DLL_EXPORT
13# define EAPI __declspec(dllexport)
14# else
15# define EAPI
16# endif
17# else
18# define EAPI __declspec(dllimport)
19# endif
20#else
21# ifdef __GNUC__
22# if __GNUC__ >= 4
23# define EAPI __attribute__ ((visibility("default")))
24# else
25# define EAPI
26# endif
27# else
28# define EAPI
29# endif
30#endif
31 7
32#define META_TRACK_TITLE 1 8#define META_TRACK_TITLE 1
33#define META_TRACK_ARTIST 2 9#define META_TRACK_ARTIST 2
@@ -132,38 +108,35 @@ struct _Emotion_Engine
132 void * (*meta_artwork_get)(void *ef, Evas_Object *img, const char *path, Emotion_Artwork_Info type); 108 void * (*meta_artwork_get)(void *ef, Evas_Object *img, const char *path, Emotion_Artwork_Info type);
133}; 109};
134 110
135EAPI void *_emotion_video_get(const Evas_Object *obj); 111EMOTION_API void *_emotion_video_get(const Evas_Object *obj);
136EAPI void _emotion_frame_new(Evas_Object *obj); 112EMOTION_API void _emotion_frame_new(Evas_Object *obj);
137EAPI void _emotion_video_pos_update(Evas_Object *obj, double pos, double len); 113EMOTION_API void _emotion_video_pos_update(Evas_Object *obj, double pos, double len);
138EAPI void _emotion_frame_resize(Evas_Object *obj, int w, int h, double ratio); 114EMOTION_API void _emotion_frame_resize(Evas_Object *obj, int w, int h, double ratio);
139EAPI void _emotion_frame_refill(Evas_Object *obj, double w, double h); 115EMOTION_API void _emotion_frame_refill(Evas_Object *obj, double w, double h);
140EAPI void _emotion_decode_stop(Evas_Object *obj); 116EMOTION_API void _emotion_decode_stop(Evas_Object *obj);
141EAPI void _emotion_open_done(Evas_Object *obj); 117EMOTION_API void _emotion_open_done(Evas_Object *obj);
142EAPI void _emotion_playback_started(Evas_Object *obj); 118EMOTION_API void _emotion_playback_started(Evas_Object *obj);
143EAPI void _emotion_playback_finished(Evas_Object *obj); 119EMOTION_API void _emotion_playback_finished(Evas_Object *obj);
144EAPI void _emotion_audio_level_change(Evas_Object *obj); 120EMOTION_API void _emotion_audio_level_change(Evas_Object *obj);
145EAPI void _emotion_channels_change(Evas_Object *obj); 121EMOTION_API void _emotion_channels_change(Evas_Object *obj);
146EAPI void _emotion_title_set(Evas_Object *obj, char *title); 122EMOTION_API void _emotion_title_set(Evas_Object *obj, char *title);
147EAPI void _emotion_progress_set(Evas_Object *obj, char *info, double stat); 123EMOTION_API void _emotion_progress_set(Evas_Object *obj, char *info, double stat);
148EAPI void _emotion_file_ref_set(Evas_Object *obj, const char *file, int num); 124EMOTION_API void _emotion_file_ref_set(Evas_Object *obj, const char *file, int num);
149EAPI void _emotion_spu_button_num_set(Evas_Object *obj, int num); 125EMOTION_API void _emotion_spu_button_num_set(Evas_Object *obj, int num);
150EAPI void _emotion_spu_button_set(Evas_Object *obj, int button); 126EMOTION_API void _emotion_spu_button_set(Evas_Object *obj, int button);
151EAPI void _emotion_seek_done(Evas_Object *obj); 127EMOTION_API void _emotion_seek_done(Evas_Object *obj);
152EAPI void _emotion_image_reset(Evas_Object *obj); 128EMOTION_API void _emotion_image_reset(Evas_Object *obj);
153 129
154EAPI void _emotion_pending_object_ref(void); 130EMOTION_API void _emotion_pending_object_ref(void);
155EAPI void _emotion_pending_object_unref(void); 131EMOTION_API void _emotion_pending_object_unref(void);
156 132
157EAPI void _emotion_pending_ecore_begin(void); 133EMOTION_API void _emotion_pending_ecore_begin(void);
158EAPI void _emotion_pending_ecore_end(void); 134EMOTION_API void _emotion_pending_ecore_end(void);
159 135
160 136
161EAPI const char *emotion_webcam_custom_get(const char *device); 137EMOTION_API const char *emotion_webcam_custom_get(const char *device);
162 138
163EAPI Eina_Bool _emotion_module_register(const Emotion_Engine *api); 139EMOTION_API Eina_Bool _emotion_module_register(const Emotion_Engine *api);
164EAPI Eina_Bool _emotion_module_unregister(const Emotion_Engine *api); 140EMOTION_API Eina_Bool _emotion_module_unregister(const Emotion_Engine *api);
165
166#undef EAPI
167#define EAPI
168 141
169#endif 142#endif
diff --git a/src/lib/emotion/emotion_smart.c b/src/lib/emotion/emotion_smart.c
index 9f723e5bef..e8c22e912c 100644
--- a/src/lib/emotion/emotion_smart.c
+++ b/src/lib/emotion/emotion_smart.c
@@ -233,7 +233,7 @@ _clipper_position_size_update(Evas_Object *obj, int x, int y, int w, int h, int
233 233
234 234
235 235
236EAPI Evas_Object * 236EMOTION_API Evas_Object *
237emotion_object_add(Evas *evas) 237emotion_object_add(Evas *evas)
238{ 238{
239 evas = evas_find(evas); 239 evas = evas_find(evas);
@@ -251,7 +251,7 @@ _efl_canvas_video_efl_object_constructor(Eo *obj, Efl_Canvas_Video_Data *pd EINA
251 return obj; 251 return obj;
252} 252}
253 253
254EAPI Evas_Object * 254EMOTION_API Evas_Object *
255emotion_object_image_get(const Evas_Object *obj) 255emotion_object_image_get(const Evas_Object *obj)
256{ 256{
257 Efl_Canvas_Video_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); 257 Efl_Canvas_Video_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
@@ -346,7 +346,7 @@ _efl_canvas_video_engine_set(Eo *obj, Efl_Canvas_Video_Data *pd, const char *eng
346 return EINA_TRUE; 346 return EINA_TRUE;
347} 347}
348 348
349EAPI Eina_Bool 349EMOTION_API Eina_Bool
350emotion_object_file_set(Evas_Object *obj, const char *file) 350emotion_object_file_set(Evas_Object *obj, const char *file)
351{ 351{
352 return efl_file_simple_load(obj, file, NULL); 352 return efl_file_simple_load(obj, file, NULL);
@@ -439,7 +439,7 @@ _efl_canvas_video_efl_file_load(Eo *obj EINA_UNUSED, Efl_Canvas_Video_Data *sd)
439 return 0; 439 return 0;
440} 440}
441 441
442EAPI const char * 442EMOTION_API const char *
443emotion_object_file_get(const Evas_Object *obj) 443emotion_object_file_get(const Evas_Object *obj)
444{ 444{
445 return efl_file_get(obj); 445 return efl_file_get(obj);
@@ -574,7 +574,7 @@ _efl_canvas_video_aspect_border_apply(Evas_Object *obj, Efl_Canvas_Video_Data *s
574 _emotion_aspect_borders_apply(obj, sd, w, h, iw, ih); 574 _emotion_aspect_borders_apply(obj, sd, w, h, iw, ih);
575} 575}
576 576
577EAPI void 577EMOTION_API void
578emotion_object_border_set(Evas_Object *obj, int l, int r, int t, int b) 578emotion_object_border_set(Evas_Object *obj, int l, int r, int t, int b)
579{ 579{
580 Efl_Canvas_Video_Data *sd; 580 Efl_Canvas_Video_Data *sd;
@@ -591,7 +591,7 @@ emotion_object_border_set(Evas_Object *obj, int l, int r, int t, int b)
591 _efl_canvas_video_aspect_border_apply(obj, sd, w, h); 591 _efl_canvas_video_aspect_border_apply(obj, sd, w, h);
592} 592}
593 593
594EAPI void 594EMOTION_API void
595emotion_object_border_get(const Evas_Object *obj, int *l, int *r, int *t, int *b) 595emotion_object_border_get(const Evas_Object *obj, int *l, int *r, int *t, int *b)
596{ 596{
597 Efl_Canvas_Video_Data *sd; 597 Efl_Canvas_Video_Data *sd;
@@ -603,7 +603,7 @@ emotion_object_border_get(const Evas_Object *obj, int *l, int *r, int *t, int *b
603 *b = -sd->crop.b; 603 *b = -sd->crop.b;
604} 604}
605 605
606EAPI void 606EMOTION_API void
607emotion_object_bg_color_set(Evas_Object *obj, int r, int g, int b, int a) 607emotion_object_bg_color_set(Evas_Object *obj, int r, int g, int b, int a)
608{ 608{
609 Efl_Canvas_Video_Data *sd; 609 Efl_Canvas_Video_Data *sd;
@@ -612,7 +612,7 @@ emotion_object_bg_color_set(Evas_Object *obj, int r, int g, int b, int a)
612 evas_object_color_set(sd->bg, r, g, b, a); 612 evas_object_color_set(sd->bg, r, g, b, a);
613} 613}
614 614
615EAPI void 615EMOTION_API void
616emotion_object_bg_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a) 616emotion_object_bg_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a)
617{ 617{
618 Efl_Canvas_Video_Data *sd; 618 Efl_Canvas_Video_Data *sd;
@@ -621,7 +621,7 @@ emotion_object_bg_color_get(const Evas_Object *obj, int *r, int *g, int *b, int
621 evas_object_color_get(sd->bg, r, g, b, a); 621 evas_object_color_get(sd->bg, r, g, b, a);
622} 622}
623 623
624EAPI void 624EMOTION_API void
625emotion_object_keep_aspect_set(Evas_Object *obj, Emotion_Aspect a) 625emotion_object_keep_aspect_set(Evas_Object *obj, Emotion_Aspect a)
626{ 626{
627 Efl_Canvas_Video_Data *sd; 627 Efl_Canvas_Video_Data *sd;
@@ -635,7 +635,7 @@ emotion_object_keep_aspect_set(Evas_Object *obj, Emotion_Aspect a)
635 _efl_canvas_video_aspect_border_apply(obj, sd, w, h); 635 _efl_canvas_video_aspect_border_apply(obj, sd, w, h);
636} 636}
637 637
638EAPI Emotion_Aspect 638EMOTION_API Emotion_Aspect
639emotion_object_keep_aspect_get(const Evas_Object *obj) 639emotion_object_keep_aspect_get(const Evas_Object *obj)
640{ 640{
641 Efl_Canvas_Video_Data *sd; 641 Efl_Canvas_Video_Data *sd;
@@ -644,7 +644,7 @@ emotion_object_keep_aspect_get(const Evas_Object *obj)
644 return sd->aspect; 644 return sd->aspect;
645} 645}
646 646
647EAPI void 647EMOTION_API void
648emotion_object_play_set(Evas_Object *obj, Eina_Bool play) 648emotion_object_play_set(Evas_Object *obj, Eina_Bool play)
649{ 649{
650 /* avoid calling playback_position_set(0) for legacy */ 650 /* avoid calling playback_position_set(0) for legacy */
@@ -705,7 +705,7 @@ _efl_canvas_video_efl_player_paused_set(Eo *obj, Efl_Canvas_Video_Data *sd, Eina
705 return EINA_TRUE; 705 return EINA_TRUE;
706} 706}
707 707
708EAPI Eina_Bool 708EMOTION_API Eina_Bool
709emotion_object_play_get(const Evas_Object *obj) 709emotion_object_play_get(const Evas_Object *obj)
710{ 710{
711 return efl_player_playing_get(obj) && !efl_player_paused_get(obj); 711 return efl_player_playing_get(obj) && !efl_player_paused_get(obj);
@@ -726,7 +726,7 @@ _efl_canvas_video_efl_player_paused_get(const Eo *obj EINA_UNUSED, Efl_Canvas_Vi
726 return sd->pause; 726 return sd->pause;
727} 727}
728 728
729EAPI void 729EMOTION_API void
730emotion_object_position_set(Evas_Object *obj, double sec) 730emotion_object_position_set(Evas_Object *obj, double sec)
731{ 731{
732 efl_player_playback_position_set(obj, sec); 732 efl_player_playback_position_set(obj, sec);
@@ -751,7 +751,7 @@ _efl_canvas_video_efl_player_playback_position_set(Eo *obj, Efl_Canvas_Video_Dat
751 sd->job = ecore_job_add(_pos_set_job, obj); 751 sd->job = ecore_job_add(_pos_set_job, obj);
752} 752}
753 753
754EAPI double 754EMOTION_API double
755emotion_object_position_get(const Evas_Object *obj) 755emotion_object_position_get(const Evas_Object *obj)
756{ 756{
757 return efl_player_playback_position_get(obj); 757 return efl_player_playback_position_get(obj);
@@ -765,7 +765,7 @@ _efl_canvas_video_efl_player_playback_position_get(const Eo *obj EINA_UNUSED, Ef
765 return sd->pos; 765 return sd->pos;
766} 766}
767 767
768EAPI double 768EMOTION_API double
769emotion_object_buffer_size_get(const Evas_Object *obj) 769emotion_object_buffer_size_get(const Evas_Object *obj)
770{ 770{
771 Efl_Canvas_Video_Data *sd; 771 Efl_Canvas_Video_Data *sd;
@@ -775,13 +775,13 @@ emotion_object_buffer_size_get(const Evas_Object *obj)
775 return emotion_engine_instance_buffer_size_get(sd->engine_instance); 775 return emotion_engine_instance_buffer_size_get(sd->engine_instance);
776} 776}
777 777
778EAPI Eina_Bool 778EMOTION_API Eina_Bool
779emotion_object_seekable_get(const Evas_Object *obj) 779emotion_object_seekable_get(const Evas_Object *obj)
780{ 780{
781 return efl_playable_seekable_get(obj); 781 return efl_playable_seekable_get(obj);
782} 782}
783 783
784EAPI Eina_Bool 784EMOTION_API Eina_Bool
785emotion_object_video_handled_get(const Evas_Object *obj) 785emotion_object_video_handled_get(const Evas_Object *obj)
786{ 786{
787 Efl_Canvas_Video_Data *sd; 787 Efl_Canvas_Video_Data *sd;
@@ -791,7 +791,7 @@ emotion_object_video_handled_get(const Evas_Object *obj)
791 return emotion_engine_instance_video_handled(sd->engine_instance); 791 return emotion_engine_instance_video_handled(sd->engine_instance);
792} 792}
793 793
794EAPI Eina_Bool 794EMOTION_API Eina_Bool
795emotion_object_audio_handled_get(const Evas_Object *obj) 795emotion_object_audio_handled_get(const Evas_Object *obj)
796{ 796{
797 Efl_Canvas_Video_Data *sd; 797 Efl_Canvas_Video_Data *sd;
@@ -801,13 +801,13 @@ emotion_object_audio_handled_get(const Evas_Object *obj)
801 return emotion_engine_instance_audio_handled(sd->engine_instance); 801 return emotion_engine_instance_audio_handled(sd->engine_instance);
802} 802}
803 803
804EAPI double 804EMOTION_API double
805emotion_object_play_length_get(const Evas_Object *obj) 805emotion_object_play_length_get(const Evas_Object *obj)
806{ 806{
807 return efl_playable_length_get(obj); 807 return efl_playable_length_get(obj);
808} 808}
809 809
810EAPI void 810EMOTION_API void
811emotion_object_size_get(const Evas_Object *obj, int *iw, int *ih) 811emotion_object_size_get(const Evas_Object *obj, int *iw, int *ih)
812{ 812{
813 Eina_Size2D sz; 813 Eina_Size2D sz;
@@ -824,7 +824,7 @@ _efl_canvas_video_efl_gfx_image_load_controller_load_size_get(const Eo *obj EINA
824 return EINA_SIZE2D(sd->video.w, sd->video.h); 824 return EINA_SIZE2D(sd->video.w, sd->video.h);
825} 825}
826 826
827EAPI void 827EMOTION_API void
828emotion_object_smooth_scale_set(Evas_Object *obj, Eina_Bool smooth) 828emotion_object_smooth_scale_set(Evas_Object *obj, Eina_Bool smooth)
829{ 829{
830 efl_gfx_image_smooth_scale_set(obj, smooth); 830 efl_gfx_image_smooth_scale_set(obj, smooth);
@@ -836,7 +836,7 @@ _efl_canvas_video_efl_gfx_image_smooth_scale_set(Eo *obj EINA_UNUSED, Efl_Canvas
836 evas_object_image_smooth_scale_set(sd->obj, smooth); 836 evas_object_image_smooth_scale_set(sd->obj, smooth);
837} 837}
838 838
839EAPI Eina_Bool 839EMOTION_API Eina_Bool
840emotion_object_smooth_scale_get(const Evas_Object *obj) 840emotion_object_smooth_scale_get(const Evas_Object *obj)
841{ 841{
842 return efl_gfx_image_smooth_scale_get(obj); 842 return efl_gfx_image_smooth_scale_get(obj);
@@ -848,7 +848,7 @@ _efl_canvas_video_efl_gfx_image_smooth_scale_get(const Eo *obj EINA_UNUSED, Efl_
848 return evas_object_image_smooth_scale_get(sd->obj); 848 return evas_object_image_smooth_scale_get(sd->obj);
849} 849}
850 850
851EAPI double 851EMOTION_API double
852emotion_object_ratio_get(const Evas_Object *obj) 852emotion_object_ratio_get(const Evas_Object *obj)
853{ 853{
854 return efl_gfx_image_ratio_get(obj); 854 return efl_gfx_image_ratio_get(obj);
@@ -864,7 +864,7 @@ _efl_canvas_video_efl_gfx_image_ratio_get(const Eo *obj EINA_UNUSED, Efl_Canvas_
864/* 864/*
865 * Send a control event to the DVD. 865 * Send a control event to the DVD.
866 */ 866 */
867EAPI void 867EMOTION_API void
868emotion_object_event_simple_send(Evas_Object *obj, Emotion_Event ev) 868emotion_object_event_simple_send(Evas_Object *obj, Emotion_Event ev)
869{ 869{
870 Efl_Canvas_Video_Data *sd; 870 Efl_Canvas_Video_Data *sd;
@@ -874,7 +874,7 @@ emotion_object_event_simple_send(Evas_Object *obj, Emotion_Event ev)
874 emotion_engine_instance_event_feed(sd->engine_instance, ev); 874 emotion_engine_instance_event_feed(sd->engine_instance, ev);
875} 875}
876 876
877EAPI void 877EMOTION_API void
878emotion_object_audio_volume_set(Evas_Object *obj, double vol) 878emotion_object_audio_volume_set(Evas_Object *obj, double vol)
879{ 879{
880 efl_audio_control_volume_set(obj, vol); 880 efl_audio_control_volume_set(obj, vol);
@@ -888,7 +888,7 @@ _efl_canvas_video_efl_audio_control_volume_set(Eo *obj EINA_UNUSED, Efl_Canvas_V
888 emotion_engine_instance_audio_channel_volume_set(sd->engine_instance, vol); 888 emotion_engine_instance_audio_channel_volume_set(sd->engine_instance, vol);
889} 889}
890 890
891EAPI double 891EMOTION_API double
892emotion_object_audio_volume_get(const Evas_Object *obj) 892emotion_object_audio_volume_get(const Evas_Object *obj)
893{ 893{
894 return efl_audio_control_volume_get(obj); 894 return efl_audio_control_volume_get(obj);
@@ -901,7 +901,7 @@ _efl_canvas_video_efl_audio_control_volume_get(const Eo *obj EINA_UNUSED, Efl_Ca
901 return emotion_engine_instance_audio_channel_volume_get(sd->engine_instance); 901 return emotion_engine_instance_audio_channel_volume_get(sd->engine_instance);
902} 902}
903 903
904EAPI void 904EMOTION_API void
905emotion_object_audio_mute_set(Evas_Object *obj, Eina_Bool mute) 905emotion_object_audio_mute_set(Evas_Object *obj, Eina_Bool mute)
906{ 906{
907 efl_audio_control_mute_set(obj, mute); 907 efl_audio_control_mute_set(obj, mute);
@@ -915,7 +915,7 @@ _efl_canvas_video_efl_audio_control_mute_set(Eo *obj EINA_UNUSED, Efl_Canvas_Vid
915 emotion_engine_instance_audio_channel_mute_set(sd->engine_instance, mute); 915 emotion_engine_instance_audio_channel_mute_set(sd->engine_instance, mute);
916} 916}
917 917
918EAPI Eina_Bool 918EMOTION_API Eina_Bool
919emotion_object_audio_mute_get(const Evas_Object *obj) 919emotion_object_audio_mute_get(const Evas_Object *obj)
920{ 920{
921 return efl_audio_control_mute_get(obj); 921 return efl_audio_control_mute_get(obj);
@@ -928,7 +928,7 @@ _efl_canvas_video_efl_audio_control_mute_get(const Eo *obj EINA_UNUSED, Efl_Canv
928 return emotion_engine_instance_audio_channel_mute_get(sd->engine_instance); 928 return emotion_engine_instance_audio_channel_mute_get(sd->engine_instance);
929} 929}
930 930
931EAPI int 931EMOTION_API int
932emotion_object_audio_channel_count(const Evas_Object *obj) 932emotion_object_audio_channel_count(const Evas_Object *obj)
933{ 933{
934 Efl_Canvas_Video_Data *sd; 934 Efl_Canvas_Video_Data *sd;
@@ -938,7 +938,7 @@ emotion_object_audio_channel_count(const Evas_Object *obj)
938 return emotion_engine_instance_audio_channel_count(sd->engine_instance); 938 return emotion_engine_instance_audio_channel_count(sd->engine_instance);
939} 939}
940 940
941EAPI const char * 941EMOTION_API const char *
942emotion_object_audio_channel_name_get(const Evas_Object *obj, int channel) 942emotion_object_audio_channel_name_get(const Evas_Object *obj, int channel)
943{ 943{
944 Efl_Canvas_Video_Data *sd; 944 Efl_Canvas_Video_Data *sd;
@@ -948,7 +948,7 @@ emotion_object_audio_channel_name_get(const Evas_Object *obj, int channel)
948 return emotion_engine_instance_audio_channel_name_get(sd->engine_instance, channel); 948 return emotion_engine_instance_audio_channel_name_get(sd->engine_instance, channel);
949} 949}
950 950
951EAPI void 951EMOTION_API void
952emotion_object_audio_channel_set(Evas_Object *obj, int channel) 952emotion_object_audio_channel_set(Evas_Object *obj, int channel)
953{ 953{
954 Efl_Canvas_Video_Data *sd; 954 Efl_Canvas_Video_Data *sd;
@@ -959,7 +959,7 @@ emotion_object_audio_channel_set(Evas_Object *obj, int channel)
959 emotion_engine_instance_audio_channel_set(sd->engine_instance, channel); 959 emotion_engine_instance_audio_channel_set(sd->engine_instance, channel);
960} 960}
961 961
962EAPI int 962EMOTION_API int
963emotion_object_audio_channel_get(const Evas_Object *obj) 963emotion_object_audio_channel_get(const Evas_Object *obj)
964{ 964{
965 Efl_Canvas_Video_Data *sd; 965 Efl_Canvas_Video_Data *sd;
@@ -969,7 +969,7 @@ emotion_object_audio_channel_get(const Evas_Object *obj)
969 return emotion_engine_instance_audio_channel_get(sd->engine_instance); 969 return emotion_engine_instance_audio_channel_get(sd->engine_instance);
970} 970}
971 971
972EAPI void 972EMOTION_API void
973emotion_object_video_mute_set(Evas_Object *obj, Eina_Bool mute) 973emotion_object_video_mute_set(Evas_Object *obj, Eina_Bool mute)
974{ 974{
975 Efl_Canvas_Video_Data *sd; 975 Efl_Canvas_Video_Data *sd;
@@ -980,7 +980,7 @@ emotion_object_video_mute_set(Evas_Object *obj, Eina_Bool mute)
980 emotion_engine_instance_video_channel_mute_set(sd->engine_instance, mute); 980 emotion_engine_instance_video_channel_mute_set(sd->engine_instance, mute);
981} 981}
982 982
983EAPI Eina_Bool 983EMOTION_API Eina_Bool
984emotion_object_video_mute_get(const Evas_Object *obj) 984emotion_object_video_mute_get(const Evas_Object *obj)
985{ 985{
986 Efl_Canvas_Video_Data *sd; 986 Efl_Canvas_Video_Data *sd;
@@ -990,7 +990,7 @@ emotion_object_video_mute_get(const Evas_Object *obj)
990 return emotion_engine_instance_video_channel_mute_get(sd->engine_instance); 990 return emotion_engine_instance_video_channel_mute_get(sd->engine_instance);
991} 991}
992 992
993EAPI void 993EMOTION_API void
994emotion_object_video_subtitle_file_set(Evas_Object *obj, const char *filepath) 994emotion_object_video_subtitle_file_set(Evas_Object *obj, const char *filepath)
995{ 995{
996 Efl_Canvas_Video_Data *sd; 996 Efl_Canvas_Video_Data *sd;
@@ -1002,7 +1002,7 @@ emotion_object_video_subtitle_file_set(Evas_Object *obj, const char *filepath)
1002 emotion_engine_instance_video_subtitle_file_set(sd->engine_instance, filepath); 1002 emotion_engine_instance_video_subtitle_file_set(sd->engine_instance, filepath);
1003} 1003}
1004 1004
1005EAPI const char * 1005EMOTION_API const char *
1006emotion_object_video_subtitle_file_get(const Evas_Object *obj) 1006emotion_object_video_subtitle_file_get(const Evas_Object *obj)
1007{ 1007{
1008 Efl_Canvas_Video_Data *sd; 1008 Efl_Canvas_Video_Data *sd;
@@ -1012,7 +1012,7 @@ emotion_object_video_subtitle_file_get(const Evas_Object *obj)
1012 return emotion_engine_instance_video_subtitle_file_get(sd->engine_instance); 1012 return emotion_engine_instance_video_subtitle_file_get(sd->engine_instance);
1013} 1013}
1014 1014
1015EAPI int 1015EMOTION_API int
1016emotion_object_video_channel_count(const Evas_Object *obj) 1016emotion_object_video_channel_count(const Evas_Object *obj)
1017{ 1017{
1018 Efl_Canvas_Video_Data *sd; 1018 Efl_Canvas_Video_Data *sd;
@@ -1022,7 +1022,7 @@ emotion_object_video_channel_count(const Evas_Object *obj)
1022 return emotion_engine_instance_video_channel_count(sd->engine_instance); 1022 return emotion_engine_instance_video_channel_count(sd->engine_instance);
1023} 1023}
1024 1024
1025EAPI const char * 1025EMOTION_API const char *
1026emotion_object_video_channel_name_get(const Evas_Object *obj, int channel) 1026emotion_object_video_channel_name_get(const Evas_Object *obj, int channel)
1027{ 1027{
1028 Efl_Canvas_Video_Data *sd; 1028 Efl_Canvas_Video_Data *sd;
@@ -1032,7 +1032,7 @@ emotion_object_video_channel_name_get(const Evas_Object *obj, int channel)
1032 return emotion_engine_instance_video_channel_name_get(sd->engine_instance, channel); 1032 return emotion_engine_instance_video_channel_name_get(sd->engine_instance, channel);
1033} 1033}
1034 1034
1035EAPI void 1035EMOTION_API void
1036emotion_object_video_channel_set(Evas_Object *obj, int channel) 1036emotion_object_video_channel_set(Evas_Object *obj, int channel)
1037{ 1037{
1038 Efl_Canvas_Video_Data *sd; 1038 Efl_Canvas_Video_Data *sd;
@@ -1043,7 +1043,7 @@ emotion_object_video_channel_set(Evas_Object *obj, int channel)
1043 emotion_engine_instance_video_channel_set(sd->engine_instance, channel); 1043 emotion_engine_instance_video_channel_set(sd->engine_instance, channel);
1044} 1044}
1045 1045
1046EAPI int 1046EMOTION_API int
1047emotion_object_video_channel_get(const Evas_Object *obj) 1047emotion_object_video_channel_get(const Evas_Object *obj)
1048{ 1048{
1049 Efl_Canvas_Video_Data *sd; 1049 Efl_Canvas_Video_Data *sd;
@@ -1053,7 +1053,7 @@ emotion_object_video_channel_get(const Evas_Object *obj)
1053 return emotion_engine_instance_video_channel_get(sd->engine_instance); 1053 return emotion_engine_instance_video_channel_get(sd->engine_instance);
1054} 1054}
1055 1055
1056EAPI void 1056EMOTION_API void
1057emotion_object_spu_mute_set(Evas_Object *obj, Eina_Bool mute) 1057emotion_object_spu_mute_set(Evas_Object *obj, Eina_Bool mute)
1058{ 1058{
1059 Efl_Canvas_Video_Data *sd; 1059 Efl_Canvas_Video_Data *sd;
@@ -1064,7 +1064,7 @@ emotion_object_spu_mute_set(Evas_Object *obj, Eina_Bool mute)
1064 emotion_engine_instance_spu_channel_mute_set(sd->engine_instance, mute); 1064 emotion_engine_instance_spu_channel_mute_set(sd->engine_instance, mute);
1065} 1065}
1066 1066
1067EAPI Eina_Bool 1067EMOTION_API Eina_Bool
1068emotion_object_spu_mute_get(const Evas_Object *obj) 1068emotion_object_spu_mute_get(const Evas_Object *obj)
1069{ 1069{
1070 Efl_Canvas_Video_Data *sd; 1070 Efl_Canvas_Video_Data *sd;
@@ -1074,7 +1074,7 @@ emotion_object_spu_mute_get(const Evas_Object *obj)
1074 return emotion_engine_instance_spu_channel_mute_get(sd->engine_instance); 1074 return emotion_engine_instance_spu_channel_mute_get(sd->engine_instance);
1075} 1075}
1076 1076
1077EAPI int 1077EMOTION_API int
1078emotion_object_spu_channel_count(const Evas_Object *obj) 1078emotion_object_spu_channel_count(const Evas_Object *obj)
1079{ 1079{
1080 Efl_Canvas_Video_Data *sd; 1080 Efl_Canvas_Video_Data *sd;
@@ -1084,7 +1084,7 @@ emotion_object_spu_channel_count(const Evas_Object *obj)
1084 return emotion_engine_instance_spu_channel_count(sd->engine_instance); 1084 return emotion_engine_instance_spu_channel_count(sd->engine_instance);
1085} 1085}
1086 1086
1087EAPI const char * 1087EMOTION_API const char *
1088emotion_object_spu_channel_name_get(const Evas_Object *obj, int channel) 1088emotion_object_spu_channel_name_get(const Evas_Object *obj, int channel)
1089{ 1089{
1090 Efl_Canvas_Video_Data *sd; 1090 Efl_Canvas_Video_Data *sd;
@@ -1094,7 +1094,7 @@ emotion_object_spu_channel_name_get(const Evas_Object *obj, int channel)
1094 return emotion_engine_instance_spu_channel_name_get(sd->engine_instance, channel); 1094 return emotion_engine_instance_spu_channel_name_get(sd->engine_instance, channel);
1095} 1095}
1096 1096
1097EAPI void 1097EMOTION_API void
1098emotion_object_spu_channel_set(Evas_Object *obj, int channel) 1098emotion_object_spu_channel_set(Evas_Object *obj, int channel)
1099{ 1099{
1100 Efl_Canvas_Video_Data *sd; 1100 Efl_Canvas_Video_Data *sd;
@@ -1105,7 +1105,7 @@ emotion_object_spu_channel_set(Evas_Object *obj, int channel)
1105 emotion_engine_instance_spu_channel_set(sd->engine_instance, channel); 1105 emotion_engine_instance_spu_channel_set(sd->engine_instance, channel);
1106} 1106}
1107 1107
1108EAPI int 1108EMOTION_API int
1109emotion_object_spu_channel_get(const Evas_Object *obj) 1109emotion_object_spu_channel_get(const Evas_Object *obj)
1110{ 1110{
1111 Efl_Canvas_Video_Data *sd; 1111 Efl_Canvas_Video_Data *sd;
@@ -1115,7 +1115,7 @@ emotion_object_spu_channel_get(const Evas_Object *obj)
1115 return emotion_engine_instance_spu_channel_get(sd->engine_instance); 1115 return emotion_engine_instance_spu_channel_get(sd->engine_instance);
1116} 1116}
1117 1117
1118EAPI int 1118EMOTION_API int
1119emotion_object_chapter_count(const Evas_Object *obj) 1119emotion_object_chapter_count(const Evas_Object *obj)
1120{ 1120{
1121 Efl_Canvas_Video_Data *sd; 1121 Efl_Canvas_Video_Data *sd;
@@ -1125,7 +1125,7 @@ emotion_object_chapter_count(const Evas_Object *obj)
1125 return emotion_engine_instance_chapter_count(sd->engine_instance); 1125 return emotion_engine_instance_chapter_count(sd->engine_instance);
1126} 1126}
1127 1127
1128EAPI void 1128EMOTION_API void
1129emotion_object_chapter_set(Evas_Object *obj, int chapter) 1129emotion_object_chapter_set(Evas_Object *obj, int chapter)
1130{ 1130{
1131 Efl_Canvas_Video_Data *sd; 1131 Efl_Canvas_Video_Data *sd;
@@ -1136,7 +1136,7 @@ emotion_object_chapter_set(Evas_Object *obj, int chapter)
1136 emotion_engine_instance_chapter_set(sd->engine_instance, chapter); 1136 emotion_engine_instance_chapter_set(sd->engine_instance, chapter);
1137} 1137}
1138 1138
1139EAPI int 1139EMOTION_API int
1140emotion_object_chapter_get(const Evas_Object *obj) 1140emotion_object_chapter_get(const Evas_Object *obj)
1141{ 1141{
1142 Efl_Canvas_Video_Data *sd; 1142 Efl_Canvas_Video_Data *sd;
@@ -1146,7 +1146,7 @@ emotion_object_chapter_get(const Evas_Object *obj)
1146 return emotion_engine_instance_chapter_get(sd->engine_instance); 1146 return emotion_engine_instance_chapter_get(sd->engine_instance);
1147} 1147}
1148 1148
1149EAPI const char * 1149EMOTION_API const char *
1150emotion_object_chapter_name_get(const Evas_Object *obj, int chapter) 1150emotion_object_chapter_name_get(const Evas_Object *obj, int chapter)
1151{ 1151{
1152 Efl_Canvas_Video_Data *sd; 1152 Efl_Canvas_Video_Data *sd;
@@ -1156,7 +1156,7 @@ emotion_object_chapter_name_get(const Evas_Object *obj, int chapter)
1156 return emotion_engine_instance_chapter_name_get(sd->engine_instance, chapter); 1156 return emotion_engine_instance_chapter_name_get(sd->engine_instance, chapter);
1157} 1157}
1158 1158
1159EAPI void 1159EMOTION_API void
1160emotion_object_play_speed_set(Evas_Object *obj, double speed) 1160emotion_object_play_speed_set(Evas_Object *obj, double speed)
1161{ 1161{
1162 Efl_Canvas_Video_Data *sd; 1162 Efl_Canvas_Video_Data *sd;
@@ -1167,7 +1167,7 @@ emotion_object_play_speed_set(Evas_Object *obj, double speed)
1167 emotion_engine_instance_speed_set(sd->engine_instance, speed); 1167 emotion_engine_instance_speed_set(sd->engine_instance, speed);
1168} 1168}
1169 1169
1170EAPI double 1170EMOTION_API double
1171emotion_object_play_speed_get(const Evas_Object *obj) 1171emotion_object_play_speed_get(const Evas_Object *obj)
1172{ 1172{
1173 Efl_Canvas_Video_Data *sd; 1173 Efl_Canvas_Video_Data *sd;
@@ -1177,7 +1177,7 @@ emotion_object_play_speed_get(const Evas_Object *obj)
1177 return emotion_engine_instance_speed_get(sd->engine_instance); 1177 return emotion_engine_instance_speed_get(sd->engine_instance);
1178} 1178}
1179 1179
1180EAPI void 1180EMOTION_API void
1181emotion_object_eject(Evas_Object *obj) 1181emotion_object_eject(Evas_Object *obj)
1182{ 1182{
1183 Efl_Canvas_Video_Data *sd; 1183 Efl_Canvas_Video_Data *sd;
@@ -1187,7 +1187,7 @@ emotion_object_eject(Evas_Object *obj)
1187 emotion_engine_instance_eject(sd->engine_instance); 1187 emotion_engine_instance_eject(sd->engine_instance);
1188} 1188}
1189 1189
1190EAPI const char * 1190EMOTION_API const char *
1191emotion_object_title_get(const Evas_Object *obj) 1191emotion_object_title_get(const Evas_Object *obj)
1192{ 1192{
1193 Efl_Canvas_Video_Data *sd; 1193 Efl_Canvas_Video_Data *sd;
@@ -1196,7 +1196,7 @@ emotion_object_title_get(const Evas_Object *obj)
1196 return sd->title; 1196 return sd->title;
1197} 1197}
1198 1198
1199EAPI const char * 1199EMOTION_API const char *
1200emotion_object_progress_info_get(const Evas_Object *obj) 1200emotion_object_progress_info_get(const Evas_Object *obj)
1201{ 1201{
1202 Efl_Canvas_Video_Data *sd; 1202 Efl_Canvas_Video_Data *sd;
@@ -1205,7 +1205,7 @@ emotion_object_progress_info_get(const Evas_Object *obj)
1205 return sd->progress.info; 1205 return sd->progress.info;
1206} 1206}
1207 1207
1208EAPI double 1208EMOTION_API double
1209emotion_object_progress_status_get(const Evas_Object *obj) 1209emotion_object_progress_status_get(const Evas_Object *obj)
1210{ 1210{
1211 return efl_player_playback_progress_get(obj); 1211 return efl_player_playback_progress_get(obj);
@@ -1239,7 +1239,7 @@ _efl_canvas_video_efl_playable_seekable_get(const Eo *obj EINA_UNUSED, Efl_Canva
1239 return emotion_engine_instance_seekable(sd->engine_instance); 1239 return emotion_engine_instance_seekable(sd->engine_instance);
1240} 1240}
1241 1241
1242EAPI const char * 1242EMOTION_API const char *
1243emotion_object_ref_file_get(const Evas_Object *obj) 1243emotion_object_ref_file_get(const Evas_Object *obj)
1244{ 1244{
1245 Efl_Canvas_Video_Data *sd; 1245 Efl_Canvas_Video_Data *sd;
@@ -1248,7 +1248,7 @@ emotion_object_ref_file_get(const Evas_Object *obj)
1248 return sd->ref.file; 1248 return sd->ref.file;
1249} 1249}
1250 1250
1251EAPI int 1251EMOTION_API int
1252emotion_object_ref_num_get(const Evas_Object *obj) 1252emotion_object_ref_num_get(const Evas_Object *obj)
1253{ 1253{
1254 Efl_Canvas_Video_Data *sd; 1254 Efl_Canvas_Video_Data *sd;
@@ -1257,7 +1257,7 @@ emotion_object_ref_num_get(const Evas_Object *obj)
1257 return sd->ref.num; 1257 return sd->ref.num;
1258} 1258}
1259 1259
1260EAPI int 1260EMOTION_API int
1261emotion_object_spu_button_count_get(const Evas_Object *obj) 1261emotion_object_spu_button_count_get(const Evas_Object *obj)
1262{ 1262{
1263 Efl_Canvas_Video_Data *sd; 1263 Efl_Canvas_Video_Data *sd;
@@ -1266,7 +1266,7 @@ emotion_object_spu_button_count_get(const Evas_Object *obj)
1266 return sd->spu.button_num; 1266 return sd->spu.button_num;
1267} 1267}
1268 1268
1269EAPI int 1269EMOTION_API int
1270emotion_object_spu_button_get(const Evas_Object *obj) 1270emotion_object_spu_button_get(const Evas_Object *obj)
1271{ 1271{
1272 Efl_Canvas_Video_Data *sd; 1272 Efl_Canvas_Video_Data *sd;
@@ -1275,7 +1275,7 @@ emotion_object_spu_button_get(const Evas_Object *obj)
1275 return sd->spu.button; 1275 return sd->spu.button;
1276} 1276}
1277 1277
1278EAPI const char * 1278EMOTION_API const char *
1279emotion_object_meta_info_get(const Evas_Object *obj, Emotion_Meta_Info meta) 1279emotion_object_meta_info_get(const Evas_Object *obj, Emotion_Meta_Info meta)
1280{ 1280{
1281 Efl_Canvas_Video_Data *sd; 1281 Efl_Canvas_Video_Data *sd;
@@ -1315,7 +1315,7 @@ emotion_object_meta_info_get(const Evas_Object *obj, Emotion_Meta_Info meta)
1315} 1315}
1316 1316
1317 1317
1318EAPI Evas_Object * 1318EMOTION_API Evas_Object *
1319emotion_file_meta_artwork_get(const Evas_Object *obj, const char *path, Emotion_Artwork_Info type) 1319emotion_file_meta_artwork_get(const Evas_Object *obj, const char *path, Emotion_Artwork_Info type)
1320{ 1320{
1321 Efl_Canvas_Video_Data *sd; 1321 Efl_Canvas_Video_Data *sd;
@@ -1334,7 +1334,7 @@ emotion_file_meta_artwork_get(const Evas_Object *obj, const char *path, Emotion_
1334 return result; 1334 return result;
1335} 1335}
1336 1336
1337EAPI void 1337EMOTION_API void
1338emotion_object_vis_set(Evas_Object *obj, Emotion_Vis visualization) 1338emotion_object_vis_set(Evas_Object *obj, Emotion_Vis visualization)
1339{ 1339{
1340 Efl_Canvas_Video_Data *sd; 1340 Efl_Canvas_Video_Data *sd;
@@ -1345,7 +1345,7 @@ emotion_object_vis_set(Evas_Object *obj, Emotion_Vis visualization)
1345 emotion_engine_instance_vis_set(sd->engine_instance, visualization); 1345 emotion_engine_instance_vis_set(sd->engine_instance, visualization);
1346} 1346}
1347 1347
1348EAPI Emotion_Vis 1348EMOTION_API Emotion_Vis
1349emotion_object_vis_get(const Evas_Object *obj) 1349emotion_object_vis_get(const Evas_Object *obj)
1350{ 1350{
1351 Efl_Canvas_Video_Data *sd; 1351 Efl_Canvas_Video_Data *sd;
@@ -1355,7 +1355,7 @@ emotion_object_vis_get(const Evas_Object *obj)
1355 return emotion_engine_instance_vis_get(sd->engine_instance); 1355 return emotion_engine_instance_vis_get(sd->engine_instance);
1356} 1356}
1357 1357
1358EAPI Eina_Bool 1358EMOTION_API Eina_Bool
1359emotion_object_vis_supported(const Evas_Object *obj, Emotion_Vis visualization) 1359emotion_object_vis_supported(const Evas_Object *obj, Emotion_Vis visualization)
1360{ 1360{
1361 Efl_Canvas_Video_Data *sd; 1361 Efl_Canvas_Video_Data *sd;
@@ -1365,7 +1365,7 @@ emotion_object_vis_supported(const Evas_Object *obj, Emotion_Vis visualization)
1365 return emotion_engine_instance_vis_supported(sd->engine_instance, visualization); 1365 return emotion_engine_instance_vis_supported(sd->engine_instance, visualization);
1366} 1366}
1367 1367
1368EAPI void 1368EMOTION_API void
1369emotion_object_priority_set(Evas_Object *obj, Eina_Bool priority) 1369emotion_object_priority_set(Evas_Object *obj, Eina_Bool priority)
1370{ 1370{
1371 Efl_Canvas_Video_Data *sd; 1371 Efl_Canvas_Video_Data *sd;
@@ -1375,7 +1375,7 @@ emotion_object_priority_set(Evas_Object *obj, Eina_Bool priority)
1375 emotion_engine_instance_priority_set(sd->engine_instance, priority); 1375 emotion_engine_instance_priority_set(sd->engine_instance, priority);
1376} 1376}
1377 1377
1378EAPI Eina_Bool 1378EMOTION_API Eina_Bool
1379emotion_object_priority_get(const Evas_Object *obj) 1379emotion_object_priority_get(const Evas_Object *obj)
1380{ 1380{
1381 Efl_Canvas_Video_Data *sd; 1381 Efl_Canvas_Video_Data *sd;
@@ -1415,7 +1415,7 @@ _eio_load_xattr_error(void *data, Eio_File *handler, int err EINA_UNUSED)
1415} 1415}
1416#endif 1416#endif
1417 1417
1418EAPI void 1418EMOTION_API void
1419emotion_object_last_position_load(Evas_Object *obj) 1419emotion_object_last_position_load(Evas_Object *obj)
1420{ 1420{
1421 Efl_Canvas_Video_Data *sd; 1421 Efl_Canvas_Video_Data *sd;
@@ -1486,7 +1486,7 @@ _eio_save_xattr_error(void *data, Eio_File *handler, int err EINA_UNUSED)
1486} 1486}
1487#endif 1487#endif
1488 1488
1489EAPI void 1489EMOTION_API void
1490emotion_object_last_position_save(Evas_Object *obj) 1490emotion_object_last_position_save(Evas_Object *obj)
1491{ 1491{
1492 Efl_Canvas_Video_Data *sd; 1492 Efl_Canvas_Video_Data *sd;
@@ -1525,7 +1525,7 @@ emotion_object_last_position_save(Evas_Object *obj)
1525#endif 1525#endif
1526} 1526}
1527 1527
1528EAPI void 1528EMOTION_API void
1529emotion_object_suspend_set(Evas_Object *obj, Emotion_Suspend state) 1529emotion_object_suspend_set(Evas_Object *obj, Emotion_Suspend state)
1530{ 1530{
1531 Efl_Canvas_Video_Data *sd; 1531 Efl_Canvas_Video_Data *sd;
@@ -1547,7 +1547,7 @@ emotion_object_suspend_set(Evas_Object *obj, Emotion_Suspend state)
1547 sd->state = state; 1547 sd->state = state;
1548} 1548}
1549 1549
1550EAPI Emotion_Suspend 1550EMOTION_API Emotion_Suspend
1551emotion_object_suspend_get(Evas_Object *obj) 1551emotion_object_suspend_get(Evas_Object *obj)
1552{ 1552{
1553 Efl_Canvas_Video_Data *sd; 1553 Efl_Canvas_Video_Data *sd;
@@ -1560,7 +1560,7 @@ emotion_object_suspend_get(Evas_Object *obj)
1560/* Utility calls for modules */ 1560/* Utility calls for modules */
1561/*****************************/ 1561/*****************************/
1562 1562
1563EAPI void * 1563EMOTION_API void *
1564_emotion_video_get(const Evas_Object *obj) 1564_emotion_video_get(const Evas_Object *obj)
1565{ 1565{
1566 Efl_Canvas_Video_Data *sd; 1566 Efl_Canvas_Video_Data *sd;
@@ -1587,7 +1587,7 @@ _emotion_frame_anim(void *data)
1587 return EINA_FALSE; 1587 return EINA_FALSE;
1588} 1588}
1589 1589
1590EAPI void 1590EMOTION_API void
1591_emotion_frame_new(Evas_Object *obj) 1591_emotion_frame_new(Evas_Object *obj)
1592{ 1592{
1593 Efl_Canvas_Video_Data *sd; 1593 Efl_Canvas_Video_Data *sd;
@@ -1597,7 +1597,7 @@ _emotion_frame_new(Evas_Object *obj)
1597 sd->anim = ecore_evas_animator_add(obj, _emotion_frame_anim, obj); 1597 sd->anim = ecore_evas_animator_add(obj, _emotion_frame_anim, obj);
1598} 1598}
1599 1599
1600EAPI void 1600EMOTION_API void
1601_emotion_video_pos_update(Evas_Object *obj, double pos, double len) 1601_emotion_video_pos_update(Evas_Object *obj, double pos, double len)
1602{ 1602{
1603 Efl_Canvas_Video_Data *sd; 1603 Efl_Canvas_Video_Data *sd;
@@ -1620,7 +1620,7 @@ _emotion_video_pos_update(Evas_Object *obj, double pos, double len)
1620 } 1620 }
1621} 1621}
1622 1622
1623EAPI void 1623EMOTION_API void
1624_emotion_frame_resize(Evas_Object *obj, int w, int h, double ratio) 1624_emotion_frame_resize(Evas_Object *obj, int w, int h, double ratio)
1625{ 1625{
1626 Efl_Canvas_Video_Data *sd; 1626 Efl_Canvas_Video_Data *sd;
@@ -1653,7 +1653,7 @@ _emotion_frame_resize(Evas_Object *obj, int w, int h, double ratio)
1653 } 1653 }
1654} 1654}
1655 1655
1656EAPI void 1656EMOTION_API void
1657_emotion_image_reset(Evas_Object *obj) 1657_emotion_image_reset(Evas_Object *obj)
1658{ 1658{
1659 Efl_Canvas_Video_Data *sd; 1659 Efl_Canvas_Video_Data *sd;
@@ -1662,7 +1662,7 @@ _emotion_image_reset(Evas_Object *obj)
1662 _emotion_image_data_zero(sd->obj); 1662 _emotion_image_data_zero(sd->obj);
1663} 1663}
1664 1664
1665EAPI void 1665EMOTION_API void
1666_emotion_decode_stop(Evas_Object *obj) 1666_emotion_decode_stop(Evas_Object *obj)
1667{ 1667{
1668 Efl_Canvas_Video_Data *sd; 1668 Efl_Canvas_Video_Data *sd;
@@ -1675,7 +1675,7 @@ _emotion_decode_stop(Evas_Object *obj)
1675 } 1675 }
1676} 1676}
1677 1677
1678EAPI void 1678EMOTION_API void
1679_emotion_open_done(Evas_Object *obj) 1679_emotion_open_done(Evas_Object *obj)
1680{ 1680{
1681 Efl_Canvas_Video_Data *sd; 1681 Efl_Canvas_Video_Data *sd;
@@ -1696,14 +1696,14 @@ _emotion_open_done(Evas_Object *obj)
1696 evas_object_smart_callback_call(obj, "open_done", NULL); 1696 evas_object_smart_callback_call(obj, "open_done", NULL);
1697} 1697}
1698 1698
1699EAPI void 1699EMOTION_API void
1700_emotion_playback_started(Evas_Object *obj) 1700_emotion_playback_started(Evas_Object *obj)
1701{ 1701{
1702 efl_event_callback_call(obj, EFL_CANVAS_VIDEO_EVENT_PLAYBACK_START, NULL); 1702 efl_event_callback_call(obj, EFL_CANVAS_VIDEO_EVENT_PLAYBACK_START, NULL);
1703 evas_object_smart_callback_call(obj, "playback_started", NULL); 1703 evas_object_smart_callback_call(obj, "playback_started", NULL);
1704} 1704}
1705 1705
1706EAPI void 1706EMOTION_API void
1707_emotion_playback_finished(Evas_Object *obj) 1707_emotion_playback_finished(Evas_Object *obj)
1708{ 1708{
1709 Efl_Canvas_Video_Data *sd; 1709 Efl_Canvas_Video_Data *sd;
@@ -1713,14 +1713,14 @@ _emotion_playback_finished(Evas_Object *obj)
1713 evas_object_smart_callback_call(obj, "playback_finished", NULL); 1713 evas_object_smart_callback_call(obj, "playback_finished", NULL);
1714} 1714}
1715 1715
1716EAPI void 1716EMOTION_API void
1717_emotion_audio_level_change(Evas_Object *obj) 1717_emotion_audio_level_change(Evas_Object *obj)
1718{ 1718{
1719 efl_event_callback_call(obj, EFL_CANVAS_VIDEO_EVENT_VOLUME_CHANGE, NULL); 1719 efl_event_callback_call(obj, EFL_CANVAS_VIDEO_EVENT_VOLUME_CHANGE, NULL);
1720 evas_object_smart_callback_call(obj, "audio_level_change", NULL); 1720 evas_object_smart_callback_call(obj, "audio_level_change", NULL);
1721} 1721}
1722 1722
1723EAPI void 1723EMOTION_API void
1724_emotion_channels_change(Evas_Object *obj) 1724_emotion_channels_change(Evas_Object *obj)
1725{ 1725{
1726 Efl_Canvas_Video_Data *sd; 1726 Efl_Canvas_Video_Data *sd;
@@ -1730,7 +1730,7 @@ _emotion_channels_change(Evas_Object *obj)
1730 evas_object_smart_callback_call(obj, "channels_change", NULL); 1730 evas_object_smart_callback_call(obj, "channels_change", NULL);
1731} 1731}
1732 1732
1733EAPI void 1733EMOTION_API void
1734_emotion_title_set(Evas_Object *obj, char *title) 1734_emotion_title_set(Evas_Object *obj, char *title)
1735{ 1735{
1736 Efl_Canvas_Video_Data *sd; 1736 Efl_Canvas_Video_Data *sd;
@@ -1741,7 +1741,7 @@ _emotion_title_set(Evas_Object *obj, char *title)
1741 evas_object_smart_callback_call(obj, "title_change", NULL); 1741 evas_object_smart_callback_call(obj, "title_change", NULL);
1742} 1742}
1743 1743
1744EAPI void 1744EMOTION_API void
1745_emotion_progress_set(Evas_Object *obj, char *info, double st) 1745_emotion_progress_set(Evas_Object *obj, char *info, double st)
1746{ 1746{
1747 Efl_Canvas_Video_Data *sd; 1747 Efl_Canvas_Video_Data *sd;
@@ -1753,7 +1753,7 @@ _emotion_progress_set(Evas_Object *obj, char *info, double st)
1753 evas_object_smart_callback_call(obj, "progress_change", NULL); 1753 evas_object_smart_callback_call(obj, "progress_change", NULL);
1754} 1754}
1755 1755
1756EAPI void 1756EMOTION_API void
1757_emotion_file_ref_set(Evas_Object *obj, const char *file, int num) 1757_emotion_file_ref_set(Evas_Object *obj, const char *file, int num)
1758{ 1758{
1759 Efl_Canvas_Video_Data *sd; 1759 Efl_Canvas_Video_Data *sd;
@@ -1765,7 +1765,7 @@ _emotion_file_ref_set(Evas_Object *obj, const char *file, int num)
1765 evas_object_smart_callback_call(obj, "ref_change", NULL); 1765 evas_object_smart_callback_call(obj, "ref_change", NULL);
1766} 1766}
1767 1767
1768EAPI void 1768EMOTION_API void
1769_emotion_spu_button_num_set(Evas_Object *obj, int num) 1769_emotion_spu_button_num_set(Evas_Object *obj, int num)
1770{ 1770{
1771 Efl_Canvas_Video_Data *sd; 1771 Efl_Canvas_Video_Data *sd;
@@ -1776,7 +1776,7 @@ _emotion_spu_button_num_set(Evas_Object *obj, int num)
1776 evas_object_smart_callback_call(obj, "button_num_change", NULL); 1776 evas_object_smart_callback_call(obj, "button_num_change", NULL);
1777} 1777}
1778 1778
1779EAPI void 1779EMOTION_API void
1780_emotion_spu_button_set(Evas_Object *obj, int button) 1780_emotion_spu_button_set(Evas_Object *obj, int button)
1781{ 1781{
1782 Efl_Canvas_Video_Data *sd; 1782 Efl_Canvas_Video_Data *sd;
@@ -1787,7 +1787,7 @@ _emotion_spu_button_set(Evas_Object *obj, int button)
1787 evas_object_smart_callback_call(obj, "button_change", NULL); 1787 evas_object_smart_callback_call(obj, "button_change", NULL);
1788} 1788}
1789 1789
1790EAPI void 1790EMOTION_API void
1791_emotion_seek_done(Evas_Object *obj) 1791_emotion_seek_done(Evas_Object *obj)
1792{ 1792{
1793 Efl_Canvas_Video_Data *sd; 1793 Efl_Canvas_Video_Data *sd;
@@ -1800,7 +1800,7 @@ _emotion_seek_done(Evas_Object *obj)
1800 } 1800 }
1801} 1801}
1802 1802
1803EAPI void 1803EMOTION_API void
1804_emotion_frame_refill(Evas_Object *obj, double w, double h) 1804_emotion_frame_refill(Evas_Object *obj, double w, double h)
1805{ 1805{
1806 Efl_Canvas_Video_Data *sd; 1806 Efl_Canvas_Video_Data *sd;
diff --git a/src/lib/emotion/emotion_webcam.c b/src/lib/emotion/emotion_webcam.c
index 8b46b9a724..65a012c6f5 100644
--- a/src/lib/emotion/emotion_webcam.c
+++ b/src/lib/emotion/emotion_webcam.c
@@ -18,9 +18,9 @@
18 18
19#include "emotion_private.h" 19#include "emotion_private.h"
20 20
21EAPI int EMOTION_WEBCAM_UPDATE = 0; 21EMOTION_API int EMOTION_WEBCAM_UPDATE = 0;
22EAPI int EMOTION_WEBCAM_ADD = 0; 22EMOTION_API int EMOTION_WEBCAM_ADD = 0;
23EAPI int EMOTION_WEBCAM_DEL = 0; 23EMOTION_API int EMOTION_WEBCAM_DEL = 0;
24 24
25typedef struct _Emotion_Webcams Emotion_Webcams; 25typedef struct _Emotion_Webcams Emotion_Webcams;
26 26
@@ -295,7 +295,7 @@ emotion_webcam_shutdown(void)
295#endif 295#endif
296} 296}
297 297
298EAPI const Eina_List * 298EMOTION_API const Eina_List *
299emotion_webcams_get(void) 299emotion_webcams_get(void)
300{ 300{
301 EINA_SAFETY_ON_NULL_RETURN_VAL(_emotion_webcams, NULL); 301 EINA_SAFETY_ON_NULL_RETURN_VAL(_emotion_webcams, NULL);
@@ -303,21 +303,21 @@ emotion_webcams_get(void)
303 return _emotion_webcams->webcams; 303 return _emotion_webcams->webcams;
304} 304}
305 305
306EAPI const char * 306EMOTION_API const char *
307emotion_webcam_name_get(const Emotion_Webcam *ew) 307emotion_webcam_name_get(const Emotion_Webcam *ew)
308{ 308{
309 EINA_SAFETY_ON_NULL_RETURN_VAL(ew, NULL); 309 EINA_SAFETY_ON_NULL_RETURN_VAL(ew, NULL);
310 return ew->name; 310 return ew->name;
311} 311}
312 312
313EAPI const char * 313EMOTION_API const char *
314emotion_webcam_device_get(const Emotion_Webcam *ew) 314emotion_webcam_device_get(const Emotion_Webcam *ew)
315{ 315{
316 EINA_SAFETY_ON_NULL_RETURN_VAL(ew, NULL); 316 EINA_SAFETY_ON_NULL_RETURN_VAL(ew, NULL);
317 return ew->device; 317 return ew->device;
318} 318}
319 319
320EAPI const char * 320EMOTION_API const char *
321emotion_webcam_custom_get(const char *device EINA_UNUSED) 321emotion_webcam_custom_get(const char *device EINA_UNUSED)
322{ 322{
323 return NULL; 323 return NULL;
diff --git a/src/lib/emotion/meson.build b/src/lib/emotion/meson.build
index 8404fab3fd..21e50df4bc 100644
--- a/src/lib/emotion/meson.build
+++ b/src/lib/emotion/meson.build
@@ -16,6 +16,7 @@ foreach eo_file : pub_eo_file
16 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), 16 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
17 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), 17 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
18 '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'), 18 '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
19 '-e', 'EMOTION_API',
19 '-gchd', '@INPUT@']) 20 '-gchd', '@INPUT@'])
20endforeach 21endforeach
21 22
@@ -26,6 +27,7 @@ emotion_header_src = [
26 'Emotion_Legacy.h', 27 'Emotion_Legacy.h',
27 'Emotion_Eo.h', 28 'Emotion_Eo.h',
28 'efl_canvas_video_eo.legacy.h', 29 'efl_canvas_video_eo.legacy.h',
30 'emotion_api.h',
29] 31]
30 32
31emotion_src = files([ 33emotion_src = files([
@@ -53,7 +55,7 @@ emotion_lib = library('emotion',
53 dependencies: emotion_deps + emotion_pub_deps + emotion_ext_deps, 55 dependencies: emotion_deps + emotion_pub_deps + emotion_ext_deps,
54 include_directories : config_dir + [include_directories('.')], 56 include_directories : config_dir + [include_directories('.')],
55 install: true, 57 install: true,
56 c_args : emotion_package_c_args, 58 c_args : [emotion_package_c_args, '-DEMOTION_BUILD'],
57 version : meson.project_version() 59 version : meson.project_version()
58) 60)
59 61