Esempio n. 1
0
        public bool ReadPacket(Packet packet, int matchStreamIndex = -1)
        {
            while (true)
            {
                packet.ReleaseNativeBuffer();

                int result = FF.av_read_frame(formatContext, packet.packet);
                if (result != 0)
                {
                    return(false);
                }

                if (matchStreamIndex == -1 || packet.StreamIndex == matchStreamIndex)
                {
                    var timebase = formatContext->Streams[packet.StreamIndex]->TimeBase;
                    packet.UpdateTimestampFromNative(timebase);
                    return(true);
                }
            }
        }