Ejemplo n.º 1
0
 public abstract bool TryReadContext(out IFormatContext context);
Ejemplo n.º 2
0
        /*public bool TryReadPacket (out Packet packet)
        {
            packet = null;

            bool havePacket = false;

            List<byte[]> pagesOfData = new List<byte[]>();

            bool streamIndexFound = false;
            int streamIndex = 0;

            while (!havePacket)
            {
                OggPage page; int i = 0;
                if (this.offset == 0 || this.offset == this.lastPage.Segments.Length)
                {
                    if (!streamIndexFound && this.pageBuffer.Count != 0)
                        page = this.pageBuffer.Dequeue();
                    else
                    {
                        page = ReadPage();
                        if (page == null)
                            break;
                    }

                    if (!streamIndexFound)
                    {
                        streamIndexFound = true;
                        streamIndex = page.StreamIndex;
                    }
                    else if (page.StreamIndex != streamIndex)
                    {
                        this.pageBuffer.Enqueue (page);
                        continue;
                    }
                }
                else
                {
                    page = this.lastPage;
                    i = this.offset;
                    streamIndex = page.StreamIndex;
                }

                this.lastPage = page;

                int packetLength = 0;
                for (int s = i; s < page.Segments.Length; ++s)
                {
                    byte len = (byte)page.Segments[s].Length;
                    packetLength += len;

                    if (len < 255)
                        break;
                }

                byte[] packetData = new byte[packetLength];

                int o = this.offset;
                for (; i < page.Segments.Length; ++i)
                {
                    int segmentLength = page.Segments[i].Length;
                    Buffer.BlockCopy (page.Segments[i], 0, packetData, (i - o) * 255, segmentLength);
                    if (segmentLength < 255)
                    {
                        havePacket = true;
                        break;
                    }
                }

                pagesOfData.Add (packetData);

                this.offset = (i + 1 >= page.Segments.Length) ? 0 : i + 1;
            }

            if (havePacket)
                packet = new OggPacket (streamIndex, 0, this.lastPage.GranuleNumber, AssemblePacket (pagesOfData));

            return havePacket;
        }*/
        public bool TryReadContext(out IFormatContext context)
        {
            throw new NotImplementedException();
        }
Ejemplo n.º 3
0
 public bool TryReadContext(out IFormatContext context)
 {
     context = null;
     return(false);
 }
Ejemplo n.º 4
0
 public static string[] ParseScriptLines(string scriptSource, IFormatContext formatContext)
 {
   return Parser.ParseScriptLines(scriptSource, formatContext);
 }
Ejemplo n.º 5
0
 public abstract bool TryReadContext(out IFormatContext context);
Ejemplo n.º 6
0
        /*public bool TryReadPacket (out Packet packet)
         * {
         *      packet = null;
         *
         *      bool havePacket = false;
         *
         *      List<byte[]> pagesOfData = new List<byte[]>();
         *
         *      bool streamIndexFound = false;
         *      int streamIndex = 0;
         *
         *      while (!havePacket)
         *      {
         *              OggPage page; int i = 0;
         *              if (this.offset == 0 || this.offset == this.lastPage.Segments.Length)
         *              {
         *                      if (!streamIndexFound && this.pageBuffer.Count != 0)
         *                              page = this.pageBuffer.Dequeue();
         *                      else
         *                      {
         *                              page = ReadPage();
         *                              if (page == null)
         *                                      break;
         *                      }
         *
         *                      if (!streamIndexFound)
         *                      {
         *                              streamIndexFound = true;
         *                              streamIndex = page.StreamIndex;
         *                      }
         *                      else if (page.StreamIndex != streamIndex)
         *                      {
         *                              this.pageBuffer.Enqueue (page);
         *                              continue;
         *                      }
         *              }
         *              else
         *              {
         *                      page = this.lastPage;
         *                      i = this.offset;
         *                      streamIndex = page.StreamIndex;
         *              }
         *
         *              this.lastPage = page;
         *
         *              int packetLength = 0;
         *              for (int s = i; s < page.Segments.Length; ++s)
         *              {
         *                      byte len = (byte)page.Segments[s].Length;
         *                      packetLength += len;
         *
         *                      if (len < 255)
         *                              break;
         *              }
         *
         *              byte[] packetData = new byte[packetLength];
         *
         *              int o = this.offset;
         *              for (; i < page.Segments.Length; ++i)
         *              {
         *                      int segmentLength = page.Segments[i].Length;
         *                      Buffer.BlockCopy (page.Segments[i], 0, packetData, (i - o) * 255, segmentLength);
         *                      if (segmentLength < 255)
         *                      {
         *                              havePacket = true;
         *                              break;
         *                      }
         *              }
         *
         *              pagesOfData.Add (packetData);
         *
         *              this.offset = (i + 1 >= page.Segments.Length) ? 0 : i + 1;
         *      }
         *
         *      if (havePacket)
         *              packet = new OggPacket (streamIndex, 0, this.lastPage.GranuleNumber, AssemblePacket (pagesOfData));
         *
         *      return havePacket;
         * }*/

        public bool TryReadContext(out IFormatContext context)
        {
            throw new NotImplementedException();
        }