ecore-audio: remove src files that are never compiled

This commit is contained in:
Carsten Haitzler 2014-01-26 21:35:17 +09:00
parent b6f4af28b2
commit 0df9bd2cdb
2 changed files with 0 additions and 647 deletions

View File

@ -1,489 +0,0 @@
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#ifdef HAVE_SNDFILE
#include "Ecore.h"
#include "ecore_private.h"
#include "Ecore_Audio.h"
#include "ecore_audio_private.h"
#include <sndfile.h>
static Ecore_Audio_Module *module = NULL;
/* Virtual IO wrapper functions */
static sf_count_t _sndfile_wrap_get_filelen(void *data)
{
Ecore_Audio_Object *obj = data;
struct _Ecore_Audio_Sndfile *sndfile = obj->module_data;
if (!sndfile->vio)
goto error;
if (sndfile->vio->get_length)
return sndfile->vio->get_length(obj);
error:
return -1;
}
static sf_count_t _sndfile_wrap_seek(sf_count_t offset, int whence, void *data)
{
Ecore_Audio_Object *obj = data;
struct _Ecore_Audio_Sndfile *sndfile = obj->module_data;
if (!sndfile->vio)
goto error;
if (sndfile->vio->seek)
return sndfile->vio->seek(obj, offset, whence);
error:
return -1;
}
static sf_count_t _sndfile_wrap_read(void *buffer, sf_count_t count, void *data)
{
Ecore_Audio_Object *obj = data;
struct _Ecore_Audio_Sndfile *sndfile = obj->module_data;
if (!sndfile->vio)
goto error;
if (sndfile->vio->read)
return sndfile->vio->read(obj, buffer, count);
error:
return 0;
}
static sf_count_t _sndfile_wrap_write(const void *buffer, sf_count_t count, void *data)
{
Ecore_Audio_Object *obj = data;
struct _Ecore_Audio_Sndfile *sndfile = obj->module_data;
if (!sndfile->vio)
goto error;
if (sndfile->vio->write)
return sndfile->vio->write(obj, buffer, count);
error:
return 0;
}
static sf_count_t _sndfile_wrap_tell(void *data)
{
Ecore_Audio_Object *obj = data;
struct _Ecore_Audio_Sndfile *sndfile = obj->module_data;
if (!sndfile->vio)
goto error;
if (sndfile->vio->tell)
return sndfile->vio->tell(obj);
error:
return -1;
}
/* End virtual IO wrapper functions */
static Ecore_Audio_Object *
_sndfile_input_new(Ecore_Audio_Object *input)
{
Ecore_Audio_Input *in = (Ecore_Audio_Input *)input;
struct _Ecore_Audio_Sndfile *sndfile;
sndfile = calloc(1, sizeof(struct _Ecore_Audio_Sndfile));
if (!sndfile)
{
ERR("Could not allocate memory for private structure.");
free(in);
return NULL;
}
in->module_data = sndfile;
sndfile->sfinfo.format = 0;
sndfile->volume = 1.0;
return (Ecore_Audio_Object *)in;
}
static void
_sndfile_input_del(Ecore_Audio_Object *input)
{
Ecore_Audio_Input *in = (Ecore_Audio_Input *)input;
struct _Ecore_Audio_Sndfile *sndfile = in->module_data;
eina_stringshare_del(sndfile->filename);
sf_close(sndfile->handle);
free(sndfile);
}
static int
_sndfile_input_read(Ecore_Audio_Object *input, void *data, int len)
{
Ecore_Audio_Input *in = (Ecore_Audio_Input *)input;
struct _Ecore_Audio_Sndfile *sndfile = in->module_data;
int read;
/* FIXME: Nicer way to return bytes read instead of items */
read = sf_read_float(sndfile->handle, data, len / 4) * 4;
return read;
}
static double
_sndfile_input_seek(Ecore_Audio_Object *input, double offs, int mode)
{
Ecore_Audio_Input *in = (Ecore_Audio_Input *)input;
struct _Ecore_Audio_Sndfile *sndfile = in->module_data;
sf_count_t count, pos;
count = offs * sndfile->sfinfo.samplerate;
pos = sf_seek(sndfile->handle, count, mode);
return (double)pos / sndfile->sfinfo.samplerate;
}
static struct input_api inops = {
.input_new = _sndfile_input_new,
.input_del = _sndfile_input_del,
.input_read = _sndfile_input_read,
.input_seek = _sndfile_input_seek,
};
EAPI void ecore_audio_input_sndfile_format_set(Ecore_Audio_Object *input, int format)
{
Ecore_Audio_Output *in = (Ecore_Audio_Output *)input;
struct _Ecore_Audio_Sndfile *sndfile = in->module_data;
sndfile->sfinfo.format = format;
}
void ecore_audio_input_sndfile_filename_set(Ecore_Audio_Object *input, const char *filename)
{
Ecore_Audio_Input *in = (Ecore_Audio_Input *)input;
struct _Ecore_Audio_Sndfile *sndfile = in->module_data;
if (sndfile->handle)
sf_close(sndfile->handle);
if (sndfile->filename)
eina_stringshare_del(sndfile->filename);
if (sndfile->vio)
{
free(sndfile->vio);
sndfile->vio = NULL;
}
sndfile->filename = eina_stringshare_add(filename);
sndfile->handle = sf_open(sndfile->filename, SFM_READ, &sndfile->sfinfo);
in->length = (double)sndfile->sfinfo.frames / sndfile->sfinfo.samplerate;
// XXX: Propagate samplerate/channel update to output
in->samplerate = sndfile->sfinfo.samplerate;
in->channels = sndfile->sfinfo.channels;
}
void ecore_audio_input_sndfile_vio_set(Ecore_Audio_Object *input, Ecore_Audio_Vio *vio)
{
Ecore_Audio_Input *in = (Ecore_Audio_Input *)input;
struct _Ecore_Audio_Sndfile *sndfile = in->module_data;
struct _Ecore_Audio_Sndfile_Private *priv = in->module->priv;
if (sndfile->handle)
sf_close(sndfile->handle);
if (sndfile->filename)
{
eina_stringshare_del(sndfile->filename);
sndfile->filename = NULL;
}
if (sndfile->vio)
free(sndfile->vio);
sndfile->vio = calloc(1, sizeof(Ecore_Audio_Vio));
sndfile->vio->get_length = vio->get_length;
sndfile->vio->seek = vio->seek;
sndfile->vio->read = vio->read;
sndfile->vio->tell = vio->tell;
if (sndfile->sfinfo.format != 0) {
sndfile->sfinfo.samplerate = in->samplerate;
sndfile->sfinfo.channels = in->channels;
}
sndfile->handle = sf_open_virtual(&priv->vio_wrapper, SFM_READ, &sndfile->sfinfo, in);
in->length = (double)sndfile->sfinfo.frames / sndfile->sfinfo.samplerate;
// XXX: Propagate samplerate/channel update to output
in->samplerate = sndfile->sfinfo.samplerate;
in->channels = sndfile->sfinfo.channels;
}
static Ecore_Audio_Object *
_sndfile_output_new(Ecore_Audio_Object *output)
{
Ecore_Audio_Output *out = (Ecore_Audio_Output *)output;
struct _Ecore_Audio_Sndfile *sndfile;
sndfile = calloc(1, sizeof(struct _Ecore_Audio_Sndfile));
if (!sndfile)
{
ERR("Could not allocate memory for private structure.");
free(out);
return NULL;
}
out->module_data = sndfile;
sndfile->sfinfo.format = SF_FORMAT_OGG | SF_FORMAT_VORBIS;
return (Ecore_Audio_Object *)out;
}
static void
_sndfile_output_del(Ecore_Audio_Object *output)
{
Ecore_Audio_Output *out = (Ecore_Audio_Output *)output;
struct _Ecore_Audio_Sndfile *sndfile = out->module_data;
eina_stringshare_del(sndfile->filename);
free(sndfile->vio);
sf_close(sndfile->handle);
free(sndfile);
}
static void
_sndfile_output_volume_set(Ecore_Audio_Object *output, double volume)
{
Ecore_Audio_Output *out = (Ecore_Audio_Output *)output;
struct _Ecore_Audio_Sndfile *sndfile = out->module_data;
if ((volume < 0) || (volume > 1.0))
return;
sndfile->volume = volume;
}
static double
_sndfile_output_volume_get(Ecore_Audio_Object *output)
{
Ecore_Audio_Output *out = (Ecore_Audio_Output *)output;
struct _Ecore_Audio_Sndfile *sndfile = out->module_data;
return sndfile->volume;
}
static Eina_Bool
_sndfile_output_write_cb(void *data)
{
Ecore_Audio_Output *out = (Ecore_Audio_Output *)data;
struct _Ecore_Audio_Sndfile *sndfile = out->module_data;
Ecore_Audio_Input *in;
int written, bread;
void *buf;
buf = malloc(1024);
in = eina_list_data_get(out->inputs);
bread = ecore_audio_input_read((Ecore_Audio_Object *)in, buf, 1024);
DBG("read: %i", bread);
if (bread == 0)
{
DBG("read done");
out->paused = EINA_TRUE;
return EINA_FALSE;
}
// XXX: Check for errors
written = sf_write_float(sndfile->handle, buf, bread/4)*4;
DBG("written: %i", written);
return EINA_TRUE;
}
static void
_sndfile_output_paused_set(Ecore_Audio_Object *output, Eina_Bool paused)
{
struct _Ecore_Audio_Sndfile *sndfile = output->module_data;
Ecore_Audio_Output *out = (Ecore_Audio_Output *)output;
if (paused && sndfile->timer)
ecore_timer_del(sndfile->timer);
else if (out->inputs)
sndfile->timer = ecore_timer_add(0.01, _sndfile_output_write_cb, output);
}
static Eina_Bool
_sndfile_output_add_input(Ecore_Audio_Object *output, Ecore_Audio_Object *input)
{
struct _Ecore_Audio_Sndfile *sndfile = output->module_data;
struct _Ecore_Audio_Sndfile_Private *priv = output->module->priv;
Ecore_Audio_Output *out = (Ecore_Audio_Output *)output;
Ecore_Audio_Input *in = (Ecore_Audio_Input *)input;
sndfile->sfinfo.samplerate = in->samplerate;
sndfile->sfinfo.channels = in->channels;
if (sndfile->vio)
sndfile->handle = sf_open_virtual(&priv->vio_wrapper, SFM_WRITE, &sndfile->sfinfo, out);
else if (sndfile->filename)
sndfile->handle = sf_open(sndfile->filename, SFM_WRITE, &sndfile->sfinfo);
if (output->paused)
return EINA_TRUE;
if (!out->inputs)
sndfile->timer = ecore_timer_add(0.01, _sndfile_output_write_cb, output);
return EINA_TRUE;
}
static Eina_Bool
_sndfile_output_del_input(Ecore_Audio_Object *out EINA_UNUSED, Ecore_Audio_Object *in EINA_UNUSED)
{
//XXX: Check if it's the last one and pause the timer
return EINA_TRUE;
}
static void
_sndfile_output_update_input_format(Ecore_Audio_Object *out EINA_UNUSED, Ecore_Audio_Object *in EINA_UNUSED)
{
}
static struct output_api outops = {
.output_new = _sndfile_output_new,
.output_del = _sndfile_output_del,
.output_volume_set = _sndfile_output_volume_set,
.output_volume_get = _sndfile_output_volume_get,
.output_paused_set = _sndfile_output_paused_set,
.output_add_input = _sndfile_output_add_input,
.output_del_input = _sndfile_output_del_input,
.output_update_input_format = _sndfile_output_update_input_format,
};
EAPI void ecore_audio_output_sndfile_filename_set(Ecore_Audio_Object *output, const char *filename)
{
Ecore_Audio_Output *out = (Ecore_Audio_Output *)output;
struct _Ecore_Audio_Sndfile *sndfile = out->module_data;
if (sndfile->handle)
sf_close(sndfile->handle);
if (sndfile->filename)
eina_stringshare_del(sndfile->filename);
if (sndfile->vio)
{
free(sndfile->vio);
sndfile->vio = NULL;
}
sndfile->filename = eina_stringshare_add(filename);
}
EAPI void ecore_audio_output_sndfile_format_set(Ecore_Audio_Object *output, int format)
{
Ecore_Audio_Output *out = (Ecore_Audio_Output *)output;
struct _Ecore_Audio_Sndfile *sndfile = out->module_data;
sndfile->sfinfo.format = format;
}
EAPI void ecore_audio_output_sndfile_vio_set(Ecore_Audio_Object *output, Ecore_Audio_Vio *vio)
{
struct _Ecore_Audio_Sndfile *sndfile = output->module_data;
if (sndfile->handle)
sf_close(sndfile->handle);
if (sndfile->filename)
{
eina_stringshare_del(sndfile->filename);
sndfile->filename = NULL;
}
if (sndfile->vio)
free(sndfile->vio);
sndfile->vio = calloc(1, sizeof(Ecore_Audio_Vio));
sndfile->vio->get_length = vio->get_length;
sndfile->vio->seek = vio->seek;
sndfile->vio->write = vio->write;
sndfile->vio->tell = vio->tell;
}
/**
* @brief Initialize the Ecore_Audio sndfile module
*
* @return the initialized module on success, NULL on error
*/
Ecore_Audio_Module *
ecore_audio_sndfile_init(void)
{
struct _Ecore_Audio_Sndfile_Private *priv;
module = calloc(1, sizeof(Ecore_Audio_Module));
if (!module)
{
ERR("Could not allocate memory for module.");
return NULL;
}
priv = calloc(1, sizeof(struct _Ecore_Audio_Sndfile_Private));
if (!priv)
{
ERR("Could not allocate memory for private module region.");
free(module);
return NULL;
}
priv->vio_wrapper.get_filelen = _sndfile_wrap_get_filelen;
priv->vio_wrapper.seek = _sndfile_wrap_seek;
priv->vio_wrapper.read = _sndfile_wrap_read;
priv->vio_wrapper.write = _sndfile_wrap_write;
priv->vio_wrapper.tell = _sndfile_wrap_tell;
ECORE_MAGIC_SET(module, ECORE_MAGIC_AUDIO_MODULE);
module->type = ECORE_AUDIO_TYPE_SNDFILE;
module->name = "sndfile";
module->priv = priv;
module->inputs = NULL;
module->outputs = NULL;
module->in_ops = &inops;
module->out_ops = &outops;
DBG("Initialized");
return module;
}
/**
* @brief Shut down the Ecore_Audio sndfile module
*/
void
ecore_audio_sndfile_shutdown(void)
{
struct _Ecore_Audio_Sndfile_Private *priv = (struct _Ecore_Audio_Sndfile_Private *)module->priv;
free(priv);
free(module);
module = NULL;
DBG("Shutting down");
}
#endif /* HAVE_SNDFILE */

