コード例 #1
0
/***************************************
* startReceivingAudio
*	Helper function
***************************************/
void * AudioStream::startReceivingAudio(void *par)
{
    AudioStream *conf = (AudioStream *)par;
    blocksignals();
    Log("RecvAudioThread [%d]\n",getpid());
    pthread_exit((void *)conf->RecAudio());
}
コード例 #2
0
void* RTPEndpoint::run(void *par)
{
        Log("RTPEndpointThread [%d]\n",getpid());
        //Get endpoint
	RTPEndpoint *end = (RTPEndpoint *)par;
        //Block signal in thread
	blocksignals();
	//Catch
	signal(SIGIO,EmptyCatch);
        //Depending on the type
        switch(end->GetType())
        {
                case MediaFrame::Video:
                        //Run Video
                        pthread_exit((void *)end->RunVideo());
                        break;
                case MediaFrame::Audio:
                        //Run Audio
                        pthread_exit((void *)end->RunAudio());
                        break;
                case MediaFrame::Text:
                        //Run Audio
                        pthread_exit((void *)end->RunText());
                        break;
        }
        
}
コード例 #3
0
/***************************************
* startSendingAudio
*	Helper function
***************************************/
void * AudioStream::startSendingAudio(void *par)
{
    AudioStream *conf = (AudioStream *)par;
    blocksignals();
    Log("SendAudioThread [%d]\n",getpid());
    pthread_exit((void *)conf->SendAudio());
}
コード例 #4
0
ファイル: flvencoder.cpp プロジェクト: tidehc/media-server-1
/***************************************
* startencodingAudio
*	Helper function
***************************************/
void * FLVEncoder::startEncodingVideo(void *par)
{
	FLVEncoder *enc = (FLVEncoder *)par;
	blocksignals();
	Log("Encoding FLV video [%p]\n",pthread_self());
	enc->EncodeVideo();
	//Exit
	return NULL;
}
コード例 #5
0
ファイル: audioencoder.cpp プロジェクト: crubia/wt
/***************************************
* startencodingAudio
*	Helper function
***************************************/
void * AudioEncoderWorker::startEncoding(void *par)
{
	AudioEncoderWorker *conf = (AudioEncoderWorker *)par;
	blocksignals();
	Log("Encoding audio [%p]\n",pthread_self());
	conf->Encode();
	//Exit
	return NULL;;
}
コード例 #6
0
ファイル: VNCServer.cpp プロジェクト: crubia/wt
void *VNCServer::Client::run(void *par)
{
	Log("VNCServer::Client::Thread [%p]\n",pthread_self());
	//Get worker
	VNCServer::Client *client = (VNCServer::Client *)par;
	//Block all signals
	blocksignals();
	//Run
	client->Run();
	//Exit
	return NULL;
}
コード例 #7
0
void* RTMPFLVStream::play(void *par)
{
	Log("-PlayTrhead [%d]\n",getpid());

	//Obtenemos el parametro
	RTMPFLVStream *flv = (RTMPFLVStream *)par;

	//Bloqueamos las señales
	blocksignals();

	//Ejecutamos
	pthread_exit((void *)flv->PlayFLV());
}
コード例 #8
0
/***********************
* run
*       Helper thread function
************************/
void * RTMPConnection::run(void *par)
{
        Log("-RTMP Connecttion Thread [%d,0x%x]\n",getpid(),par);

	//Block signals to avoid exiting on SIGUSR1
	blocksignals();

        //Obtenemos el parametro
        RTMPConnection *con = (RTMPConnection *)par;

        //Ejecutamos
        pthread_exit((void *)con->Run());
}
コード例 #9
0
/***********************************
* startMixingAudio
*	Crea el thread de mezclado de audio
************************************/
void *AudioMixer::startMixingAudio(void *par)
{
	Log("-MixAudioThread [%d]\n",getpid());

	//Obtenemos el parametro
	AudioMixer *am = (AudioMixer *)par;

	//Bloqueamos las se�ales
	blocksignals();
	
	//Ejecutamos
	pthread_exit((void *)am->MixAudio());
}
コード例 #10
0
void * MP4Streamer::play(void *par)
{
        Log("-PlayThread [%d]\n",getpid());

	//Obtenemos el parametro
	MP4Streamer *player = (MP4Streamer *)par;

	//Bloqueamos las se�ales
	blocksignals();

	//Ejecutamos
	pthread_exit((void *)player->PlayLoop());
}
コード例 #11
0
ファイル: mediabridgesession.cpp プロジェクト: crubia/wt
/**************************************
* startReceivingText
*	Function helper for thread
**************************************/
void* MediaBridgeSession::startReceivingText(void *par)
{
	Log("RecTextThread [%p]\n",pthread_self());

	//Obtenemos el objeto
	MediaBridgeSession *sess = (MediaBridgeSession *)par;

	//Block signals
	blocksignals();

	//Y ejecutamos
	sess->RecText();
	//Exit
	return NULL;
}
コード例 #12
0
ファイル: mediabridgesession.cpp プロジェクト: crubia/wt
/**************************************
* startSendingAudio
*	Function helper for thread
**************************************/
void* MediaBridgeSession::startSendingAudio(void *par)
{
	Log("SendAudioThread [%p]\n",pthread_self());

	//Obtenemos el objeto
	MediaBridgeSession *sess = (MediaBridgeSession *)par;

	//Block signals
	blocksignals();

	//Y ejecutamos
	sess->SendAudio();
	//Exit
	return NULL;
}
コード例 #13
0
ファイル: videostream.cpp プロジェクト: tidehc/media-server-1
/**************************************
* startReceivingVideo
*	Function helper for thread
**************************************/
void* VideoStream::startReceivingVideo(void *par)
{
	Log("RecVideoThread [%p]\n",pthread_self());

	//Obtenemos el objeto
	VideoStream *conf = (VideoStream *)par;

	//Bloqueamos las se�a�es
	blocksignals();

	//Y ejecutamos
	conf->RecVideo();
	//Exit
	return NULL;
}
コード例 #14
0
ファイル: videostream.cpp プロジェクト: tidehc/media-server-1
/**************************************
* startSendingVideo
*	Function helper for thread
**************************************/
void* VideoStream::startSendingVideo(void *par)
{
	Log("SendVideoThread [%p]\n",pthread_self());

	//OBtenemos el objeto
	VideoStream *conf = (VideoStream *)par;

	//Bloqueamos las se�ales
	blocksignals();

	//Y ejecutamos la funcion
	conf->SendVideo();
	//Exit
	return NULL;
}