1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

RTC: Refine cid for session

This commit is contained in:
winlin 2020-07-21 12:03:18 +08:00
parent c9c34b54a7
commit d2984ea49c
3 changed files with 13 additions and 13 deletions

View file

@ -302,6 +302,8 @@ srs_error_t SrsRtcServer::create_session(
) {
srs_error_t err = srs_success;
SrsContextId cid = _srs_context->get_id();
SrsRtcStream* source = NULL;
if ((err = _srs_rtc_sources->fetch_or_create(req, &source)) != srs_success) {
return srs_error_wrap(err, "create source");
@ -313,7 +315,7 @@ srs_error_t SrsRtcServer::create_session(
}
// TODO: FIXME: add do_create_session to error process.
SrsRtcConnection* session = new SrsRtcConnection(this);
SrsRtcConnection* session = new SrsRtcConnection(this, cid);
if ((err = do_create_session(session, req, remote_sdp, local_sdp, mock_eip, publish, source)) != srs_success) {
srs_freep(session);
return srs_error_wrap(err, "create session");
@ -331,8 +333,6 @@ srs_error_t SrsRtcServer::do_create_session(
{
srs_error_t err = srs_success;
SrsContextId cid = _srs_context->get_id();
// first add publisher/player for negotiate sdp media info
if (publish) {
if ((err = session->add_publisher(req, remote_sdp, local_sdp)) != srs_success) {
@ -393,7 +393,7 @@ srs_error_t SrsRtcServer::do_create_session(
session->set_state(WAITING_STUN);
// Before session initialize, we must setup the local SDP.
if ((err = session->initialize(source, req, publish, username, cid)) != srs_success) {
if ((err = session->initialize(source, req, publish, username)) != srs_success) {
return srs_error_wrap(err, "init");
}
@ -405,11 +405,13 @@ srs_error_t SrsRtcServer::create_session2(SrsRequest* req, SrsSdp& local_sdp, co
{
srs_error_t err = srs_success;
SrsContextId cid = _srs_context->get_id();
std::string local_pwd = srs_random_str(32);
// TODO: FIXME: Collision detect.
std::string local_ufrag = srs_random_str(8);
SrsRtcConnection* session = new SrsRtcConnection(this);
SrsRtcConnection* session = new SrsRtcConnection(this, cid);
// first add player for negotiate local sdp media info
if ((err = session->add_player2(req, local_sdp)) != srs_success) {
srs_freep(session);
@ -445,8 +447,6 @@ srs_error_t SrsRtcServer::setup_session2(SrsRtcConnection* session, SrsRequest*
{
srs_error_t err = srs_success;
SrsContextId cid = _srs_context->get_id();
if (session->state() != WAITING_ANSWER) {
return err;
}
@ -459,7 +459,7 @@ srs_error_t SrsRtcServer::setup_session2(SrsRtcConnection* session, SrsRequest*
// TODO: FIXME: Collision detect.
string username = session->get_local_sdp()->get_ice_ufrag() + ":" + remote_sdp.get_ice_ufrag();
if ((err = session->initialize(source, req, false, username, cid)) != srs_success) {
if ((err = session->initialize(source, req, false, username)) != srs_success) {
return srs_error_wrap(err, "init");
}