ecore_audio: Add more return values for methods, catch up with API
input_attach, input_detach, format_set, and source_set now return an Eina_Bool Tests, examples and edje_multisense adapted Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
This commit is contained in:
parent
4e3804041f
commit
97d4b50c91
|
@ -49,6 +49,8 @@ Ecore_Audio_Vio vio = {
|
|||
int
|
||||
main(int argc, const char *argv[])
|
||||
{
|
||||
Eina_Bool ret;
|
||||
|
||||
ecore_init();
|
||||
ecore_audio_init();
|
||||
|
||||
|
@ -68,7 +70,11 @@ main(int argc, const char *argv[])
|
|||
eo_do(in, ecore_audio_obj_volume_set(0.7));
|
||||
eo_do(in, ecore_audio_obj_vio_set(&vio, NULL, NULL));
|
||||
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, NULL));
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, &ret));
|
||||
if (!ret) {
|
||||
printf("Could not attach input");
|
||||
goto end;
|
||||
}
|
||||
|
||||
ecore_main_loop_begin();
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ handle_cmd(char *cmd, size_t bread)
|
|||
const char *name;
|
||||
Eina_List *out_inputs, *input;
|
||||
Eo *in;
|
||||
Eina_Bool paused;
|
||||
Eina_Bool paused, ret;
|
||||
double pos, length;
|
||||
int min;
|
||||
|
||||
|
@ -53,7 +53,10 @@ handle_cmd(char *cmd, size_t bread)
|
|||
else if (!strncmp(cmd, "n", bread))
|
||||
{
|
||||
in = eina_list_data_get(out_inputs);
|
||||
eo_do(out, ecore_audio_obj_out_input_detach(in));
|
||||
eo_do(out, ecore_audio_obj_out_input_detach(in, &ret));
|
||||
if (!ret)
|
||||
printf("Could not detach input\n");
|
||||
|
||||
inputs = eina_list_remove(inputs, in);
|
||||
|
||||
if (eina_list_count(inputs) > 0)
|
||||
|
@ -64,7 +67,9 @@ handle_cmd(char *cmd, size_t bread)
|
|||
ecore_audio_obj_in_length_get(&length));
|
||||
|
||||
printf("Start: %s (%0.2fs)\n", name, length);
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, NULL));
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, &ret));
|
||||
if (!ret)
|
||||
printf("Could not attach input %s\n", name);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -83,7 +88,9 @@ handle_cmd(char *cmd, size_t bread)
|
|||
ecore_audio_obj_in_length_get(&length));
|
||||
|
||||
printf("Start: %s (%0.2fs)\n", name, length);
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, NULL));
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, &ret));
|
||||
if (!ret)
|
||||
printf("Could not attach input %s\n", name);
|
||||
}
|
||||
}
|
||||
else if (!strncmp(cmd, "l", bread))
|
||||
|
@ -187,14 +194,18 @@ handle_input(void *data EINA_UNUSED, Ecore_Fd_Handler *handler)
|
|||
static Eina_Bool _play_finished(void *data EINA_UNUSED, Eo *in, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
const char *name;
|
||||
Eina_Bool ret;
|
||||
|
||||
eo_do(in, ecore_audio_obj_name_get(&name));
|
||||
printf("Done: %s\n", name);
|
||||
|
||||
inputs = eina_list_remove(inputs, in);
|
||||
eo_do(out, ecore_audio_obj_out_input_detach(in));
|
||||
eo_do(out, ecore_audio_obj_out_input_detach(in, &ret));
|
||||
eo_del(in);
|
||||
|
||||
if (!ret)
|
||||
printf("Could not detach input %s\n", name);
|
||||
|
||||
|
||||
if (eina_list_count(inputs) > 0)
|
||||
{
|
||||
|
@ -203,7 +214,9 @@ static Eina_Bool _play_finished(void *data EINA_UNUSED, Eo *in, const Eo_Event_D
|
|||
|
||||
eo_do(in, ecore_audio_obj_name_get(&name));
|
||||
printf("Start: %s\n", name);
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, NULL));
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, &ret));
|
||||
if (!ret)
|
||||
printf("Could not attach input %s\n", name);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -219,6 +232,7 @@ main(int argc, const char *argv[])
|
|||
{
|
||||
int i, freq;
|
||||
|
||||
Eina_Bool ret;
|
||||
struct termios tcorig, tcnew;
|
||||
Eo *in;
|
||||
char *tmp, *tmp2, *val;
|
||||
|
@ -271,7 +285,11 @@ main(int argc, const char *argv[])
|
|||
tmp = strdup(argv[i]);
|
||||
eo_do(in, ecore_audio_obj_name_set(basename(tmp)));
|
||||
free(tmp);
|
||||
eo_do(in, ecore_audio_obj_source_set(argv[i]));
|
||||
eo_do(in, ecore_audio_obj_source_set(argv[i], &ret));
|
||||
if (!ret) {
|
||||
printf("Could not set %s as input\n", argv[i]);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
eo_do(in, eo_event_callback_add(ECORE_AUDIO_EV_IN_STOPPED, _play_finished, NULL));
|
||||
inputs = eina_list_append(inputs, in);
|
||||
|
@ -281,13 +299,18 @@ main(int argc, const char *argv[])
|
|||
double length;
|
||||
in = (Eo *)eina_list_data_get(inputs);
|
||||
|
||||
if (!in)
|
||||
return 1;
|
||||
|
||||
eo_do(in, ecore_audio_obj_name_get(&name),
|
||||
ecore_audio_obj_in_length_get(&length));
|
||||
|
||||
printf("Start: %s (%0.2fs)\n", name, length);
|
||||
|
||||
out = eo_add(ECORE_AUDIO_OBJ_OUT_PULSE_CLASS, NULL);
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, NULL));
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, &ret));
|
||||
if (!ret)
|
||||
printf("Could not attach input %s\n", name);
|
||||
|
||||
|
||||
/* Disable canonical mode for stdin */
|
||||
|
|
|
@ -37,6 +37,7 @@ main(int argc, char *argv[])
|
|||
{
|
||||
Eo *out;
|
||||
Eo *in;
|
||||
Eina_Bool ret;
|
||||
|
||||
if (argc < 2)
|
||||
{
|
||||
|
@ -50,14 +51,31 @@ main(int argc, char *argv[])
|
|||
|
||||
in = eo_add(ECORE_AUDIO_OBJ_IN_SNDFILE_CLASS, NULL);
|
||||
eo_do(in, ecore_audio_obj_name_set(basename(argv[1])));
|
||||
eo_do(in, ecore_audio_obj_source_set(argv[1]));
|
||||
eo_do(in, ecore_audio_obj_source_set(argv[1], &ret));
|
||||
if (!ret) {
|
||||
printf("Could not set %s as input\n", argv[1]);
|
||||
eo_del(in);
|
||||
return 1;
|
||||
}
|
||||
|
||||
eo_do(in, eo_event_callback_add(ECORE_AUDIO_EV_IN_STOPPED, _play_finished, NULL));
|
||||
|
||||
out = eo_add(ECORE_AUDIO_OBJ_OUT_SNDFILE_CLASS, NULL);
|
||||
eo_do(out, ecore_audio_obj_source_set("foo.ogg"));
|
||||
eo_do(out, ecore_audio_obj_source_set("foo.ogg", &ret));
|
||||
if (!ret) {
|
||||
printf("Could not set %s as output\n", "foo.ogg");
|
||||
eo_del(in);
|
||||
eo_del(out);
|
||||
return 1;
|
||||
}
|
||||
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, NULL));
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, &ret));
|
||||
if (!ret) {
|
||||
printf("Could not attach input\n");
|
||||
eo_del(out);
|
||||
eo_del(in);
|
||||
return 1;
|
||||
}
|
||||
|
||||
ecore_main_loop_begin();
|
||||
|
||||
|
|
|
@ -85,11 +85,11 @@ enum Ecore_Audio_Obj_Sub_Ids
|
|||
|
||||
#define ecore_audio_obj_volume_get(ret) ECORE_AUDIO_OBJ_ID(ECORE_AUDIO_OBJ_SUB_ID_VOLUME_GET), EO_TYPECHECK(double *, ret)
|
||||
|
||||
#define ecore_audio_obj_source_set(source) ECORE_AUDIO_OBJ_ID(ECORE_AUDIO_OBJ_SUB_ID_SOURCE_SET), EO_TYPECHECK(const char *, source)
|
||||
#define ecore_audio_obj_source_set(source, ret) ECORE_AUDIO_OBJ_ID(ECORE_AUDIO_OBJ_SUB_ID_SOURCE_SET), EO_TYPECHECK(const char *, source), EO_TYPECHECK(Eina_Bool *, ret)
|
||||
|
||||
#define ecore_audio_obj_source_get(source) ECORE_AUDIO_OBJ_ID(ECORE_AUDIO_OBJ_SUB_ID_SOURCE_GET), EO_TYPECHECK(const char **, source)
|
||||
|
||||
#define ecore_audio_obj_format_set(format) ECORE_AUDIO_OBJ_ID(ECORE_AUDIO_OBJ_SUB_ID_FORMAT_SET), EO_TYPECHECK(Ecore_Audio_Format, format)
|
||||
#define ecore_audio_obj_format_set(format, ret) ECORE_AUDIO_OBJ_ID(ECORE_AUDIO_OBJ_SUB_ID_FORMAT_SET), EO_TYPECHECK(Ecore_Audio_Format, format), EO_TYPECHECK(Eina_Bool *, ret)
|
||||
|
||||
#define ecore_audio_obj_format_get(ret) ECORE_AUDIO_OBJ_ID(ECORE_AUDIO_OBJ_SUB_ID_FORMAT_GET), EO_TYPECHECK(Ecore_Audio_Format *, ret)
|
||||
|
||||
|
|
|
@ -243,7 +243,7 @@ static void _destructor(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED)
|
|||
Ecore_Audio_Input *obj = _pd;
|
||||
|
||||
if(obj->output)
|
||||
eo_do(obj->output, ecore_audio_obj_out_input_detach(eo_obj));
|
||||
eo_do(obj->output, ecore_audio_obj_out_input_detach(eo_obj, NULL));
|
||||
|
||||
eo_do_super(eo_obj, MY_CLASS, eo_destructor());
|
||||
}
|
||||
|
|
|
@ -137,6 +137,10 @@ static void _source_set(Eo *eo_obj, void *_pd, va_list *list)
|
|||
Ecore_Audio_Input *in_obj = eo_data_get(eo_obj, ECORE_AUDIO_OBJ_IN_CLASS);
|
||||
|
||||
const char *source = va_arg(*list, const char *);
|
||||
Eina_Bool *ret = va_arg(*list, Eina_Bool *);
|
||||
|
||||
if (ret)
|
||||
*ret = EINA_FALSE;
|
||||
|
||||
if (obj->handle) {
|
||||
sf_close(obj->handle);
|
||||
|
@ -156,6 +160,9 @@ static void _source_set(Eo *eo_obj, void *_pd, va_list *list)
|
|||
return;
|
||||
}
|
||||
|
||||
if (ret)
|
||||
*ret = EINA_TRUE;
|
||||
|
||||
in_obj->seekable = EINA_TRUE;
|
||||
in_obj->length = (double)obj->sfinfo.frames / obj->sfinfo.samplerate;
|
||||
|
||||
|
@ -188,6 +195,7 @@ static void _format_set(Eo *eo_obj, void *_pd, va_list *list)
|
|||
Ecore_Audio_Object *ea_obj = eo_data_get(eo_obj, ECORE_AUDIO_OBJ_CLASS);
|
||||
|
||||
Ecore_Audio_Format format= va_arg(*list, Ecore_Audio_Format);
|
||||
Eina_Bool *ret = va_arg(*list, Eina_Bool *);
|
||||
|
||||
if (ea_obj->source) {
|
||||
ERR("Input is already open - cannot change format");
|
||||
|
@ -208,9 +216,14 @@ static void _format_set(Eo *eo_obj, void *_pd, va_list *list)
|
|||
break;
|
||||
default:
|
||||
ERR("Format not supported!");
|
||||
if (ret)
|
||||
*ret = EINA_FALSE;
|
||||
return;
|
||||
}
|
||||
ea_obj->format = format;
|
||||
|
||||
if (ret)
|
||||
*ret = EINA_TRUE;
|
||||
}
|
||||
|
||||
static void _format_get(Eo *eo_obj, void *_pd EINA_UNUSED, va_list *list)
|
||||
|
|
|
@ -35,7 +35,7 @@ static void _input_attach(Eo *eo_obj, void *_pd, va_list *list)
|
|||
if (in->output == eo_obj)
|
||||
return;
|
||||
|
||||
if (in->output) eo_do(in->output, ecore_audio_obj_out_input_detach(input));
|
||||
if (in->output) eo_do(in->output, ecore_audio_obj_out_input_detach(input, NULL));
|
||||
in->output = eo_obj;
|
||||
|
||||
/* TODO: Check type is input
|
||||
|
@ -48,15 +48,22 @@ static void _input_attach(Eo *eo_obj, void *_pd, va_list *list)
|
|||
*ret = EINA_TRUE;
|
||||
}
|
||||
|
||||
static void _input_detach(Eo *eo_obj EINA_UNUSED, void *_pd, va_list *list)
|
||||
static void _input_detach(Eo *eo_obj, void *_pd, va_list *list)
|
||||
{
|
||||
Ecore_Audio_Output *obj = _pd;
|
||||
Ecore_Audio_Input *in;
|
||||
|
||||
Eo *input = va_arg(*list, Eo *);
|
||||
Eina_Bool *ret = va_arg(*list, Eina_Bool *);
|
||||
|
||||
in = eo_data_get(input, ECORE_AUDIO_OBJ_IN_CLASS);
|
||||
|
||||
if (ret)
|
||||
*ret = EINA_FALSE;
|
||||
|
||||
if (in->output != eo_obj)
|
||||
return;
|
||||
|
||||
in->output = NULL;
|
||||
|
||||
/* TODO: Check type is input
|
||||
|
@ -65,6 +72,8 @@ static void _input_detach(Eo *eo_obj EINA_UNUSED, void *_pd, va_list *list)
|
|||
|
||||
obj->inputs = eina_list_remove(obj->inputs, input);
|
||||
|
||||
if (ret)
|
||||
*ret = EINA_TRUE;
|
||||
}
|
||||
|
||||
static void _inputs_get(Eo *eo_obj EINA_UNUSED, void *_pd, va_list *list)
|
||||
|
@ -91,7 +100,7 @@ static void _destructor(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED)
|
|||
Eo *in;
|
||||
|
||||
EINA_LIST_FOREACH_SAFE(obj->inputs, cur, tmp, in) {
|
||||
eo_do(eo_obj, ecore_audio_obj_out_input_detach(in));
|
||||
eo_do(eo_obj, ecore_audio_obj_out_input_detach(in, NULL));
|
||||
}
|
||||
|
||||
eo_do_super(eo_obj, MY_CLASS, eo_destructor());
|
||||
|
|
|
@ -51,7 +51,7 @@ enum Ecore_Audio_Obj_Out_Sub_Ids
|
|||
|
||||
#define ecore_audio_obj_out_input_attach(input, ret) ECORE_AUDIO_OBJ_OUT_ID(ECORE_AUDIO_OBJ_OUT_SUB_ID_INPUT_ATTACH), EO_TYPECHECK(Eo *, input), EO_TYPECHECK(Eina_Bool *, ret)
|
||||
|
||||
#define ecore_audio_obj_out_input_detach(input) ECORE_AUDIO_OBJ_OUT_ID(ECORE_AUDIO_OBJ_OUT_SUB_ID_INPUT_DETACH), EO_TYPECHECK(Eo *, input)
|
||||
#define ecore_audio_obj_out_input_detach(input, ret) ECORE_AUDIO_OBJ_OUT_ID(ECORE_AUDIO_OBJ_OUT_SUB_ID_INPUT_DETACH), EO_TYPECHECK(Eo *, input), EO_TYPECHECK(Eina_Bool *, ret)
|
||||
|
||||
#define ecore_audio_obj_out_inputs_get(input) ECORE_AUDIO_OBJ_OUT_ID(ECORE_AUDIO_OBJ_OUT_SUB_ID_INPUTS_GET), EO_TYPECHECK(Eina_List **, input)
|
||||
|
||||
|
|
|
@ -131,7 +131,7 @@ static Eina_Bool _input_attach_internal(Eo *eo_obj, Eo *in)
|
|||
stream = pa_stream_new(class_vars.context, name, &ss, NULL);
|
||||
if (!stream) {
|
||||
ERR("Could not create stream");
|
||||
eo_do_super(eo_obj, MY_CLASS, ecore_audio_obj_out_input_detach(in));
|
||||
eo_do_super(eo_obj, MY_CLASS, ecore_audio_obj_out_input_detach(in, NULL));
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
|
@ -185,15 +185,25 @@ static void _drain_cb(pa_stream *stream, int success EINA_UNUSED, void *data EIN
|
|||
static void _input_detach(Eo *eo_obj, void *_pd EINA_UNUSED, va_list *list)
|
||||
{
|
||||
pa_stream *stream;
|
||||
Eina_Bool ret2;
|
||||
|
||||
Eo *in = va_arg(*list, Eo *);
|
||||
Eina_Bool *ret = va_arg(*list, Eina_Bool *);
|
||||
|
||||
if (ret)
|
||||
*ret = EINA_FALSE;
|
||||
|
||||
eo_do_super(eo_obj, MY_CLASS, ecore_audio_obj_out_input_detach(in, &ret2));
|
||||
if (!ret2)
|
||||
return;
|
||||
|
||||
eo_do(in, eo_base_data_get("pulse_data", (void **)&stream));
|
||||
|
||||
pa_stream_set_write_callback(stream, NULL, NULL);
|
||||
pa_operation_unref(pa_stream_drain(stream, _drain_cb, NULL));
|
||||
|
||||
eo_do_super(eo_obj, MY_CLASS, ecore_audio_obj_out_input_detach(in));
|
||||
if (ret)
|
||||
*ret = EINA_TRUE;
|
||||
}
|
||||
|
||||
static void _state_cb(pa_context *context, void *data EINA_UNUSED)
|
||||
|
|
|
@ -64,11 +64,17 @@ static void _input_attach(Eo *eo_obj, void *_pd, va_list *list)
|
|||
Ecore_Audio_Sndfile *obj = _pd;
|
||||
Ecore_Audio_Object *ea_obj = eo_data_get(eo_obj, ECORE_AUDIO_OBJ_CLASS);
|
||||
Ecore_Audio_Output *out_obj = eo_data_get(eo_obj, ECORE_AUDIO_OBJ_OUT_CLASS);
|
||||
Eina_Bool ret2;
|
||||
|
||||
Eo *in = va_arg(*list, Eo *);
|
||||
Eina_Bool *ret = va_arg(*list, Eina_Bool *);
|
||||
|
||||
eo_do_super(eo_obj, MY_CLASS, ecore_audio_obj_out_input_attach(in, ret));
|
||||
if (ret)
|
||||
*ret = EINA_FALSE;
|
||||
|
||||
eo_do_super(eo_obj, MY_CLASS, ecore_audio_obj_out_input_attach(in, &ret2));
|
||||
if (!ret2)
|
||||
return;
|
||||
|
||||
eo_do(in, ecore_audio_obj_in_samplerate_get(&obj->sfinfo.samplerate));
|
||||
eo_do(in, ecore_audio_obj_in_channels_get(&obj->sfinfo.channels));
|
||||
|
@ -78,9 +84,13 @@ static void _input_attach(Eo *eo_obj, void *_pd, va_list *list)
|
|||
if (!obj->handle) {
|
||||
eina_stringshare_del(ea_obj->source);
|
||||
ea_obj->source = NULL;
|
||||
eo_do_super(eo_obj, MY_CLASS, ecore_audio_obj_out_input_detach(in, NULL));
|
||||
return;
|
||||
}
|
||||
|
||||
if (ret)
|
||||
*ret = EINA_TRUE;
|
||||
|
||||
if (ea_obj->paused)
|
||||
return;
|
||||
|
||||
|
@ -96,6 +106,10 @@ static void _source_set(Eo *eo_obj, void *_pd, va_list *list)
|
|||
Ecore_Audio_Object *ea_obj = eo_data_get(eo_obj, ECORE_AUDIO_OBJ_CLASS);
|
||||
|
||||
const char *source = va_arg(*list, const char *);
|
||||
Eina_Bool *ret = va_arg(*list, Eina_Bool *);
|
||||
|
||||
if (ret)
|
||||
*ret = EINA_FALSE;
|
||||
|
||||
if (obj->handle) {
|
||||
sf_close(obj->handle);
|
||||
|
@ -107,6 +121,11 @@ static void _source_set(Eo *eo_obj, void *_pd, va_list *list)
|
|||
if (!ea_obj->source)
|
||||
return;
|
||||
|
||||
//FIXME: Open the file here
|
||||
|
||||
if (ret)
|
||||
*ret = EINA_TRUE;
|
||||
|
||||
}
|
||||
|
||||
static void _source_get(Eo *eo_obj, void *_pd EINA_UNUSED, va_list *list)
|
||||
|
@ -125,9 +144,12 @@ static void _format_set(Eo *eo_obj, void *_pd, va_list *list)
|
|||
Ecore_Audio_Object *ea_obj = eo_data_get(eo_obj, ECORE_AUDIO_OBJ_CLASS);
|
||||
|
||||
Ecore_Audio_Format format= va_arg(*list, Ecore_Audio_Format);
|
||||
Eina_Bool *ret = va_arg(*list, Eina_Bool *);
|
||||
|
||||
if (ea_obj->source) {
|
||||
ERR("Input is already open - cannot change format");
|
||||
if (ret)
|
||||
*ret = EINA_FALSE;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -145,9 +167,13 @@ static void _format_set(Eo *eo_obj, void *_pd, va_list *list)
|
|||
break;
|
||||
default:
|
||||
ERR("Format not supported!");
|
||||
if (ret)
|
||||
*ret = EINA_FALSE;
|
||||
return;
|
||||
}
|
||||
ea_obj->format = format;
|
||||
if (ret)
|
||||
*ret = EINA_TRUE;
|
||||
}
|
||||
|
||||
static void _format_get(Eo *eo_obj, void *_pd EINA_UNUSED, va_list *list)
|
||||
|
@ -164,7 +190,7 @@ static void _constructor(Eo *eo_obj, void *_pd EINA_UNUSED, va_list *list EINA_U
|
|||
{
|
||||
eo_do_super(eo_obj, MY_CLASS, eo_constructor());
|
||||
|
||||
eo_do(eo_obj, ecore_audio_obj_format_set(ECORE_AUDIO_FORMAT_OGG));
|
||||
eo_do(eo_obj, ecore_audio_obj_format_set(ECORE_AUDIO_FORMAT_OGG, NULL));
|
||||
}
|
||||
|
||||
static void _destructor(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED)
|
||||
|
|
|
@ -78,6 +78,7 @@ _edje_multisense_internal_sound_sample_play(Edje *ed, const char *sample_name, c
|
|||
Edje_Sound_Sample *sample;
|
||||
char snd_id_str[255];
|
||||
int i;
|
||||
Eina_Bool ret;
|
||||
|
||||
if (!sample_name)
|
||||
{
|
||||
|
@ -119,7 +120,12 @@ _edje_multisense_internal_sound_sample_play(Edje *ed, const char *sample_name, c
|
|||
if (!out)
|
||||
out = eo_add(ECORE_AUDIO_OBJ_OUT_PULSE_CLASS, NULL);
|
||||
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, NULL));
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, &ret));
|
||||
if (!ret) {
|
||||
ERR("Could not attach input");
|
||||
eo_del(in);
|
||||
return EINA_FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
return EINA_TRUE;
|
||||
|
@ -138,11 +144,12 @@ _edje_multisense_internal_sound_tone_play(Edje *ed, const char *tone_name, const
|
|||
#ifdef ENABLE_MULTISENSE
|
||||
unsigned int i;
|
||||
Edje_Sound_Tone *tone;
|
||||
Eina_Bool ret;
|
||||
|
||||
Eo *in;
|
||||
if (!tone_name)
|
||||
{
|
||||
ERR("Given Tone Name is NULL\n");
|
||||
ERR("Given Tone Name is NULL");
|
||||
return EINA_FALSE;
|
||||
}
|
||||
if ((!ed) || (!ed->file) || (!ed->file->sound_dir))
|
||||
|
@ -162,7 +169,12 @@ _edje_multisense_internal_sound_tone_play(Edje *ed, const char *tone_name, const
|
|||
if (!out)
|
||||
out = eo_add(ECORE_AUDIO_OBJ_OUT_PULSE_CLASS, NULL);
|
||||
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, NULL));
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, &ret));
|
||||
if (!ret) {
|
||||
ERR("Could not attach input");
|
||||
eo_del(in);
|
||||
return EINA_FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
return EINA_TRUE;
|
||||
|
|
|
@ -315,6 +315,7 @@ START_TEST(ecore_test_ecore_audio_obj_tone)
|
|||
Eo *in, *out;
|
||||
double len;
|
||||
int channel, rate, freq;
|
||||
Eina_Bool ret;
|
||||
|
||||
in = eo_add(ECORE_AUDIO_OBJ_IN_TONE_CLASS, NULL);
|
||||
fail_if(!in);
|
||||
|
@ -366,10 +367,13 @@ START_TEST(ecore_test_ecore_audio_obj_tone)
|
|||
fail_if(!out);
|
||||
|
||||
eo_do(out, ecore_audio_obj_name_set("tmp.wav"));
|
||||
eo_do(out, ecore_audio_obj_format_set(ECORE_AUDIO_FORMAT_WAV));
|
||||
eo_do(out, ecore_audio_obj_source_set(TESTS_BUILD_DIR"/tmp.wav"));
|
||||
eo_do(out, ecore_audio_obj_format_set(ECORE_AUDIO_FORMAT_WAV, &ret));
|
||||
fail_if(!ret);
|
||||
eo_do(out, ecore_audio_obj_source_set(TESTS_BUILD_DIR"/tmp.wav", &ret));
|
||||
fail_if(!ret);
|
||||
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, NULL));
|
||||
eo_do(out, ecore_audio_obj_out_input_attach(in, &ret));
|
||||
fail_if(!ret);
|
||||
|
||||
eo_do(in, eo_event_callback_add(ECORE_AUDIO_EV_IN_STOPPED, _finished_cb, NULL));
|
||||
|
||||
|
@ -388,12 +392,14 @@ START_TEST(ecore_test_ecore_audio_obj_sndfile)
|
|||
Eo *in;
|
||||
double len, rem;
|
||||
int channel, rate;
|
||||
Eina_Bool ret;
|
||||
|
||||
in = eo_add(ECORE_AUDIO_OBJ_IN_SNDFILE_CLASS, NULL);
|
||||
fail_if(!in);
|
||||
|
||||
eo_do(in, ecore_audio_obj_name_set("sms.ogg"));
|
||||
eo_do(in, ecore_audio_obj_source_set(TESTS_SRC_DIR"/sms.ogg"));
|
||||
eo_do(in, ecore_audio_obj_source_set(TESTS_SRC_DIR"/sms.ogg", &ret));
|
||||
fail_if(!ret);
|
||||
|
||||
eo_do(in, ecore_audio_obj_in_channels_get(&channel));
|
||||
fail_if(channel != 2);
|
||||
|
@ -445,7 +451,8 @@ START_TEST(ecore_test_ecore_audio_obj_in_out)
|
|||
fail_if(eina_list_count(in3) != 1);
|
||||
fail_if(eina_list_data_get(in3) != in);
|
||||
|
||||
fail_if(!eo_do(out, ecore_audio_obj_out_input_attach(in2, NULL)));
|
||||
fail_if(!eo_do(out, ecore_audio_obj_out_input_attach(in2, &attached)));
|
||||
fail_if(!attached);
|
||||
|
||||
fail_if(!eo_do(out, ecore_audio_obj_out_inputs_get(&in3)));
|
||||
|
||||
|
@ -639,9 +646,15 @@ ecore_test_ecore_audio(TCase *tc)
|
|||
tcase_add_test(tc, ecore_test_ecore_audio_obj);
|
||||
tcase_add_test(tc, ecore_test_ecore_audio_obj_in);
|
||||
tcase_add_test(tc, ecore_test_ecore_audio_obj_in_out);
|
||||
tcase_add_test(tc, ecore_test_ecore_audio_obj_sndfile);
|
||||
tcase_add_test(tc, ecore_test_ecore_audio_obj_tone);
|
||||
|
||||
#ifdef HAVE_SNDFILE
|
||||
tcase_add_test(tc, ecore_test_ecore_audio_obj_sndfile);
|
||||
#endif
|
||||
#ifdef HAVE_PUSE
|
||||
tcase_add_test(tc, ecore_test_ecore_audio_obj_pulse);
|
||||
#endif
|
||||
|
||||
/*
|
||||
tcase_add_test(tc, ecore_test_ecore_audio_default);
|
||||
tcase_add_test(tc, ecore_test_ecore_audio_sndfile_vio);
|
||||
|
|
Loading…
Reference in New Issue