int dtap_change_effect(ao_wrapper_t *wrapper, int id) { audio_effect_t *ae = (audio_effect_t *)wrapper->ao_priv; __android_log_print(ANDROID_LOG_INFO, TAG, "change audio effect from: %d to %d \n", ae->ap.para.item, id); dt_lock(&ae->lock); ae->ap.para.item = id; dtap_update(&ae->ap); dtap_init(&ae->ap); dt_unlock(&ae->lock); return 0; }
int dtap_process(dtap_context_t *ctx, dtap_frame_t *frame) { if(!ctx->inited) dtap_init(ctx); dtap_lock(&mutex); ap_wrapper_t *wrapper = ctx->wrapper; wrapper->process(ctx, frame); dtap_unlock(&mutex); return 0; }
static int ao_opensl_init(dtaudio_output_t *aout, dtaudio_para_t *para) { if (Open(aout) == -1) return -1; Start(aout); #ifdef ENABLE_DTAP ao_wrapper_t *wrapper = aout->wrapper; audio_effect_t *ae = (audio_effect_t *)malloc(sizeof(audio_effect_t)); wrapper->ao_priv = ae; ae->ap.para.samplerate = para->samplerate; ae->ap.para.channels = para->channels; ae->ap.para.data_width = para->data_width; ae->ap.para.type = DTAP_EFFECT_EQ; ae->ap.para.item = EQ_EFFECT_NORMAL; dtap_init(&ae->ap); dt_lock_init(&ae->lock, NULL); #endif return 0; }