Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 10 additions & 6 deletions linux-rust/src/media_controller.rs
Original file line number Diff line number Diff line change
Expand Up @@ -138,11 +138,16 @@ impl MediaController {
drop(state);

if !was_playing && is_playing {
let aacp_state = aacp_manager.state.lock().await;
if !aacp_state
.ear_detection_status
.contains(&EarDetectionStatus::InEar)
{
let (bud_in_ear, connected_devices) = {
let aacp_state = aacp_manager.state.lock().await;
(
aacp_state
.ear_detection_status
.contains(&EarDetectionStatus::InEar),
aacp_state.connected_devices.clone(),
)
};
if !bud_in_ear {
info!("Media playback started but buds not in ear, skipping takeover");
continue;
}
Expand All @@ -155,7 +160,6 @@ impl MediaController {

info!("already connected locally, hijacking connection by asking AirPods");

let connected_devices = aacp_state.connected_devices.clone();
for device in connected_devices {
if device.mac != local_mac {
if let Err(e) = aacp_manager
Expand Down