Skip to content

Commit ba25877

Browse files
committed
feat: add more info to android device names
1 parent 33b8919 commit ba25877

File tree

1 file changed

+46
-1
lines changed

1 file changed

+46
-1
lines changed

src/host/oboe/mod.rs

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,15 @@ impl DeviceTrait for Device {
275275
fn name(&self) -> Result<String, DeviceNameError> {
276276
match &self.0 {
277277
None => Ok("default".to_owned()),
278-
Some(info) => Ok(info.product_name.clone()),
278+
Some(info) => {
279+
let device_type = device_type_to_str(info.device_type);
280+
let name = if info.address.is_empty() {
281+
format!("{}:{}", info.product_name, device_type)
282+
} else {
283+
format!("{}:{}:{}", info.product_name, device_type, info.address)
284+
};
285+
Ok(name)
286+
}
279287
}
280288
}
281289

@@ -497,3 +505,40 @@ impl StreamTrait for Stream {
497505
}
498506
}
499507
}
508+
509+
fn device_type_to_str(audio_device_type: oboe::AudioDeviceType) -> &'static str {
510+
match audio_device_type {
511+
oboe::AudioDeviceType::Unknown => "Unknown",
512+
oboe::AudioDeviceType::AuxLine => "AuxLine",
513+
oboe::AudioDeviceType::BleBroadcast => "BleBroadcast",
514+
oboe::AudioDeviceType::BleHeadset => "BleHeadset",
515+
oboe::AudioDeviceType::BleSpeaker => "BleSpeaker",
516+
oboe::AudioDeviceType::BluetoothA2DP => "BluetoothA2DP",
517+
oboe::AudioDeviceType::BluetoothSCO => "BluetoothSCO",
518+
oboe::AudioDeviceType::BuiltinEarpiece => "BuiltinEarpiece",
519+
oboe::AudioDeviceType::BuiltinMic => "BuiltinMic",
520+
oboe::AudioDeviceType::BuiltinSpeaker => "BuiltinSpeaker",
521+
oboe::AudioDeviceType::BuiltinSpeakerSafe => "BuiltinSpeakerSafe",
522+
oboe::AudioDeviceType::Bus => "Bus",
523+
oboe::AudioDeviceType::Dock => "Dock",
524+
oboe::AudioDeviceType::Fm => "Fm",
525+
oboe::AudioDeviceType::FmTuner => "FmTuner",
526+
oboe::AudioDeviceType::Hdmi => "Hdmi",
527+
oboe::AudioDeviceType::HdmiArc => "HdmiArc",
528+
oboe::AudioDeviceType::HdmiEarc => "HdmiEarc",
529+
oboe::AudioDeviceType::HearingAid => "HearingAid",
530+
oboe::AudioDeviceType::Ip => "Ip",
531+
oboe::AudioDeviceType::LineAnalog => "LineAnalog",
532+
oboe::AudioDeviceType::LineDigital => "LineDigital",
533+
oboe::AudioDeviceType::RemoteSubmix => "RemoteSubmix",
534+
oboe::AudioDeviceType::Telephony => "Telephony",
535+
oboe::AudioDeviceType::TvTuner => "TvTuner",
536+
oboe::AudioDeviceType::UsbAccessory => "UsbAccessory",
537+
oboe::AudioDeviceType::UsbDevice => "UsbDevice",
538+
oboe::AudioDeviceType::UsbHeadset => "UsbHeadset",
539+
oboe::AudioDeviceType::WiredHeadphones => "WiredHeadphones",
540+
oboe::AudioDeviceType::WiredHeadset => "WiredHeadset",
541+
oboe::AudioDeviceType::Unsupported => "Unsupported",
542+
_ => "NotSpecified",
543+
}
544+
}

0 commit comments

Comments
 (0)