Skip to content

Changing CoreAudio Name property #56

@jimmyvanhest

Description

@jimmyvanhest

Goal.

I have been trying to change the name property of a CoreAudio device with this library.

Setup.

This could not work with the nuget package because I don't have access to the COM thread used in this library. To work around this I added this project as a subproject to mine and changed the ComThread class to public so that I could use it's invoke method to do operations I would want to do.

Observation.

When I tried changing the name property this way(running as admin else the change would not be done) the desktop environment started flashing as if it was constantly reloading. Disabling the changed audio device through Control Panel would make the flashing stop. Reenabling would make the desktop flash again. After a reboot the system would behave normally again.

I have also seen that setting the name property was not covered by any of the tests

Minimum reproducible example.

I used the following function to change the name of the default device:

static void Test() {
	var controller = new CoreAudioController();
	ComThread.Invoke(() => { controller.DefaultPlaybackDevice.Name = "Test"; });
}

I have done this for 2 devices I had available, my usb headset and my hdmi monitor.

Remarks

Is this a bug or should setting the name not even be done with this library?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions