bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=015fbac20da75fa944573c8f359b0785c7ffedbd
commit 015fbac20da75fa944573c8f359b0785c7ffedbd Author: Marcel Hollerbach <[email protected]> Date: Fri Jan 25 15:32:53 2019 +0100 ecore: make ecore_audio_out abstract ecore_audio does define format and source, those are then used in some leave classes, ecore_audio is only used in the tests, and should not be used externally. Therefore make it abstract. The other missing implementations are in the leave classes, They are resolved with providing empty implementations, since no format switching is supported. ref T5719 Reviewed-by: Cedric BAIL <[email protected]> Differential Revision: https://phab.enlightenment.org/D7782 --- src/Makefile_Ecore.am | 3 ++- src/lib/ecore_audio/ecore_audio_out.eo | 2 +- src/lib/ecore_audio/ecore_audio_out_pulse.eo | 2 ++ src/lib/ecore_audio/ecore_audio_out_wasapi.eo | 2 ++ src/tests/ecore/ecore_audio_out_test.eo | 8 ++++++++ src/tests/ecore/ecore_test_ecore_audio.c | 9 ++++++--- src/tests/ecore/meson.build | 19 +++++++++++++++++++ 7 files changed, 40 insertions(+), 5 deletions(-) diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am index 38aeab1f6c..364bac41d6 100644 --- a/src/Makefile_Ecore.am +++ b/src/Makefile_Ecore.am @@ -5,7 +5,8 @@ ecore_eolian_files_legacy = \ lib/ecore/ecore_exe.eo \ lib/ecore/ecore_event_message.eo \ lib/ecore/ecore_event_message_handler.eo \ - lib/ecore/efl_loop_timer.eo + lib/ecore/efl_loop_timer.eo \ + tests/ecore/ecore_audio_out_test.eo ecore_eolian_files_public = \ lib/ecore/efl_app.eo \ diff --git a/src/lib/ecore_audio/ecore_audio_out.eo b/src/lib/ecore_audio/ecore_audio_out.eo index 72d65d142c..d50f1c1473 100644 --- a/src/lib/ecore_audio/ecore_audio_out.eo +++ b/src/lib/ecore_audio/ecore_audio_out.eo @@ -1,4 +1,4 @@ -class Ecore.Audio.Out extends Ecore.Audio +abstract Ecore.Audio.Out extends Ecore.Audio { [[Ecore Audio output object.]] diff --git a/src/lib/ecore_audio/ecore_audio_out_pulse.eo b/src/lib/ecore_audio/ecore_audio_out_pulse.eo index 6d28e7edbf..ea3940acae 100644 --- a/src/lib/ecore_audio/ecore_audio_out_pulse.eo +++ b/src/lib/ecore_audio/ecore_audio_out_pulse.eo @@ -7,6 +7,8 @@ class Ecore.Audio.Out.Pulse extends Ecore.Audio.Out Efl.Object.constructor; Efl.Object.destructor; Ecore.Audio.volume { set; } + @empty Ecore.Audio.format { set; get; } + @empty Ecore.Audio.source { set; get; } Ecore.Audio.Out.input_attach; Ecore.Audio.Out.input_detach; } diff --git a/src/lib/ecore_audio/ecore_audio_out_wasapi.eo b/src/lib/ecore_audio/ecore_audio_out_wasapi.eo index 00c503dd7c..c32e9ecef8 100644 --- a/src/lib/ecore_audio/ecore_audio_out_wasapi.eo +++ b/src/lib/ecore_audio/ecore_audio_out_wasapi.eo @@ -7,6 +7,8 @@ class Ecore.Audio.Out.Wasapi extends Ecore.Audio.Out Efl.Object.constructor; Efl.Object.destructor; Ecore.Audio.volume { set;} + @empty Ecore.Audio.format { set; get; } + @empty Ecore.Audio.source { set; get; } Ecore.Audio.Out.input_attach; Ecore.Audio.Out.input_detach; } diff --git a/src/tests/ecore/ecore_audio_out_test.eo b/src/tests/ecore/ecore_audio_out_test.eo new file mode 100644 index 0000000000..a5ec9218d7 --- /dev/null +++ b/src/tests/ecore/ecore_audio_out_test.eo @@ -0,0 +1,8 @@ +class Ecore.Audio.Out.Test extends Ecore.Audio.Out +{ + data: null; + implements { + @empty Ecore.Audio.source { set; get; } + @empty Ecore.Audio.format { set; get; } + } +} diff --git a/src/tests/ecore/ecore_test_ecore_audio.c b/src/tests/ecore/ecore_test_ecore_audio.c index c90d575eea..9c8a890945 100644 --- a/src/tests/ecore/ecore_test_ecore_audio.c +++ b/src/tests/ecore/ecore_test_ecore_audio.c @@ -311,6 +311,9 @@ EFL_START_TEST(ecore_test_ecore_audio_obj_sndfile) } EFL_END_TEST +#include "ecore_audio_out_test.eo.h" +#include "ecore_audio_out_test.eo.c" + EFL_START_TEST(ecore_test_ecore_audio_obj_in_out) { Eo *out2; @@ -319,7 +322,7 @@ EFL_START_TEST(ecore_test_ecore_audio_obj_in_out) Eo *in = efl_add_ref(ECORE_AUDIO_IN_CLASS, NULL); Eo *in2 = efl_add_ref(ECORE_AUDIO_IN_CLASS, NULL); - Eo *out = efl_add_ref(ECORE_AUDIO_OUT_CLASS, NULL); + Eo *out = efl_add_ref(ECORE_AUDIO_OUT_TEST_CLASS, NULL); fail_if(!in); fail_if(!in2); @@ -418,7 +421,7 @@ EFL_START_TEST(ecore_test_ecore_audio_obj_vio) in = efl_add_ref(ECORE_AUDIO_IN_CLASS, NULL); fail_if(!in); - out = efl_add_ref(ECORE_AUDIO_OUT_CLASS, NULL); + out = efl_add_ref(ECORE_AUDIO_OUT_TEST_CLASS, NULL); fail_if(!out); ecore_audio_obj_vio_set(in, &in_vio, NULL, NULL); @@ -543,7 +546,7 @@ EFL_START_TEST(ecore_test_ecore_audio_obj) objs[0] = efl_add_ref(ECORE_AUDIO_IN_CLASS, NULL); fail_if(!objs[0]); - objs[1] = efl_add_ref(ECORE_AUDIO_OUT_CLASS, NULL); + objs[1] = efl_add_ref(ECORE_AUDIO_OUT_TEST_CLASS, NULL); fail_if(!objs[1]); for (i=0; i<2; i++) { diff --git a/src/tests/ecore/meson.build b/src/tests/ecore/meson.build index 98104146be..4b46814bbe 100644 --- a/src/tests/ecore/meson.build +++ b/src/tests/ecore/meson.build @@ -23,9 +23,28 @@ ecore_suite_deps += ecore_evas ecore_suite_deps += ecore_input ecore_suite_deps += ecore_imf +test_eo_files = [ + 'ecore_audio_out_test.eo', +] +test_eo_file_target = [] + +foreach eo_file : test_eo_files + test_eo_file_target += custom_target('eolian_gen_' + eo_file, + input : eo_file, + output : [eo_file + '.h'], + depfile : eo_file + '.d', + install : false, + command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories, + '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), + '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), + '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'), + '-gchd', '@INPUT@']) +endforeach + if get_option('audio') ecore_suite_deps += ecore_audio ecore_suite_src += 'ecore_test_ecore_audio.c' + ecore_suite_src += test_eo_file_target endif if get_option('fb') --
