diff options
Diffstat (limited to 'tinyDAV/src/audio/tdav_producer_audio.c')
-rwxr-xr-x | tinyDAV/src/audio/tdav_producer_audio.c | 124 |
1 files changed, 62 insertions, 62 deletions
diff --git a/tinyDAV/src/audio/tdav_producer_audio.c b/tinyDAV/src/audio/tdav_producer_audio.c index 8c73c9f..1c7e779 100755 --- a/tinyDAV/src/audio/tdav_producer_audio.c +++ b/tinyDAV/src/audio/tdav_producer_audio.c @@ -2,19 +2,19 @@ * Copyright (C) 2010-2011 Mamadou Diop. * * Contact: Mamadou Diop <diopmamadou(at)doubango.org> -* +* * This file is part of Open Source Doubango Framework. * * DOUBANGO is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. -* +* * DOUBANGO is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. -* +* * You should have received a copy of the GNU General Public License * along with DOUBANGO. * @@ -45,25 +45,25 @@ */ int tdav_producer_audio_init(tdav_producer_audio_t* self) { - int ret; - - if(!self){ - TSK_DEBUG_ERROR("Invalid parameter"); - return -1; - } - /* base */ - if((ret = tmedia_producer_init(TMEDIA_PRODUCER(self)))){ - return ret; - } - - /* self (should be update by prepare() by using the codec's info)*/ - TMEDIA_PRODUCER(self)->audio.bits_per_sample = TDAV_PRODUCER_BITS_PER_SAMPLE_DEFAULT; - TMEDIA_PRODUCER(self)->audio.channels = TDAV_PRODUCER_CHANNELS_DEFAULT; - TMEDIA_PRODUCER(self)->audio.rate = TDAV_PRODUCER_RATE_DEFAULT; - TMEDIA_PRODUCER(self)->audio.ptime = TDAV_PRODUCER_PTIME_DEFAULT; - TMEDIA_PRODUCER(self)->audio.gain = TSK_MIN(tmedia_defaults_get_audio_producer_gain(), TDAV_PRODUCER_AUDIO_GAIN_MAX); - - return 0; + int ret; + + if(!self) { + TSK_DEBUG_ERROR("Invalid parameter"); + return -1; + } + /* base */ + if((ret = tmedia_producer_init(TMEDIA_PRODUCER(self)))) { + return ret; + } + + /* self (should be update by prepare() by using the codec's info)*/ + TMEDIA_PRODUCER(self)->audio.bits_per_sample = TDAV_PRODUCER_BITS_PER_SAMPLE_DEFAULT; + TMEDIA_PRODUCER(self)->audio.channels = TDAV_PRODUCER_CHANNELS_DEFAULT; + TMEDIA_PRODUCER(self)->audio.rate = TDAV_PRODUCER_RATE_DEFAULT; + TMEDIA_PRODUCER(self)->audio.ptime = TDAV_PRODUCER_PTIME_DEFAULT; + TMEDIA_PRODUCER(self)->audio.gain = TSK_MIN(tmedia_defaults_get_audio_producer_gain(), TDAV_PRODUCER_AUDIO_GAIN_MAX); + + return 0; } /** @@ -77,57 +77,57 @@ int tdav_producer_audio_init(tdav_producer_audio_t* self) */ int tdav_producer_audio_cmp(const tsk_object_t* producer1, const tsk_object_t* producer2) { - int ret; - tsk_subsat_int32_ptr(producer1, producer2, &ret); - return ret; + int ret; + tsk_subsat_int32_ptr(producer1, producer2, &ret); + return ret; } int tdav_producer_audio_set(tdav_producer_audio_t* self, const tmedia_param_t* param) { - if(!self){ - TSK_DEBUG_ERROR("Invalid parameter"); - return -1; - } - - if(param->plugin_type == tmedia_ppt_producer){ - if(param->value_type == tmedia_pvt_int32){ - if(tsk_striequals(param->key, "gain")){ - int32_t gain = *((int32_t*)param->value); - if(gain<TDAV_PRODUCER_AUDIO_GAIN_MAX && gain>=0){ - TMEDIA_PRODUCER(self)->audio.gain = (uint8_t)gain; - TSK_DEBUG_INFO("audio producer gain=%u", gain); - } - else{ - TSK_DEBUG_ERROR("%u is invalid as gain value", gain); - return -2; - } - } - else if(tsk_striequals(param->key, "volume")){ - TMEDIA_PRODUCER(self)->audio.volume = TSK_TO_INT32((uint8_t*)param->value); - TMEDIA_PRODUCER(self)->audio.volume = TSK_CLAMP(0, TMEDIA_PRODUCER(self)->audio.volume, 100); - TSK_DEBUG_INFO("audio producer volume=%u", TMEDIA_PRODUCER(self)->audio.volume); - } - } - } - - return 0; + if(!self) { + TSK_DEBUG_ERROR("Invalid parameter"); + return -1; + } + + if(param->plugin_type == tmedia_ppt_producer) { + if(param->value_type == tmedia_pvt_int32) { + if(tsk_striequals(param->key, "gain")) { + int32_t gain = *((int32_t*)param->value); + if(gain<TDAV_PRODUCER_AUDIO_GAIN_MAX && gain>=0) { + TMEDIA_PRODUCER(self)->audio.gain = (uint8_t)gain; + TSK_DEBUG_INFO("audio producer gain=%u", gain); + } + else { + TSK_DEBUG_ERROR("%u is invalid as gain value", gain); + return -2; + } + } + else if(tsk_striequals(param->key, "volume")) { + TMEDIA_PRODUCER(self)->audio.volume = TSK_TO_INT32((uint8_t*)param->value); + TMEDIA_PRODUCER(self)->audio.volume = TSK_CLAMP(0, TMEDIA_PRODUCER(self)->audio.volume, 100); + TSK_DEBUG_INFO("audio producer volume=%u", TMEDIA_PRODUCER(self)->audio.volume); + } + } + } + + return 0; } /** Deinitialize a producer */ int tdav_producer_audio_deinit(tdav_producer_audio_t* self) { - int ret; + int ret; - if(!self){ - TSK_DEBUG_ERROR("Invalid parameter"); - return -1; - } + if(!self) { + TSK_DEBUG_ERROR("Invalid parameter"); + return -1; + } - /* base */ - if((ret = tmedia_producer_deinit(TMEDIA_PRODUCER(self)))){ - return ret; - } + /* base */ + if((ret = tmedia_producer_deinit(TMEDIA_PRODUCER(self)))) { + return ret; + } - return ret; + return ret; }
\ No newline at end of file |