Как изменить приоритет кодека в pjsip android

Я пытаюсь изменить приоритет кодеков, используемых в pjsip android.
Я могу получить приоритет кодеков, но после изменения приоритета кодеков он не возвращается.

if ( ep != null)
        {
            try {
                CodecInfoVector codecInfoVector = ep.codecEnum();
                if (!codecInfoVector.isEmpty()){
                    System.out.println("Codecs Enabled!!");
                    System.out.println("Number of codecs enabled now: "+codecInfoVector.size());
                    for(int i=0;i<codecInfoVector.size();i++)
                    {
                        CodecInfo codecInfo = codecInfoVector.get(i);
                        String codecId = codecInfo.getCodecId();
                        short codecPriority = 128;//use higher number for making preferred codec first.
                        short disableCodecPriority = 0;//use 0 to disable codec in sdp
                        System.out.println("Codec info now is: "+ codecId);
                        switch(codecId)
                        {
                            case "PCMA/8000/1":
                                if (Dialer_Properties.enablePCMA)
                                    codecInfo.codecSetPriority("PCMA/8000",codecPriority);
                                else
                                    codecInfo.codecSetPriority("PCMA/8000",disableCodecPriority);
                                break;
                            case "PCMU/8000/1":
                                if (Dialer_Properties.enablePCMU)
                                    codecInfo.codecSetPriority("PCMU/8000",codecPriority);
                                else
                                    codecInfo.codecSetPriority("PCMU/8000",disableCodecPriority);
                                break;
                            case "G729/8000/1":
                                if (Dialer_Properties.enableG729)
                                    codecInfo.codecSetPriority("G729/8000",codecPriority);
                                else
                                    codecInfo.codecSetPriority("G729/8000",disableCodecPriority);
                                break;
                        }

                        System.out.println("Codec Priority now is: "+codecInfo.getPriority());
                    }

                }

            } catch (Exception e) {
                e.printStackTrace();
            }
        }


Как исправить эту проблему ??

7
0
1 187
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

После изменения приоритета я не обновлял codecInfoVector обновленными значениями. В результате значения не были отражены.

PJSIP предоставляет метод в Java-классе конечной точки. После обновления конкретного кода я мог видеть обновленные кодеки приоритета в SDP.

ep.codecSetPriority("PCMA/8000",codecPriority);

где ep - объект экземпляра конечной точки.

Как обновить codecInfoVector после установки приоритета кодеков?

Himadri 20.06.2019 09:14

@Himadri я использовал экземпляр конечной точки для установки приоритета кодека, который помог обновить codecInfoVector до того, как я использовал только codecinfo, чтобы он не отражался

Jeeva 20.06.2019 10:48

Я тоже делаю то же самое. использовал экземпляр конечной точки для установки приоритета кодека и обнаружил, что приоритет кодека не применяется

Himadri 20.06.2019 11:56

@Himadri bro, тогда, пожалуйста, опубликуйте свой код и задайте его как отдельный вопрос

Jeeva 20.06.2019 11:57

Другие вопросы по теме