Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I can't receive a stream from Mojave – RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed') #78

Open
NeutralKaon opened this issue Aug 8, 2022 · 8 comments

Comments

@NeutralKaon
Copy link

The problem

Thanks for a lot of work clearly making an excellent project. Unfortunately, either in docker or running natively on ubuntu 22.04 (x64) I can't stream music from other devices on my lan – the crypto seems to fail. I've tried two different network interfaces (wifi and ethernet) and other implementations of airplay work with my alsa / pulsedaudio config (i.e. shairplay-sync).

$ python3 ap2-receiver.py -m DownstairsSpeakers --netiface=wlp3s0 -nv
[Receiver]: Name: DownstairsSpeakers
[Receiver]: Enabled features: 0001c300405f4200
[Receiver]: FeatureFlags.Ft48TransientPairing|Ft47PeerManagement|Ft46HomeKitPairing|Ft41_PTPClock|Ft40BufferedAudio|Ft30UnifiedAdvertisingInfo|Ft22AudioUnencrypted|Ft20ReceiveAudioAAC_LC|Ft19ReceiveAudioALAC|Ft18ReceiveAudioPCM|Ft17AudioMetaTxtDAAP|Ft16AudioMetaProgress|Ft14MFiSoft_FairPlay|Ft09AirPlayAudio
[Receiver]: Interface: wlp3s0
[Receiver]: Mac: xxxxxxxxxxxxxxxxxxxxxxxxxx
[Receiver]: IPv4: 10.0.0.67
[Receiver]: IPv6: xxxxxxxxxxxxxxxxxxxxxxxxxx
[Receiver]:
[asyncio]: Using selector: EpollSelector
[Receiver]: mDNS: service registered
[Receiver]: Starting RTSP server, press Ctrl-C to exit...
[Receiver]: serving on 10.0.0.67:7000
[AP2Server: 10.0.0.67:7000]: Opened connection from 10.0.0.218:60126
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: {'qualifier': ['txtAirPlay']}
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: Sending our device info
[AP2Server: 10.0.0.67:7000]: Thread-2 (process_request_thread): Opened HAPSocket from 10.0.0.218:60126
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: SETUP: rtsp://10.0.0.67/12487981574068520270
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: GET_PARAMETER: rtsp://10.0.0.67/12487981574068520270
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: GET_PARAMETER: b'volume'
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: Volume Management is disabled
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: RECORD: rtsp://10.0.0.67/12487981574068520270
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: SETPEERS: rtsp://10.0.0.67/12487981574068520270
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: ['10.0.0.67', '10.0.0.218', 'fe80::10f9:ccfa:f035:7696']
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: SET_PARAMETER: rtsp://10.0.0.67/12487981574068520270
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: SET_PARAMETER: b'volume' => b' -20.000000'
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: Volume Management is disabled
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: SETUP: rtsp://10.0.0.67/12487981574068520270
[utils] removing StreamHandler from Audio.debug file logger
[Audio.debug] file logging level: DEBUG
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]:
[asyncio]: Using selector: EpollSelector
ALSA lib pcm_dsnoop.c:601:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1032:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_oss.c:397:(_snd_pcm_oss_open) Cannot open device /dev/dsp
ALSA lib pcm_oss.c:397:(_snd_pcm_oss_open) Cannot open device /dev/dsp
ALSA lib confmisc.c:160:(snd_config_get_card) Invalid field card
ALSA lib pcm_usb_stream.c:482:(_snd_pcm_usb_stream_open) Invalid card 'card'
ALSA lib confmisc.c:160:(snd_config_get_card) Invalid field card
ALSA lib pcm_usb_stream.c:482:(_snd_pcm_usb_stream_open) Invalid card 'card'
ALSA lib pcm_dmix.c:1032:(snd_pcm_dmix_open) unable to open slave
[AudioRealtime]: audioDevicelatency (sec): 0.00868
[AudioRealtime]: pyAudioDelay (sec): 0.00871
[AudioRealtime]: Total sample_delay (sec): 0.01939
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: SET_PARAMETER: rtsp://10.0.0.67/12487981574068520270
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: DMAP:
dmap.persistentid: 0x5fc3db46c80516be
dmap.itemname: Ola Gjeilo - Northern Lights - YouTube
daap.songdatakind: True
dacp.playerstate: Playing

