/* ============ Media Producer Interface ================= */ int tdav_producer_audiounit_set(tmedia_producer_t* self, const tmedia_param_t* param) { if(param->plugin_type == tmedia_ppt_producer){ if(param->value_type == tmedia_pvt_int32){ if(tsk_striequals(param->key, "mute")){ int32_t mute = TSK_TO_INT32((uint8_t*)param->value); return tdav_audiounit_handle_mute(((tdav_producer_audiounit_t*)self)->audioUnitHandle, mute ? tsk_true : tsk_false); } } } return tdav_producer_audio_set(TDAV_PRODUCER_AUDIO(self), param); }
//#define tdav_producer_audioqueue_set tsk_null int tdav_producer_audioqueue_set(tmedia_producer_t* self, const tmedia_param_t* param) { tdav_producer_audioqueue_t* producer = (tdav_producer_audioqueue_t*)self; if(param->plugin_type == tmedia_ppt_producer){ if(param->value_type == tmedia_pvt_int32){ if(tsk_striequals(param->key, "mute")){ producer->muted = TSK_TO_INT32((uint8_t*)param->value); return 1; } } } return tdav_producer_audio_set(TDAV_PRODUCER_AUDIO(self), param); }
/* ============ Media Producer Interface ================= */ int tdav_producer_audiounit_set(tmedia_producer_t* self, const tmedia_param_t* param) { tdav_producer_audiounit_t* producer = (tdav_producer_audiounit_t*)self; if(param->plugin_type == tmedia_ppt_producer){ if(param->value_type == tmedia_pvt_int32){ if (tsk_striequals(param->key, "mute")) { producer->muted = TSK_TO_INT32((uint8_t*)param->value); return tdav_audiounit_handle_mute(((tdav_producer_audiounit_t*)self)->audioUnitHandle, producer->muted); } else if (tsk_striequals(param->key, "interrupt")) { int32_t interrupt = *((uint8_t*)param->value) ? 1 : 0; return tdav_audiounit_handle_interrupt(producer->audioUnitHandle, interrupt); } } } return tdav_producer_audio_set(TDAV_PRODUCER_AUDIO(self), param); }