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); } } }