Does MC log Media keycodes? With my headset, the log shows MC issuing an MCC 10000 command (PLAY/PAUSE toggle) when I press the button. This is OK for the VK_MEDIA_PLAY_PAUSE (0xB3) keycode. Perhaps this headset on Mac is issuing a VK_PAUSE or some other keycode instead which is being mishandled?
Can you enable logging and reproduce the issue to compare with this snippet?
0131002: 21032: General: CHotKeyHelper::ProcessMCC: Start
0131002: 21032: General: CHotKeyHelper::ProcessMCC: Hot key type: Hook; Command: 10000, 0
0131003: 21032: General: CHotKeyHelper::ProcessMCC: Elapsed time since last hot key: 19940 ms
0131003: 21032: General: CHotKeyHelper::ProcessMCC: Sending MCC (10000, 0)
0131003: 21032: Playback: CMJPlayerCore::Pause: Start
0131006: 21032: Playback: CMJPlayerCore::Pause: Finish (2 ms)
0131006: 21032: General: CHotKeyHelper::ProcessMCC: Finish (4 ms)
0131006: 21032: General: CHotKeyHelper::ProcessMCC: Start
0131006: 21032: General: CHotKeyHelper::ProcessMCC: Hot key type: Hot key; Command: 10000, 0
0131007: 21032: General: CHotKeyHelper::ProcessMCC: Ignoring (because of user options or different handler)
0131007: 21032: General: CHotKeyHelper::ProcessMCC: Finish (0 ms)
This is from Chatgpt:
Thanks for sharing the log — this is a verbose JRiver Media Center debug log showing what the software was doing at a very detailed level. Here’s what I can decipher relevant to your issue — audio unexpectedly starting on your Mac when you turn off Bluetooth headphones, particularly in JRiver:
⸻
🔍 Key Events in the Log
1. DLNA Events Detected:
• The lines like:
Playback: CPlayerZone::DLNADeviceSubscription_PropertyChanged: Transport state was 2 changing to 3
Playback: CPlayerZone::DLNADeviceSubscription_PropertyChanged: Transport state was 3 changing to 2
These refer to DLNA device state changes — DLNA is JRiver’s networking feature, possibly tied to how your audio outputs switch between devices.
2. Audio Device Switching Detected:
• This is important:
Playback: CCoreAudioPlugin::StartCoreAudio: Output device '(Default)' empty (transient)?
Playback: CCoreAudioPlugin::StartCoreAudio: Output device name: Universal Audio Thunderbolt
This tells us JRiver reinitialized audio output after device changes — it noticed the default output was empty (because Bluetooth headphones disconnected), and automatically fell back to Universal Audio Thunderbolt output (your Mac or interface).
3. Playback Started Automatically:
• Near this section:
Playback: CPlayerZone::Play: Processing play for '/Volumes/Workspace 2/AUDIO/Music/FLAC/...'
It looks like JRiver initiated playback on its own. No user trigger is logged immediately before it, implying something triggered automatic playback when audio output changed.
⸻
🧠 What’s Likely Happening
• When your Bluetooth headphones disconnect, macOS switches the default audio output to built-in speakers or your audio interface.
• JRiver sees a device change and treats it like a new playback opportunity — possibly from a previous paused state.
• If “resume on device change” is enabled or JRiver is responding to DLNA or system triggers, it might auto-resume or restart playback.
⸻
🛠️ What You Can Try to Fix It
1. Turn off “Resume playback on startup or zone switch”:
• JRiver > Tools > Options > Startup > Uncheck “Start playing current playlist” or similar resume settings.
2. Set Output Device Manually:
• Under Tools > Options > Audio > Audio Device, instead of “Default Audio Device,” choose a specific one like “Bluetooth Headphones” or your interface.
• This can stop it from switching unexpectedly when the system audio output changes.
3. Disable DLNA if Unused:
• DLNA events are being handled repeatedly — if you don’t use JRiver for home network streaming, disable DLNA in Tools > Options > Media Network.
4. Check for Bluetooth Device Sending Play Signals:
• Some Bluetooth devices send a “play” or “media control” command on disconnect.
• macOS interprets this, and JRiver might respond by resuming playback.
⸻