mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-30 09:49:26 +00:00
Change API of linphone_core_find_payload_type() to take the number of channels into account.
This commit is contained in:
parent
b064c7a065
commit
6996864bf5
3 changed files with 11 additions and 8 deletions
|
|
@ -4806,11 +4806,13 @@ const char *linphone_core_get_remote_ringback_tone(const LinphoneCore *lc){
|
|||
return lc->sound_conf.ringback_tone;
|
||||
}
|
||||
|
||||
static PayloadType* find_payload_type_from_list(const char* type, int rate,const MSList* from) {
|
||||
static PayloadType* find_payload_type_from_list(const char* type, int rate, int channels, const MSList* from) {
|
||||
const MSList *elem;
|
||||
for(elem=from;elem!=NULL;elem=elem->next){
|
||||
PayloadType *pt=(PayloadType*)elem->data;
|
||||
if ((strcasecmp((char*)type, payload_type_get_mime(pt)) == 0) && (rate == -1 || rate==pt->clock_rate)) {
|
||||
if ((strcasecmp((char*)type, payload_type_get_mime(pt)) == 0)
|
||||
&& (rate == -1 || rate==pt->clock_rate)
|
||||
&& (channels == 0 || channels==pt->channels)) {
|
||||
return pt;
|
||||
}
|
||||
}
|
||||
|
|
@ -4823,12 +4825,12 @@ static PayloadType* find_payload_type_from_list(const char* type, int rate,const
|
|||
* This function searches in audio and video codecs for the given payload type name and clockrate.
|
||||
* Returns NULL if not found.
|
||||
*/
|
||||
PayloadType* linphone_core_find_payload_type(LinphoneCore* lc, const char* type, int rate) {
|
||||
PayloadType* result = find_payload_type_from_list(type, rate, linphone_core_get_audio_codecs(lc));
|
||||
PayloadType* linphone_core_find_payload_type(LinphoneCore* lc, const char* type, int rate, int channels) {
|
||||
PayloadType* result = find_payload_type_from_list(type, rate, channels, linphone_core_get_audio_codecs(lc));
|
||||
if (result) {
|
||||
return result;
|
||||
} else {
|
||||
result = find_payload_type_from_list(type, rate, linphone_core_get_video_codecs(lc));
|
||||
result = find_payload_type_from_list(type, rate, 0, linphone_core_get_video_codecs(lc));
|
||||
if (result) {
|
||||
return result;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -869,7 +869,7 @@ bool_t linphone_core_payload_type_enabled(LinphoneCore *lc, const PayloadType *p
|
|||
|
||||
int linphone_core_enable_payload_type(LinphoneCore *lc, PayloadType *pt, bool_t enable);
|
||||
|
||||
PayloadType* linphone_core_find_payload_type(LinphoneCore* lc, const char* type, int rate) ;
|
||||
PayloadType* linphone_core_find_payload_type(LinphoneCore* lc, const char* type, int rate, int channels) ;
|
||||
|
||||
int linphone_core_get_payload_type_number(LinphoneCore *lc, const PayloadType *pt);
|
||||
|
||||
|
|
|
|||
|
|
@ -684,9 +684,10 @@ extern "C" jlong Java_org_linphone_core_LinphoneCoreImpl_findPayloadType(JNIEnv*
|
|||
,jobject thiz
|
||||
,jlong lc
|
||||
,jstring jmime
|
||||
,jint rate) {
|
||||
,jint rate
|
||||
,jint channels) {
|
||||
const char* mime = env->GetStringUTFChars(jmime, NULL);
|
||||
jlong result = (jlong)linphone_core_find_payload_type((LinphoneCore*)lc,mime,rate);
|
||||
jlong result = (jlong)linphone_core_find_payload_type((LinphoneCore*)lc,mime,rate,channels);
|
||||
env->ReleaseStringUTFChars(jmime, mime);
|
||||
return result;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue