예제 #1
0
        public TimeDescription(string[] sdpLines, ref int index)
            : this()
        {
            TimeDescriptionLine = new Lines.SessionTimeDescriptionLine(sdpLines, ref index);

            string sdpLine;

            //Iterate remaining lines
            for (int e = sdpLines.Length; index < e;)
            {
                //Scope a line
                sdpLine = sdpLines[index];

                if (string.IsNullOrWhiteSpace(sdpLine))
                {
                    ++index;

                    continue;
                }

                //If we are not extracing repeat times then there is no more TimeDescription to parse
                if (sdpLine[0] != Media.Sdp.Lines.SessionRepeatTimeLine.RepeatType)
                {
                    break;
                }

                //Parse and add the repeat time
                try
                {
                    //r=<repeat interval> <active duration> <offsets from start-time>
                    RepeatLines.Add(new Sdp.Lines.SessionRepeatTimeLine(sdpLines, ref index));
                }
                catch (Exception ex)
                {
                    Media.Common.TaggedExceptionExtensions.RaiseTaggedException(this, "Invalid Repeat Time", ex);
                    break;
                }
            }
        }
예제 #2
0
        public TimeDescription(bool shouldDispose = true) : base(shouldDispose)
        {
            TimeDescriptionLine = new Lines.SessionTimeDescriptionLine();

            RepeatLines = new List <Lines.SessionRepeatTimeLine>();
        }
예제 #3
0
        public TimeDescription()
        {
            TimeDescriptionLine = new Lines.SessionTimeDescriptionLine();

            RepeatLines = new List <Lines.SessionRepeatTimeLine>();
        }