Пример #1
0
            iVideoTrackReader iVideoTrack.createReader(EncodedQueue queue)
            {
                VideoSampleReader reader = VideoSampleReader.create(mp4);
                var videoSample          = mp4.videoTrackSample;

                // Decrypt the SPS and initialize sample reader with it.
                // Some slice header fields are present or missing based on the data in SPS, for this reason reader needs decrypted SPS.
                var sps = videoSample.parseSps();

                reader.setSps(ref sps);

#if DEBUG
                if (null == queue)
                {
                    return(reader);
                }
#endif

                // Enqueue SPS and PPS NALUs
                var b = queue.nextEnqueue;
                videoSample.writeParameters(b, eParameterSet.SPS);
                queue.enqueue(b);

                b = queue.nextEnqueue;
                videoSample.writeParameters(b, eParameterSet.PPS);
                queue.enqueue(b);

                return(reader);
            }
Пример #2
0
        /// <summary>Enqueue SPS and PPS NALUs</summary>
        internal override void enqueueParameters(EncodedQueue queue)
        {
            var b = queue.nextEnqueue;

            b.writeSps(sps[0]);
            queue.enqueue(b);

            b = queue.nextEnqueue;
            b.writePps(pps[0]);
            queue.enqueue(b);
        }
Пример #3
0
        public VideoReader(MkvMediaFile file, TrackEntry track, VideoParams videoParams, EncodedQueue queue) :
            base(file, track)
        {
            this.queue = queue;
#if DEBUG
            if (null == queue)
            {
                return;
            }
#endif
            // Enqueue SPS and PPS NALUs
            videoParams.enqueueParameters(queue);
        }
Пример #4
0
 iVideoTrackReader iVideoTrack.createReader(EncodedQueue queue) => new VideoReader(file, track, videoParams, queue);
Пример #5
0
 internal abstract void enqueueParameters(EncodedQueue queue);
Пример #6
0
 internal override void enqueueParameters(EncodedQueue queue)
 {
     throw new NotImplementedException();
 }