Ejemplo n.º 1
0
        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);
        }