View File

@ -1,158 +0,0 @@
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "Ecore.h"
#include "ecore_private.h"
#include "Ecore_Audio.h"
#include "ecore_audio_private.h"
#include <math.h>
static Ecore_Audio_Module *module = NULL;
static Ecore_Audio_Object *
_tone_input_new(Ecore_Audio_Object *input)
{
Ecore_Audio_Input *in = (Ecore_Audio_Input *)input;
struct _Ecore_Audio_Tone *tone;
tone = calloc(1, sizeof(struct _Ecore_Audio_Tone));
if (!tone)
{
ERR("Could not allocate memory for private structure.");
free(in);
return NULL;
}
in->samplerate = 44100;
in->channels = 1;
in->module_data = tone;
in->length = 1;
tone->freq = 1000;
tone->phase = 0;
return (Ecore_Audio_Object *)in;
}
static void
_tone_input_del(Ecore_Audio_Object *input)
{
Ecore_Audio_Input *in = (Ecore_Audio_Input *)input;
free(in->module_data);
}
static int
_tone_input_read(Ecore_Audio_Object *input, void *data, int len)
{
Ecore_Audio_Input *in = (Ecore_Audio_Input *)input;
struct _Ecore_Audio_Tone *tone = in->module_data;
float *val = data;
int i, remain;
remain = in->length * in->samplerate * 4 - tone->phase * 4;
if (remain > len)
remain = len;
for (i = 0; i < remain / 4; i++)
{
val[i] = sin(2 * M_PI * tone->freq * (tone->phase + i) / in->samplerate);
}
tone->phase += i;
return remain;
}
static double
_tone_input_seek(Ecore_Audio_Object *input, double offs, int mode)
{
Ecore_Audio_Input *in = (Ecore_Audio_Input *)input;
struct _Ecore_Audio_Tone *tone = in->module_data;
int tmp;
switch (mode) {
case SEEK_SET:
tmp = offs * in->samplerate;
break;
case SEEK_CUR:
tmp = tone->phase + offs * in->samplerate;
break;
case SEEK_END:
tmp = (in->length + offs) * in->samplerate;
break;
default:
return -1;
}
if ((tmp < 0) || (tmp > in->length * in->samplerate))
return -1;
tone->phase = tmp;
return (double)tone->phase / in->samplerate;
}
static struct input_api inops = {
.input_new = _tone_input_new,
.input_del = _tone_input_del,
.input_read = _tone_input_read,
.input_seek = _tone_input_seek,
};
EAPI void ecore_audio_input_tone_frequency_set(Ecore_Audio_Object *input, int freq)
{
Ecore_Audio_Input *in = (Ecore_Audio_Input *)input;
struct _Ecore_Audio_Tone *tone = in->module_data;
tone->freq = freq;
}
EAPI void ecore_audio_input_tone_duration_set(Ecore_Audio_Object *input, double duration)
{
Ecore_Audio_Input *in = (Ecore_Audio_Input *)input;
in->length = duration;
}
/**
* @brief Initialize the Ecore_Audio sndfile module
*
* @return the initialized module on success, NULL on error
*/
Ecore_Audio_Module *
ecore_audio_tone_init(void)
{
module = calloc(1, sizeof(Ecore_Audio_Module));
if (!module)
{
ERR("Could not allocate memory for module.");
return NULL;
}
ECORE_MAGIC_SET(module, ECORE_MAGIC_AUDIO_MODULE);
module->type = ECORE_AUDIO_TYPE_TONE;
module->name = "tone";
module->priv = NULL;
module->inputs = NULL;
module->outputs = NULL;
module->in_ops = &inops;
module->out_ops = NULL;
DBG("Initialized");
return module;
}
/**
* @brief Shut down the Ecore_Audio sndfile module
*/
void
ecore_audio_tone_shutdown(void)
{
free(module);
module = NULL;
DBG("Shutting down");
}