Ejemplo n.º 1
0
        /// <inheritdoc />
        /// <summary>
        /// </summary>
        /// <param name="bytes"></param>
        /// <param name="start"></param>
        /// <param name="finish"></param>
        public TrackFragmentBox(byte[] bytes, int start, int finish) : base(Mp4Identifier.Traf)
        {
            while (start < finish)
            {
                var mp4Box = Mp4Utils.GetBox(bytes, ref start, finish);

                switch (mp4Box?.Mp4Identifier)
                {
                case null:
                    continue;

                case Mp4Identifier.Tfhd:
                    Tfhd = mp4Box as TrackFragmentHeaderBox;
                    break;

                case Mp4Identifier.Sdtp:
                    Sdtp = mp4Box as SampleDependencyTypeBox;
                    break;

                case Mp4Identifier.Trun:
                    Trun = mp4Box as TrackRunBox;
                    break;

                case Mp4Identifier.Tfrf:
                    Tfrf = mp4Box as TfrfBox;
                    break;

                case Mp4Identifier.Tfxd:
                    Tfxd = mp4Box as TfxdBox;
                    break;
                }
            }
        }
Ejemplo n.º 2
0
        /// <inheritdoc />
        /// <summary>
        /// </summary>
        /// <param name="bytes"></param>
        /// <param name="start"></param>
        /// <param name="finish"></param>
        public MovieFragmentBox(byte[] bytes, int start, int finish) : base(Mp4Identifier.Moof)
        {
            while (start < finish)
            {
                var mp4Box = Mp4Utils.GetBox(bytes, ref start, finish);

                switch (mp4Box?.Mp4Identifier)
                {
                case null:
                    continue;

                case Mp4Identifier.Traf:
                    TrackFragmentBox = mp4Box as TrackFragmentBox;
                    break;

                case Mp4Identifier.Mfhd:
                    MovieFragmentHeaderBox = mp4Box as MovieFragmentHeaderBox;
                    break;
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// </summary>
        /// <param name="boxBytes"></param>
        /// <param name="start"></param>
        /// <param name="finish"></param>
        public Fragment(byte[] boxBytes, int start, int finish)
        {
            while (start < finish)
            {
                var mp4Box = Mp4Utils.GetBox(boxBytes, ref start, finish);

                switch (mp4Box?.Mp4Identifier)
                {
                case null:
                    continue;

                case Mp4Identifier.Mdat:
                    MediaDataBox = mp4Box as MediaDataBox;
                    break;

                case Mp4Identifier.Moof:
                    MovieFragmentBox = mp4Box as MovieFragmentBox;
                    break;
                }
            }
        }