Пример #1
0
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));
}
Пример #2
0
int MediaSession::AudioMixerPortAttachToEndpoint(int mixerId,int portId,int endpointId)
{
	//Get mixer
        AudioMixers::iterator it = audioMixers.find(mixerId);

        //If not found
        if (it==audioMixers.end())
                //Exit
                return Error("AudioMixerResource not found\n");
        //Get it
        AudioMixerResource* audioMixer = it->second;

	//Get endpoint
        Endpoints::iterator itEnd = endpoints.find(endpointId);

        //If not found
        if (itEnd==endpoints.end())
                //Exit
                return Error("Endpoint not found\n");

        //Get it
        Endpoint* endpoint = itEnd->second;

	//Log endpoint tag name
	Log("-AudioMixerPortAttachToEndpoint [%ls]\n",endpoint->GetName().c_str());

	//Attach
	return audioMixer->Attach(portId,endpoint->GetJoinable(MediaFrame::Audio));
}
Пример #3
0
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));
}
Пример #4
0
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);
}
Пример #5
0
int MediaSession::EndpointDelete(int endpointId)
{
        //Get Player
        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("-EndpointDelete [%ls]\n",endpoint->GetName().c_str());

        //Remove from list
        endpoints.erase(it);

	//End it
	endpoint->End();

        //Relete endpoint
        delete(endpoint);

        return 1;
}
Пример #6
0
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));
}
Пример #7
0
int MediaSession::EndpointCreate(std::wstring name,bool audioSupported,bool videoSupported,bool textSupport)
{
        //Create endpoint
        Endpoint* endpoint = new Endpoint(name,audioSupported,videoSupported,textSupport);
	//Init it
	endpoint->Init();
	//Create ID
        int endpointId = maxEndpointId++;
	//Log endpoint tag name
	Log("-EndpointCreate [%d,%ls]\n",endpointId,endpoint->GetName().c_str());
	//Append
	endpoints[endpointId] = endpoint;
        //Return it
        return endpointId;

}
Пример #8
0
int MediaSession::EndpointRequestUpdate(int endpointId,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("-EndpointRequestUpdate [%ls]\n",endpoint->GetName().c_str());

	//Execute
	return endpoint->RequestUpdate(media);
}
Пример #9
0
int MediaSession::EndpointStopReceiving(int endpointId,MediaFrame::Type media)
{
        //Get Player
        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("-EndpointStartReceiving [%ls]\n",endpoint->GetName().c_str());
	
	//Execute
	return endpoint->StopReceiving(media);
}
Пример #10
0
//Endpoint Video functionality
int MediaSession::EndpointStartSending(int endpointId,MediaFrame::Type media,char *sendVideoIp,int sendVideoPort,RTPMap& rtpMap)
{
        //Get Player
        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("-EndpointStartSending [%ls]\n",endpoint->GetName().c_str());

	//Execute
	return endpoint->StartSending(media,sendVideoIp, sendVideoPort, rtpMap);
}
Пример #11
0
int MediaSession::VideoTranscoderAttachToEndpoint(int videoTranscoderId,int endpointId)
{
	//Get mixer
        VideoTranscoders::iterator it = videoTranscoders.find(videoTranscoderId);

        //If not found
        if (it==videoTranscoders.end())
                //Exit
                return Error("VideoTranscoder not found [%d]\n",videoTranscoderId);
        //Get it
        VideoTranscoder* videoTranscoder = it->second;

	//Get endpoint
        Endpoints::iterator itEnd = endpoints.find(endpointId);

        //If not found
        if (itEnd==endpoints.end())
                //Exit
                return Error("Endpoint not found [%d]\n",endpointId);

        //Get it
        Endpoint* endpoint = itEnd->second;

	//Log endpoint tag name
	Log("-VideoTranscoderAttachToEndpoint [transcoder:%ls,endpoint:%ls]\n",videoTranscoder->GetName().c_str(),endpoint->GetName().c_str());

	//Attach
	return videoTranscoder->Attach(endpoint->GetJoinable(MediaFrame::Video));
}