CSharpRTMP.Core.Protocols.Rtmfp.Publication.PushAudioPacket C# (CSharp) Метод

PushAudioPacket() публичный Метод

public PushAudioPacket ( uint time, N2HBinaryReader packet, uint numberLostFragments ) : void
time uint
packet CSharpRTMP.Common.N2HBinaryReader
numberLostFragments uint
Результат void
        public void PushAudioPacket(uint time, N2HBinaryReader packet, uint numberLostFragments)
        {
            if (PublisherId == 0)
            {
                Logger.FATAL("Audio packet pushed on a publication {0} who is idle", PublisherId);
                return;
            }
            var pos = packet.BaseStream.Position;
            if(numberLostFragments>0)Logger.INFO("");
            AudioQOS.Add(time,packet.Fragments,numberLostFragments,(uint) (packet.BaseStream.GetAvaliableByteCounts()+5),(uint) (_publisher!=null?_publisher.Ping:0));
            var temp = packet.ReadByte();
            var temp2 = packet.ReadByte();
            packet.BaseStream.Position = pos;
            if (((temp >> 4) == 0x0a) && temp2 == 0)
            {
                packet.BaseStream.CopyDataTo(AudioCodecBuffer);
                AudioCodecBuffer.Position = 0;
            }
            
            foreach (var listener in Listeners)
            {
                listener.Value.PushAudioPacket(time, packet);
                //packet.BaseStream.Position = pos;
            }
            _publisher.OnAudioPacket(this,time,packet);
        }