Open ggarra13 opened 1 year ago
I'm afraid I cannot investigate this problem without a significant amount of further details. I will close this issue if there is no further communications within the next month or so.
ping @ggarra13
@garyscavone I am sorry I haven't followed through. Not sure how else I can help out to debug it, as providing a simple test is not easy at all. If there has been progress with the latest HEAD, I can try checking it again.
My video player application:
uses RtAudio, currently 5.2.0. The application is heavily multithreaded and, after some setup calls in the main thread, calls RtAudio functions from a child thread for each video loaded. I found that the pulse api of RtAudio was misbehaving, due to the server not returning on time and the function getDeviceCount() returning 0 as rt_pa_info.dev would sometimes be empty. I created a patch, which I can no longer apply to the current HEAD and which I attach here. It caches the rt_pa_info.dev vector after the first call to the server. Also, I am calling pa_operation_unref from each pacontext* call, as it seems that might be missing. I am attaching the diff to the 5.2.0 branch in case it is useful.
5.2.0.txt
I tried porting to the current HEAD (beta), and after some code changes -- DeviceInfo.probed gone, setErorCallback, openStream with no error callback--but the results were worse. The playback would not work at all as the RtAudo error callback would report that the device ID was not initialized (or something similar).