diff --git a/src/conference/session/call-session.cpp b/src/conference/session/call-session.cpp index bf8e903ec..0a3db26cc 100644 --- a/src/conference/session/call-session.cpp +++ b/src/conference/session/call-session.cpp @@ -934,7 +934,7 @@ LinphoneStatus CallSession::terminate (const LinphoneErrorInfo *ei) { return 0; } -LinphoneStatus CallSession::update (const CallSessionParams *csp, const string &subject) { +LinphoneStatus CallSession::update (const CallSessionParams *csp, const string &subject, const Content *content) { L_D(); LinphoneCallState nextState; LinphoneCallState initialState = d->state; @@ -942,6 +942,8 @@ LinphoneStatus CallSession::update (const CallSessionParams *csp, const string & return -1; if (d->currentParams == csp) lWarning() << "CallSession::update() is given the current params, this is probably not what you intend to do!"; + if (content) + d->op->set_local_body(*content); LinphoneStatus result = d->startUpdate(subject); if (result && (d->state != initialState)) { /* Restore initial state */ diff --git a/src/conference/session/call-session.h b/src/conference/session/call-session.h index d53f8d26e..dd8e27f2f 100644 --- a/src/conference/session/call-session.h +++ b/src/conference/session/call-session.h @@ -56,7 +56,7 @@ public: virtual void startIncomingNotification (); virtual int startInvite (const Address *destination, const std::string &subject = "", const Content *content = nullptr); LinphoneStatus terminate (const LinphoneErrorInfo *ei = nullptr); - LinphoneStatus update (const CallSessionParams *csp, const std::string &subject = ""); + LinphoneStatus update (const CallSessionParams *csp, const std::string &subject = "", const Content *content = nullptr); CallSessionParams *getCurrentParams () const; LinphoneCallDir getDirection () const;