diff --git a/coreapi/private_functions.h b/coreapi/private_functions.h index d2feab36e9c1338eeb727f56b8c2598d56664e4d..01ff200a329857205fb37d8d392bb606e4bc5f0c 100644 --- a/coreapi/private_functions.h +++ b/coreapi/private_functions.h @@ -143,10 +143,6 @@ void linphone_call_params_set_sent_video_definition(LinphoneCallParams *params, void linphone_call_params_set_received_video_definition(LinphoneCallParams *params, LinphoneVideoDefinition *vdef); void linphone_call_params_set_sent_fps(LinphoneCallParams *params, float value); void linphone_call_params_set_received_fps(LinphoneCallParams *params, float value); -void linphone_call_params_set_used_audio_codec(LinphoneCallParams *params, OrtpPayloadType *codec); -void linphone_call_params_set_used_video_codec(LinphoneCallParams *params, OrtpPayloadType *codec); -void linphone_call_params_set_used_fec_codec(LinphoneCallParams *params, OrtpPayloadType *codec); -void linphone_call_params_set_used_text_codec(LinphoneCallParams *params, OrtpPayloadType *codec); bool_t linphone_call_params_get_no_user_consent(const LinphoneCallParams *params); time_t linphone_call_params_get_start_time(const LinphoneCallParams *params); time_t linphone_call_params_get_end_time(const LinphoneCallParams *params); diff --git a/src/c-wrapper/api/c-call-params.cpp b/src/c-wrapper/api/c-call-params.cpp index 2fa745243d6175b129b5f3412245292b1b1eb5cd..e62e5a4bd3f8e65fdf86b57f7c088553c183c2e5 100644 --- a/src/c-wrapper/api/c-call-params.cpp +++ b/src/c-wrapper/api/c-call-params.cpp @@ -356,22 +356,6 @@ const LinphonePayloadType *linphone_call_params_get_used_text_payload_type(const return bellesip::toC(L_GET_CPP_PTR_FROM_C_OBJECT(params)->getUsedRealtimeTextPayloadType()); } -void linphone_call_params_set_used_audio_codec(LinphoneCallParams *params, OrtpPayloadType *codec) { - L_GET_PRIVATE_FROM_C_OBJECT(params)->setUsedAudioCodec(codec); -} - -void linphone_call_params_set_used_video_codec(LinphoneCallParams *params, OrtpPayloadType *codec) { - L_GET_PRIVATE_FROM_C_OBJECT(params)->setUsedVideoCodec(codec); -} - -void linphone_call_params_set_used_fec_codec(LinphoneCallParams *params, OrtpPayloadType *codec) { - L_GET_PRIVATE_FROM_C_OBJECT(params)->setUsedFecCodec(codec); -} - -void linphone_call_params_set_used_text_codec(LinphoneCallParams *params, OrtpPayloadType *codec) { - L_GET_PRIVATE_FROM_C_OBJECT(params)->setUsedRealtimeTextCodec(codec); -} - bool_t linphone_call_params_low_bandwidth_enabled(const LinphoneCallParams *params) { return L_GET_CPP_PTR_FROM_C_OBJECT(params)->lowBandwidthEnabled(); } diff --git a/src/conference/params/media-session-params-p.h b/src/conference/params/media-session-params-p.h index f413ce40a66e2683f45f145b57cdbc863f79f136..9d7cc7a33a224b1360f10e7d31410d89e1921059 100644 --- a/src/conference/params/media-session-params-p.h +++ b/src/conference/params/media-session-params-p.h @@ -97,17 +97,17 @@ public: sentFps = value; } void setSentVideoDefinition(LinphoneVideoDefinition *value); - void setUsedAudioCodec(OrtpPayloadType *pt) { - usedAudioCodec = pt ? PayloadType::create(nullptr, pt) : nullptr; + void setUsedAudioCodec(std::shared_ptr<PayloadType> pt) { + usedAudioCodec = pt; } - void setUsedVideoCodec(OrtpPayloadType *pt) { - usedVideoCodec = pt ? PayloadType::create(nullptr, pt) : nullptr; + void setUsedVideoCodec(std::shared_ptr<PayloadType> pt) { + usedVideoCodec = pt; } - void setUsedRealtimeTextCodec(OrtpPayloadType *pt) { - usedRealtimeTextCodec = pt ? PayloadType::create(nullptr, pt) : nullptr; + void setUsedRealtimeTextCodec(std::shared_ptr<PayloadType> pt) { + usedRealtimeTextCodec = pt; } - void setUsedFecCodec(OrtpPayloadType *pt) { - usedFecCodec = pt ? PayloadType::create(nullptr, pt) : nullptr; + void setUsedFecCodec(std::shared_ptr<PayloadType> pt) { + usedFecCodec = pt; } SalCustomSdpAttribute *getCustomSdpAttributes() const; void setCustomSdpAttributes(const SalCustomSdpAttribute *csa); diff --git a/src/conference/session/audio-stream.cpp b/src/conference/session/audio-stream.cpp index ad5003f6d1789946d592f90a16dbdf7cc3ecd7d6..cfa738405426279862749cc973272ea65764eabf 100644 --- a/src/conference/session/audio-stream.cpp +++ b/src/conference/session/audio-stream.cpp @@ -413,8 +413,9 @@ void MS2AudioStream::render(const OfferAnswerContext ¶ms, CallSession::State bool ok = true; if (isMain()) { + OrtpPayloadType *pt = rtp_profile_get_payload(audioProfile, usedPt); getMediaSessionPrivate().getCurrentParams()->getPrivate()->setUsedAudioCodec( - rtp_profile_get_payload(audioProfile, usedPt)); + pt ? PayloadType::create(getCore().getSharedFromThis(), pt) : nullptr); } if (stream.getDirection() == SalStreamSendOnly) media_stream_set_direction(&mStream->ms, MediaStreamSendOnly); diff --git a/src/conference/session/rtt-stream.cpp b/src/conference/session/rtt-stream.cpp index e2733974e6c7bb0b35424685640312731f6862b3..5c9274284e53a09d8e076d555a04f98729f16664 100644 --- a/src/conference/session/rtt-stream.cpp +++ b/src/conference/session/rtt-stream.cpp @@ -94,8 +94,9 @@ void MS2RTTStream::render(const OfferAnswerContext ¶ms, CallSession::State t stop(); return; } + OrtpPayloadType *pt = rtp_profile_get_payload(textProfile, usedPt); getMediaSessionPrivate().getCurrentParams()->getPrivate()->setUsedRealtimeTextCodec( - rtp_profile_get_payload(textProfile, usedPt)); + pt ? PayloadType::create(getCore().getSharedFromThis(), pt) : nullptr); getMediaSessionPrivate().getCurrentParams()->enableRealtimeText(true); unsigned int interval = getMediaSessionPrivate().getParams()->realtimeTextKeepaliveInterval(); diff --git a/src/conference/session/video-stream.cpp b/src/conference/session/video-stream.cpp index 92b6635e514aaa467ab2875ca0674d5bf5bb71e4..27e9d78adeb68292872a51160b47e1a0ae2474ad 100644 --- a/src/conference/session/video-stream.cpp +++ b/src/conference/session/video-stream.cpp @@ -378,8 +378,9 @@ void MS2VideoStream::render(const OfferAnswerContext &ctx, CallSession::State ta video_stream_set_display_callback(mStream, sVideoStreamDisplayCb, this); video_stream_set_camera_not_working_callback(mStream, sCameraNotWorkingCb, this); if (isMain()) { + OrtpPayloadType *pt = rtp_profile_get_payload(videoProfile, usedPt); getMediaSessionPrivate().getCurrentParams()->getPrivate()->setUsedVideoCodec( - rtp_profile_get_payload(videoProfile, usedPt)); + pt ? PayloadType::create(getCore().getSharedFromThis(), pt) : nullptr); } if (getCCore()->video_conf.preview_vsize.width != 0)