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;
}
}
* 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;
}
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);
,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;
}