[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: FLUSH: rtsp://10.0.0.67/12487981574068520270
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: SET_PARAMETER: rtsp://10.0.0.67/12487981574068520270
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:60126; Thread-2 (process_request_thread)]: DMAP:
dmap.persistentid: 0x5fc3db46c80516be
dmap.itemname: Ola Gjeilo - Northern Lights - YouTube
daap.songdatakind: True
dacp.playerstate: Playing

[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
<these lines repeat indefinitely...>

What commit exhibits the issue?

9b37407

Was there a last known working commit?

No response

What type of installation are you running?

virtualenv

With which python3 version do you run Receiver?

Python 3.10.4

OS the receiver runs on

Ubuntu 22.04

OS the sender runs

OS X 10.14.6

Which sender client was used

YouTube website in Firefox (as a browser)

Command invocation

python3 ap2-receiver.py -m DownstairsSpeakers --netiface=wlp3s0 -nv

Please include --debug output which helps to illustrate the problem

python3 ap2-receiver.py -m DownstairsSpeakers --netiface=wlp3s0 -nv --debug
[Receiver] logging level: DEBUG
[Receiver]: Name: DownstairsSpeakers
[Receiver]: Enabled features: 0001c300405f4200
[Receiver]: FeatureFlags.Ft48TransientPairing|Ft47PeerManagement|Ft46HomeKitPairing|Ft41_PTPClock|Ft40BufferedAudio|Ft30UnifiedAdvertisingInfo|Ft22AudioUnencrypted|Ft20ReceiveAudioAAC_LC|Ft19ReceiveAudioALAC|Ft18ReceiveAudioPCM|Ft17AudioMetaTxtDAAP|Ft16AudioMetaProgress|Ft14MFiSoft_FairPlay|Ft09AirPlayAudio
[HAP] logging level: DEBUG
[HAP]: Loading ed25519 keypair for own ID: aa5cb8df-7f14-4249-901a-5e748ce57a93
[Receiver]: Interface: wlp3s0
[Receiver]: Mac: xxxxxxxxxxxxxxxxx
[Receiver]: IPv4: 10.0.0.67
[Receiver]: IPv6: fe80::d5b5:ac45:4dfe:f532
[Receiver]:
[asyncio]: Using selector: EpollSelector
[Receiver]: mDNS: service registered
[Receiver]: Starting RTSP server, press Ctrl-C to exit...
[AP2Server: 10.0.0.67:7000] logging level: DEBUG
[Receiver]: serving on 10.0.0.67:7000
[AP2Server: 10.0.0.67:7000]: Opened connection from 10.0.0.218:50530
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)] logging level: DEBUG
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: GET: /info
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: X-Apple-ProtocolVersion: 1
Content-Length: 70
Content-Type: application/x-apple-binary-plist
CSeq: 0
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: {'qualifier': ['txtAirPlay']}
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: Sending our device info
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: {'audioLatencies': [{'inputLatencyMicros': 0, 'outputLatencyMicros': 400000}],
 'deviceID': '14:cc:20:10:a6:fa',
 'features': 495880824111616,
 'keepAliveLowPower': True,
 'keepAliveSendStatsAsBody': True,
 'manufacturer': 'OpenAirplay',
 'model': 'Receiver',
 'name': 'DownstairsSpeakers',
 'nameIsFactoryDefault': False,
 'pi': 'aa5cb8df-7f14-4249-901a-5e748ce57a93',
 'protocolVersion': '1.1',
 'sdk': 'AirPlay;2.0.2',
 'sourceVersion': '366.0',
 'statusFlags': '0x4'}
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /pair-setup
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: X-Apple-HKP: 4
X-Apple-Client-Name: MacBook Pro - Vega
Content-Length: 9
Content-Type: application/x-apple-binary-plist
CSeq: 1
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[HAP] logging level: DEBUG
[HAP]: Loading ed25519 keypair for own ID: aa5cb8df-7f14-4249-901a-5e748ce57a93
[HAP]: -----    Pair-Setup [1/2]
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /pair-setup
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: X-Apple-HKP: 4
X-Apple-Client-Name: MacBook Pro - Vega
Content-Length: 457
Content-Type: application/x-apple-binary-plist
CSeq: 2
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[HAP]: -----    Pair-Setup [2/2]
00000000: 3F CB 29 BE 05 C3 64 5B  68 B9 BB DA 8A FF 1F AE  ?.)...d[h.......
00000010: 6E EF 5C D8 7A 46 CE 7C  59 CD AE 9F 28 4D EC 3B  n.\.zF.|Y...(M.;
00000020: BE D6 89 5F 1A 32 24 6C  EA 8C 1F E8 CB 2B 37 54  ..._.2$l.....+7T
00000030: AA CE D4 58 27 0A 2B 5B  A7 81 2F A1 5E E3 E1 4D  ...X'.+[../.^..M
[AP2Server: 10.0.0.67:7000]: Thread-2 (process_request_thread): Opened HAPSocket from 10.0.0.218:50530
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: ----- ENCRYPTED CHANNEL -----
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /fp-setup
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: X-Apple-ET: 32
Content-Length: 16
Content-Type: application/octet-stream
CSeq: 3
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /fp-setup
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: X-Apple-ET: 32
Content-Length: 164
Content-Type: application/octet-stream
CSeq: 4
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: SETUP: rtsp://10.0.0.67/16271484513579910849
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: Content-Length: 765
Content-Type: application/x-apple-binary-plist
CSeq: 5
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: {'deviceID': '38:F9:D3:90:D3:C1',
 'groupContainsGroupLeader': False,
 'groupUUID': '5A6061B6-1AE4-46B2-BAE1-BD5134FDDC54',
 'isMultiSelectAirPlay': False,
 'macAddress': '00:E0:XX:XX:XX:XX',
 'model': 'MacBookPro15,3',
 'name': 'MacBook Pro - Vega',
 'osBuildVersion': '18G9216',
 'osName': 'Mac OS X',
 'osVersion': '10.14.6',
 'senderSupportsRelay': False,
 'sessionUUID': 'E1CFECF4-8033-46C1-AC36-844989D60D9D',
 'sourceVersion': '387.2',
 'timingPeerInfo': {'Addresses': ['10.0.0.218', 'fe80::1cbc:58e2:1858:6699'],
                    'ID': '5A6061B6-1AE4-46B2-BAE1-BD5134FDDC54',
                    'SupportsClockPortMatchingOverride': True},
 'timingPeerList': [{'Addresses': ['10.0.0.218', 'fe80::1cbc:58e2:1858:6699'],
                     'ID': '5A6061B6-1AE4-46B2-BAE1-BD5134FDDC54',
                     'SupportsClockPortMatchingOverride': True}],
 'timingProtocol': 'PTP'}
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: Sending EVENT:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: [+] eventPort=60171
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: {'eventPort': 60171,
 'timingPeerInfo': {'Addresses': ['10.0.0.67'], 'ID': '14:cc:20:10:a6:fa'},
 'timingPort': 0}
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[utils] removing StreamHandler from events file logger
[events] file logging level: DEBUG
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: GET: /info
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: X-Apple-ProtocolVersion: 1
CSeq: 6
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: GET_PARAMETER: rtsp://10.0.0.67/16271484513579910849
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: Content-Length: 8
Content-Type: text/parameters
CSeq: 7
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: GET_PARAMETER: b'volume'
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: Volume Management is disabled
00000000: 76 6F 6C 75 6D 65 3A 20  30 0D 0A                 volume: 0..
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: RECORD: rtsp://10.0.0.67/16271484513579910849
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 8
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: SETPEERS: rtsp://10.0.0.67/16271484513579910849
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: Content-Length: 97
Content-Type: /peer-list-changed
CSeq: 9
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: ['10.0.0.67', '10.0.0.218', 'fe80::1cbc:58e2:1858:6699']
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: SET_PARAMETER: rtsp://10.0.0.67/16271484513579910849
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: Content-Length: 20
Content-Type: text/parameters
CSeq: 10
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: SET_PARAMETER: b'volume' => b' -20.000000'
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: Volume Management is disabled
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: SETUP: rtsp://10.0.0.67/16271484513579910849
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: Content-Length: 223
Content-Type: application/x-apple-binary-plist
CSeq: 11
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: {'streams': [{'audioFormat': 262144,
              'audioMode': 'default',
              'controlPort': 59079,
              'ct': 2,
              'latencyMax': 88200,
              'latencyMin': 11025,
              'spf': 352,
              'streamConnectionID': 26595965306948614,
              'type': 96}]}
[Control: 10.0.0.67:35456] logging level: DEBUG
[utils] removing StreamHandler from Audio.debug file logger
[Audio.debug] file logging level: DEBUG
[AudioRealtime] logging level: DEBUG
[AudioRealtime]: Negotiated audio format: AirplayAudFmt.ALAC_44100_16_2
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: Building stream channels:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: [+] type 96: controlPort=35456 dataPort=54558
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: {'streams': [{'audioBufferSize': 8388608,
              'controlPort': 35456,
              'dataPort': 54558,
              'streamID': 1,
              'type': 96}]}
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[HAP] logging level: DEBUG
[HAP]: Loading ed25519 keypair for own ID: aa5cb8df-7f14-4249-901a-5e748ce57a93
[asyncio]: Using selector: EpollSelector
[Control: 10.0.0.67:35456] logging level: DEBUG
ALSA lib pcm_dsnoop.c:601:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1032:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_oss.c:397:(_snd_pcm_oss_open) Cannot open device /dev/dsp
ALSA lib pcm_oss.c:397:(_snd_pcm_oss_open) Cannot open device /dev/dsp
ALSA lib confmisc.c:160:(snd_config_get_card) Invalid field card
ALSA lib pcm_usb_stream.c:482:(_snd_pcm_usb_stream_open) Invalid card 'card'
ALSA lib confmisc.c:160:(snd_config_get_card) Invalid field card
ALSA lib pcm_usb_stream.c:482:(_snd_pcm_usb_stream_open) Invalid card 'card'
ALSA lib pcm_dmix.c:1032:(snd_pcm_dmix_open) unable to open slave
[AudioRealtime]: audioDevicelatency (sec): 0.00868
[AudioRealtime]: pyAudioDelay (sec): 0.00871
[AudioRealtime]: Total sample_delay (sec): 0.01939
[Control: 10.0.0.67:35456]: TIME_ANNOUNCE_PTP: senderRtpTimestamp=229729149 with monotonic_s=1797.1751488 clockID=adde480011220000 plays at timestamp=229806324
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: SET_PARAMETER: rtsp://10.0.0.67/16271484513579910849
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: RTP-Info: rtptime=229718124
Content-Length: 118
Content-Type: application/x-dmap-tagged
CSeq: 12
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: DMAP:
dmap.persistentid: 0x5463ce7a475a5aff
dmap.itemname: Ola Gjeilo - Gjeilo: Night - YouTube
daap.songdatakind: True
dacp.playerstate: Playing

[Control: 10.0.0.67:35456]: TIME_ANNOUNCE_PTP: senderRtpTimestamp=229730425 with monotonic_s=1797.2040753 clockID=adde480011220000 plays at timestamp=229807600
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: FLUSH: rtsp://10.0.0.67/16271484513579910849
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: RTP-Info: seq=58171;rtptime=229813110
CSeq: 13
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: SET_PARAMETER: rtsp://10.0.0.67/16271484513579910849
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: RTP-Info: rtptime=229719400
Content-Length: 118
Content-Type: application/x-dmap-tagged
CSeq: 14
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: DMAP:
dmap.persistentid: 0x5463ce7a475a5aff
dmap.itemname: Ola Gjeilo - Gjeilo: Night - YouTube
daap.songdatakind: True
dacp.playerstate: Playing

[Control: 10.0.0.67:35456]: TIME_ANNOUNCE_PTP: senderRtpTimestamp=229775405 with monotonic_s=1798.2240370 clockID=adde480011220000 plays at timestamp=229852580
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 15
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[Control: 10.0.0.67:35456]: TIME_ANNOUNCE_PTP: senderRtpTimestamp=229820386 with monotonic_s=1799.2440101 clockID=adde480011220000 plays at timestamp=229897561
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[Control: 10.0.0.67:35456]: TIME_ANNOUNCE_PTP: senderRtpTimestamp=229865367 with monotonic_s=1800.2639989 clockID=adde480011220000 plays at timestamp=229942542
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 16
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AudioRealtime]: RTP ChaCha20_Poly1305 decrypt: ValueError('MAC check failed')
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 17
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 18
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 19
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 20
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 21
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 22
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 23
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 24
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 25
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 26
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 27
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 28
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 29
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 30
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 31
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 32
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 33
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 34
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 35
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 36
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 37
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 38
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 39
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 40
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 41
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 42
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 43
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 44
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 45
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 46
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 47
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2


[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: POST: /feedback
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]:
[AP2Handler: 10.0.0.67:7000<=>10.0.0.218:50530; Thread-2 (process_request_thread)]: CSeq: 48
DACP-ID: C666A81DB114C317
Active-Remote: 3639393480
User-Agent: AirPlay/387.2

Additional information

No response

@Neustradamus
Copy link
Contributor

@systemcrash, @LewdNeko: What do you think?

@NeutralKaon
Copy link
Author

I forgot to say – this is a tangential issue that I don't think is related at all – but if it helps this is on an AMD "Starship Matisse" PCH motherboard with too many audio devices. The one that is the first card -- i.e. the one that amixer returns without an argument -- confusingly is actually HDMI passthrough options from my graphics card. The real audio outputs are visible with amixer -c1 and friends. As previously documented, this causes volume management to break in ap2/utils.py but being terribly lazy and hard-coding the requisite device/"card" in works, e.g.:

line_pct = subprocess.check_output(["amixer","-c1", "get", "PCM"]).splitlines()[-1]

and similarly for setting the volume. It may be worth adding yet another command line parameter if anyone else has this issue. The above errors occur with or without those changes, however (and the output above was done straight from your current revision with -nv to bypass them anyway).

So, there may be something a little non-standard about my alsa / pulsed audio setup but I don't think it's related to this crypto error.

@systemcrash
Copy link
Member

Given that most of what we know about airplay is educated guesswork, dealing with crypto problems is always going to be a bit sketchy. I remember playing with these components and repeating various tests to see what flags did. Mojave thinks the receiver handles the encryption: it does. It's just that the derived key isn't what it should be. Forcing the player module to stream out stuff which fails a MAC check is probably wrong.

It's possible we missed somewhere how Poly1305 should be handled. I don't remember the exact details, but each RTP packet contains the necessary MAC at the end. It works in tons of other scenarios, so in this case we still don't understand what specifically breaks this scenario.

You might try changing 'sourceVersion' (to something lower?), and see if it fools Mojave to treat us differently. See comments in ap2-receiver.py.

@NeutralKaon
Copy link
Author

@systemcrash Thanks hugely for your time. I've iterated through a bunch of versions of SERVER_VERSION, which should enable and disable features, and all results in the same failure. I have similar issues connecting with shairport-sync's development branch supporting airplay 2 – except the connection is terminated by the mac host. I'll dig around and post more if I discover something useful.

@systemcrash
Copy link
Member

It's not impossible that the sender has bugs in AP2. I ran 10.14 for a while during development (although I don't recall trying to set my mac as a sender very often), and everything is OK for now on 10.15.x.

It might be worth rolling back to earlier versions - it's not impossible that we introduced bugs.

I figured out stream connections in 723bace - try that.

python3 ap2-receiver.py -n en0 --debug -ftxor 59

Maybe also RTP redundancy ( 568e190 ). Something to change the default behaviour of the sender.

@NeutralKaon
Copy link
Author

@systemcrash Thanks again for the offer, but neither of those commits "work". According to this issue 10.14 doesn't disclose the session key (shk) and that might explain all…

@systemcrash
Copy link
Member

systemcrash commented Aug 25, 2022

Did you try bitmask 59?

python3 ap2-receiver.py -n en0 --debug -ftxor 59

You may need to roll back to 42d4926 and try the above. I think I found a bug when connecting from macOS.

Edit: current master seems OK

@systemcrash
Copy link
Member

systemcrash commented Oct 11, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants