ADBaseLibrary.AdobeHDS.BoxReader.ReadHeader C# (CSharp) Method

ReadHeader() public method

public ReadHeader ( string &name ) : long
name string
return long
        public long ReadHeader(out string name)
        {
            long size = EReadInt32();
            byte[] dta = ReadBytes(4);
            name = Encoding.ASCII.GetString(dta);
            if (size == 1)
            {
                size = EReadInt64();
                size -= 8;
            }
            size -= 8;
            return size;
        }

Usage Example

Example #1
0
        private async Task ProcessFragment(Stream s, int fragment)
        {
            BoxReader reader = new BoxReader(s);
            string    name;

            while (reader.BaseStream.Position != reader.BaseStream.Length)
            {
                long size = reader.ReadHeader(out name);
                if (name == "abst")
                {
                    reader.ReadBootStrap(bootstrap);
                }
                else if (name == "mdat")
                {
                    long       max  = reader.BaseStream.Position + size;
                    List <Tag> tags = new List <Tag>();
                    while (reader.BaseStream.Position != max)
                    {
                        tags.Add(await GetNextTag(reader.BaseStream));
                    }
                    await QueueTags(tags, fragment);
                }
                else
                {
                    reader.BaseStream.Seek(size, SeekOrigin.Current);
                }
            }
            reader.Dispose();
        }
All Usage Examples Of ADBaseLibrary.AdobeHDS.BoxReader::ReadHeader