Пример #1
0
 public override void OnServerHandshake(AudioServerHandshake handshake)
 {
     AvailableFormats = handshake.Formats;
     ActiveFormat     = AvailableFormats[0];
     SendClientHandshake(ActiveFormat);
     HandshakeDone = true;
 }
Пример #2
0
        public void TestAudioServerHandshake()
        {
            AudioServerHandshake packet = NanoPacketFactory
                                          .ParsePacket(ResourcesProvider.GetBytes("tcp_audio_server_handshake.bin", ResourceType.Nano), _context)
                                          as AudioServerHandshake;

            Assert.NotNull(packet);
            Assert.NotNull(packet.Header);

            Assert.Equal <NanoChannel>(NanoChannel.Audio, packet.Channel);
            Assert.Equal <NanoPayloadType>(NanoPayloadType.Streamer, packet.Header.PayloadType);

            Assert.Equal <AudioPayloadType>(AudioPayloadType.ServerHandshake,
                                            (AudioPayloadType)packet.StreamerHeader.PacketType);
            Assert.Equal <StreamerFlags>(StreamerFlags.GotSeqAndPrev | StreamerFlags.Unknown1,
                                         packet.StreamerHeader.Flags);
            Assert.Equal <uint>(1, packet.StreamerHeader.SequenceNumber);
            Assert.Equal <uint>(0, packet.StreamerHeader.PreviousSequenceNumber);

            Assert.Equal <uint>(4, packet.ProtocolVersion);
            Assert.Equal <ulong>(1495315092424, packet.ReferenceTimestamp);
            Assert.Single(packet.Formats);

            Assert.Equal <uint>(2, packet.Formats[0].Channels);
            Assert.Equal <uint>(48000, packet.Formats[0].SampleRate);
            Assert.Equal <AudioCodec>(AudioCodec.AAC, packet.Formats[0].Codec);
        }
Пример #3
0
        private async Task SendServerHandshakeAsync()
        {
            var packet = new AudioServerHandshake((uint)ProtocolVersion,
                                                  ReferenceTimestampUlong,
                                                  AvailableFormats);

            await SendAsync(packet);
        }
        public override void OnServerHandshake(AudioServerHandshake handshake)
        {
            AvailableFormats = handshake.Formats;
            ActiveFormat     = AvailableFormats[0];
            SendClientHandshake(ActiveFormat);
            HandshakeDone = true;

            FeedAudioFormat?.Invoke(this,
                                    new AudioFormatEventArgs(ActiveFormat));
        }
 public override void OnServerHandshake(AudioServerHandshake handshake)
 {
     throw new NotSupportedException("ServerHandshake on client side");
 }
 public abstract void OnServerHandshake(AudioServerHandshake handshake);