RFR: 8301846: Invalid TargetDataLine after screen lock when using JFileChooser or COM library [v8]

Alexey Ivanov aivanov at openjdk.org
Fri Sep 15 18:38:42 UTC 2023


On Thu, 3 Aug 2023 10:35:50 GMT, Renjith Kannath Pariyangad <duke at openjdk.org> wrote:

>> Hi Reviewers,
>> 
>> Observations :
>> 1. Without com initialize if we access Mixer for recording, library loaded invalid GUID and clipped description in windows(ID not found in registry). With com initialization library load proper GUID (same as registry).
>> 2. For Play back device always loading proper device GUID irrespective of com Initialization.
>> 
>> Test:
>> Since screen lock and unlock workflow required for reproducing this issue, did coupe of iteration of manual testing post fix and confirmed its resolving the problem.
>> To reconfirm nothing is broken, executed all audio related test cases on test bench post fix and all are green.
>> 
>> Please review the changes and let me know your comments if any.
>> 
>> Regards,
>> Renjith.
>
> Renjith Kannath Pariyangad has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Replaced CoInitialize with CoInitializeEx

An update: we have received a clarification from Microsoft. Both `DirectSoundEnumerate` and `DirectSoundCaptureEnumerate` require COM to be initialised. DirectSound APIs support both MTA and STA. So, we should initialise COM in MTA.

Initialising and uninitialising COM aren't heavy. As such, moving sound enumeration to a helper thread *would cost more*. So, we'll follow the current approach.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/14898#issuecomment-1721687912


More information about the client-libs-dev mailing list