private void ContinueAfterDescribe(RTSPClient rtspClient, int resultCode, string resultString) { while (true) { var scs = ((OurRtspClient)rtspClient).scs; if (resultCode != 0) { Console.Error.WriteLine("Failed to get a SDP description: " + resultString); break; } var description = resultString; Console.Error.WriteLine("Got a SDP description:"); Console.Error.Write(description); scs.session = MediaSession.CreateNew(env, description); if (scs.session == null) { Console.Error.WriteLine("Failed to create a MediaSession object from the SDP description: " + env.GetResultMsg); break; } if (scs.session.HasSubsessions == 0) { Console.Error.WriteLine("This session has no media subsessions (i.e., no \"m=\" lines)"); break; } scs.iter = new MediaSubsessionIterator(scs.session); SetupNextSubsession(rtspClient); return; } ShutdownStream(rtspClient); }