2011-11-22 2 views
2

Eh bien,LIVE555 OpenRTSP Client: Comment supprimer le client actuel rtsp correctement et commencer à nouveau un

  • Quand mon OpenRtsp client perdu la connexion avec le serveur, je cède les anciens clients et d'autres paramètres puis re-créer de nouvelles client.

  • Le client Options d'envoi, mais avec succès Décrire la demande a échoué après que ... je ne peux pas en mesure de créer et de session Subsesions alors je suis des erreurs d'accès aux violations ..

Comment réinitialiser vieux OpenRtspClient proprement qui obtient une nouvelle "marque" RTSPClient?

My Way actuelle réinitialiser ancien client:

je modifie simplement la méthode "d'arrêt" dans la classe playCommon. Je n'ai pas envoyé Teardown ...

...

void ResetOurClient(){ 

    if (env != NULL) { 
     env->taskScheduler().unscheduleDelayedTask(sessionTimerTask); 
     env->taskScheduler().unscheduleDelayedTask(arrivalCheckTimerTask); 
     env->taskScheduler().unscheduleDelayedTask(interPacketGapCheckTimerTask); 
     env->taskScheduler().unscheduleDelayedTask(qosMeasurementTimerTask); 
     } 

     closeMediaSinks(); 
     Medium::close(session); 
     delete ourAuthenticator; 
     Medium::close(ourClient); 
} 

Et mon ReStartCode.

void StartOurClient() 
{ 

     TaskScheduler* scheduler = BasicTaskScheduler::createNew(); 
     env = BasicUsageEnvironment::createNew(*scheduler); 


     char* streamURL = "XXXXXXXXX"; 


     // Create our client object: 
     ourClient = createClient(*env, streamURL, verbosityLevel, progName); 
     if (ourClient == NULL) { 
     *env << "Failed to create " << clientProtocolName 
      << " client: " << env->getResultMsg() << "\n"; 
     shutdown(); 
     } 

     if (sendOptionsRequest) { 
     // Begin by sending an "OPTIONS" command: 
     getOptions(continueAfterOPTIONS); 
     } else { 
     continueAfterOPTIONS(NULL, 0, NULL); 
     } 

     // All subsequent activity takes place within the event loop: 
     env->taskScheduler().doEventLoop(&continuesStream); // does not return 
} 

Répondre

Questions connexes