/// <summary>
        /// Reads the sample entry properties from stream.
        /// </summary>
        /// <param name="reader">The stream reader.</param>
        internal override void ReadSampleEntryPropertiesFromStream(BoxBinaryReader reader)
        {           
            switch(this.Type)
            {
                case BoxType.Enca:
                    this.OriginalSampleEntryData = new AudioSampleEntryBox(reader.Offset, this.Size - (reader.Offset - this.Offset));                    
                    break;
                case BoxType.Encv:
                    this.OriginalSampleEntryData = new VisualSampleEntryBox(reader.Offset, this.Size - (reader.Offset - this.Offset));
                    break;
            }

            this.OriginalSampleEntryData.ReadSampleEntryPropertiesFromStream(reader);
            
            ReadInnerBoxes(reader, BoxType.Sinf);
        }
        /// <summary>
        /// Reads the sample entry properties from stream.
        /// </summary>
        /// <param name="reader">The stream reader.</param>
        internal override void ReadSampleEntryPropertiesFromStream(BoxBinaryReader reader)
        {
            switch (this.Type)
            {
            case BoxType.Enca:
                this.OriginalSampleEntryData = new AudioSampleEntryBox(reader.Offset, this.Size - (reader.Offset - this.Offset));
                break;

            case BoxType.Encv:
                this.OriginalSampleEntryData = new VisualSampleEntryBox(reader.Offset, this.Size - (reader.Offset - this.Offset));
                break;
            }

            this.OriginalSampleEntryData.ReadSampleEntryPropertiesFromStream(reader);

            ReadInnerBoxes(reader, BoxType.Sinf);
        }