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

mediadevices.EnumerateDevices() Label vs. Name #593

Open
stblassitude opened this issue Nov 22, 2024 · 0 comments
Open

mediadevices.EnumerateDevices() Label vs. Name #593

stblassitude opened this issue Nov 22, 2024 · 0 comments

Comments

@stblassitude
Copy link

stblassitude commented Nov 22, 2024

Your environment.

  • Version: master
  • Browser: n/a
  • Other Information - macOS Sequoia

What did you do?

func ListInputs() {
	devices := mediadevices.EnumerateDevices()
	sort.Sort(ByLabel(devices))
	fmt.Printf("Available inputs:\n")
	for i, v := range devices {
		l, _ := hex.DecodeString(v.Label)
		fmt.Printf("%d: %s:\t%s\t%s\n", i, v.DeviceID, l, v.Name)
	}
}

What did you expect?

I would expect the list of devices to include the name as displayed in all other apps. Instead, only the Label field is provided, which ranges from cryptic to unusable, as it is filled with just a UUID.

Either a Name property should be added to MediaDeviceInfo and filled with driverInfo.Name, or the Label field should be set to that value instead of the Label.

Example output:

Available inputs:
0: a211d286-f5cd-4916-9680-7ec0b38bbc97:        81BC3609-243C-4519-AEB7-42D100000003    Stefans 15 Microphone
1: 984069d3-dafd-44db-bdf6-f1560daf0d1d:        AppleUSBAudioEngine:Focusrite:Scarlett 6i6 USB:1000712D:1,2     Scarlett 6i6 USB
2: f7a59270-005e-4c45-a39e-5f23e08518ed:        AppleUSBAudioEngine:LG Electronics Inc.:USB Audio:3141000:1     LG UltraFine Display Audio
3: 1b00547e-cbcd-4ac7-a588-5927d3637aa9:        BlackHole2ch_UID        BlackHole 2ch
4: d08f2a83-07be-4a9c-9d9d-cbe66a9f803b:        BuiltInMicrophoneDevice MacBook Pro-Mikrofon
5: f15f3d56-0f76-4555-878f-ec271a826b87:        MSLoopbackDriverDevice_UID      Microsoft Teams Audio
6: 7d07b8d3-a9c5-4eec-bcf3-de77651295e9:        NMAudioDevice_UID       NoMachine Audio Adapter
7: 03592982-1ec4-4770-ba23-791895a188a7:        NMAudioMicDevice_UID    NoMachine Microphone Adapter
8: beb30aab-4a82-4f85-9336-c17d65f0cb2a:        VirtualMicInputOutput:01        EpocCam Microphone
9: 1c0ad447-c1e0-4917-b23c-adcebb81e175:        com.rogueamoeba.Loopback:0643181C-AA82-4537-A974-29CE469A1F1E   Test7
10: 256cbaf4-4bdb-4b5f-b733-10837e2ee988:       com.rogueamoeba.Loopback:419A1950-759D-4E69-8F2C-F1FB7DAC5059   Test2
11: 97836d13-6869-4a61-8656-aaa50d49f265:       com.rogueamoeba.Loopback:465760EA-A391-437F-8815-3344B6EEAC09   Test3
12: cc13d65e-0354-4eff-92b4-b6e957938860:       com.rogueamoeba.Loopback:49BF7858-5C42-4A73-A81C-877D6464649B   Test13
13: fa33bab8-8432-4066-9ce6-197bfc288880:       com.rogueamoeba.Loopback:5072F0BE-11CB-4D40-8772-2BB944A2DC11   Test8
14: 4b6dd357-bb1d-47e0-93e8-312c0d895d63:       com.rogueamoeba.Loopback:6A40E194-8F37-4E3F-9BAF-D4554C14F690   Test6
15: 8e53092f-23cc-49d1-9261-38484385a5a4:       com.rogueamoeba.Loopback:8530082B-4B99-44A6-AEEA-23E9F5981BE6   Test12
16: 3ac510a8-2f46-404a-99fd-ac4daf6cd1c9:       com.rogueamoeba.Loopback:89B22D98-AA43-4325-BE2C-E67D5C404128   Test9
17: a5dcb197-3c64-4676-9a37-85ad9451206e:       com.rogueamoeba.Loopback:ACC43168-0458-44A9-8383-CBC0AC7A0EA9   Test11
18: dd6bf5f2-4513-49b0-9169-64a3f53a621f:       com.rogueamoeba.Loopback:BF2D9751-0B04-4DDE-9BDB-0D60637372AB   Test1
19: 3ca970cc-acb0-4c91-940e-0158237625f7:       com.rogueamoeba.Loopback:D7F2799C-76DA-4B4D-9EDF-9615644F8F94   Test5
20: 35ff1fbf-12df-45b8-94f6-eba10a986a03:       com.rogueamoeba.Loopback:E5133490-0463-488C-87A3-297224C7D1D4   Test10
21: cb843625-141b-441d-90cc-511a028d961e:       com.rogueamoeba.Loopback:E9BC1B6F-00BC-4C4E-9AE5-F5DDF6739507   Test4

You can see that the Rogue Amoeba Loopback inputs without the Name are impossible to identify.

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

No branches or pull requests

1 participant