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