Beispiel #1
0
        bool iAudioTrackReader.read(iDecoderQueues queues)
        {
            if (EOF)
            {
                Thread.Sleep(1);
                return(false);
            }
            int cb   = getFrameSize();
            var span = queues.dequeueEmpty(out int idx, cb);

            lock (clusters.syncRoot)
                readCurrentFrame(span);
            queues.enqueueEncoded(idx, cb, timestamp);
            advance();
            return(true);
        }
Beispiel #2
0
        bool iAudioTrackReader.read(iDecoderQueues queues)
        {
            if (sampleReader.EOF)
            {
                Thread.Sleep(1);
                return(false);
            }

            int         cbSample = sampleReader.seek(stream);
            Span <byte> span     = queues.dequeueEmpty(out int idx, cbSample);

            stream.read(span);
            queues.enqueueEncoded(idx, cbSample, sampleReader.timestamp);
            sampleReader.advance();
            return(true);
        }