int MediaSession::EndpointAttachToEndpoint(int endpointId,int sourceId,MediaFrame::Type media) { //Get endpoint Endpoints::iterator it = endpoints.find(endpointId); //If not found if (it==endpoints.end()) //Exit return Error("Endpoint not found\n"); //Get it Endpoint* endpoint = it->second; //Log endpoint tag name Log("-EndpointAttachToEndpoint [%ls]\n",endpoint->GetName().c_str()); //Get source endpoint it = endpoints.find(sourceId); //If not found if (it==endpoints.end()) //Exit return Error("Endpoint not found\n"); //Get it Endpoint* source = it->second; //Attach return endpoint->Attach(media,source->GetJoinable(media)); }
int MediaSession::EndpointAttachToVideoMixerPort(int endpointId,int mixerId,int portId) { //Get endpoint Endpoints::iterator it = endpoints.find(endpointId); //If not found if (it==endpoints.end()) //Exit return Error("Endpoint not found\n"); //Get it Endpoint* endpoint = it->second; //Log endpoint tag name Log("-EndpointAttachToVideoMixerPort [%ls]\n",endpoint->GetName().c_str()); //Get Player VideoMixers::iterator itMixer = videoMixers.find(mixerId); //If not found if (itMixer==videoMixers.end()) //Exit return Error("VideoMixerResource not found\n"); //Get it VideoMixerResource* videoMixer = itMixer->second; //And attach return endpoint->Attach(MediaFrame::Video,videoMixer->GetJoinable(portId)); }
int MediaSession::EndpointAttachToVideoTranscoder(int endpointId,int videoTranscoderId) { //Get endpoint Endpoints::iterator it = endpoints.find(endpointId); //If not found if (it==endpoints.end()) //Exit return Error("Endpoint not found [%d]\n",endpointId); //Get it Endpoint* endpoint = it->second; //Get Video transcoder VideoTranscoders::iterator itTranscoder = videoTranscoders.find(videoTranscoderId); //If not found if (itTranscoder==videoTranscoders.end()) //Exit return Error("VideoTranscoder not found[%d]\n",videoTranscoderId); //Get it VideoTranscoder* videoTranscoder = itTranscoder->second; //Log endpoint tag name Log("-EndpointAttachToVideoTranscoder [endpoint:%ls,transcoder:%ls]\n",endpoint->GetName().c_str(),videoTranscoder->GetName().c_str()); //And attach return endpoint->Attach(MediaFrame::Video,videoTranscoder); }
int MediaSession::EndpointAttachToPlayer(int endpointId,int playerId,MediaFrame::Type media) { //Get endpoint Endpoints::iterator it = endpoints.find(endpointId); //If not found if (it==endpoints.end()) //Exit return Error("Endpoint not found\n"); //Get it Endpoint* endpoint = it->second; //Log endpoint tag name Log("-EndpointAttachToPlayer [%ls]\n",endpoint->GetName().c_str()); //Get Player Players::iterator itPlayer = players.find(playerId); //If not found if (itPlayer==players.end()) //Exit return Error("Player not found\n"); //Get it Player* player = itPlayer->second; //Attach return endpoint->Attach(media,player->GetJoinable(media)); }