예제 #1
0
		public VoiceIn(CodecInfo codec, RtpClient client, TransmitPredicate predicate)
		{
			_codec = codec;
			_client = client;
			_predicate = predicate;			
			this.InitAudio();
		}
예제 #2
0
 public VoiceIn(CodecInfo codec, RtpClient client, TransmitPredicate predicate)
 {
     _codec     = codec;
     _client    = client;
     _predicate = predicate;
     this.InitAudio();
 }
예제 #3
0
 /// <summary>
 /// Construct a new voice session.
 /// </summary>
 /// <param name="codec">The transmit codec.</param>
 /// <param name="quality">The transmit quality (usually the sample rate).</param>
 /// <param name="client">An optional already-bound UDP client to use. If this is null, then a new client will be constructed.</param>
 /// <param name="transmitCallback">An optional callback to determine whether to transmit each packet. An application may
 /// use logic such as PTT (push-to-talk) or an automatic peak level-based approach. By default, all packets are transmitted.</param>
 public VoiceClient(CodecInfo codec, UdpClient client   = null,
                    TransmitPredicate transmitPredicate = null, ReceivePredicate receivePredicate = null)
     : base((byte)codec.PayloadType, codec.EncodedBufferSize, new IPEndPoint(new IPAddress(DummyIPAddress), DummyPort), client)
 {
     _peers            = new Dictionary <IPEndPoint, VoicePeer>();
     _pool             = new VoicePacketPool();
     _receivePredicate = receivePredicate;
     _voiceIn          = new VoiceIn(codec, this, transmitPredicate);
 }
예제 #4
0
		/// <summary>
		/// Construct a new voice session.
		/// </summary>
		/// <param name="codec">The transmit codec.</param>
		/// <param name="quality">The transmit quality (usually the sample rate).</param>
		/// <param name="client">An optional already-bound UDP client to use. If this is null, then a new client will be constructed.</param>
		/// <param name="transmitCallback">An optional callback to determine whether to transmit each packet. An application may
		/// use logic such as PTT (push-to-talk) or an automatic peak level-based approach. By default, all packets are transmitted.</param>
		public VoiceClient(CodecInfo codec, UdpClient client = null,
			TransmitPredicate transmitPredicate = null, ReceivePredicate receivePredicate = null)
			: base((byte)codec.PayloadType, codec.EncodedBufferSize, new IPEndPoint(new IPAddress(DummyIPAddress), DummyPort), client)
		{
			_peers = new Dictionary<IPEndPoint, VoicePeer>();
			_pool = new VoicePacketPool();
			_receivePredicate = receivePredicate;
			_voiceIn = new VoiceIn(codec, this, transmitPredicate);
		}