{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":298133717,"defaultBranch":"master","name":"portaudio","ownerLogin":"PortAudio","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-09-24T01:07:17.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/18684097?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1693608374.0","currentOid":""},"activityList":{"items":[{"before":"37dde68a769320d1e0a9e3d690290436af8ec9b2","after":"2fa021931944b141302697f0750c3e5484888726","ref":"refs/heads/master","pushedAt":"2024-07-05T23:28:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"improve doc comments. Put () after function names for consistency. Fix a few typos. (#937)","shortMessageHtmlLink":"improve doc comments. Put () after function names for consistency. Fi…"}},{"before":"2f61007cb2b57c8fba84c8fe0672830ea733f189","after":"37dde68a769320d1e0a9e3d690290436af8ec9b2","ref":"refs/heads/master","pushedAt":"2024-07-05T23:27:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"update doc comments to document that API strings use UTF-8 encoding. (#933)\n\nwork towards #200","shortMessageHtmlLink":"update doc comments to document that API strings use UTF-8 encoding. (#…"}},{"before":"18a606e1f928852bfc29639d9539ae74d37b5dee","after":"2f61007cb2b57c8fba84c8fe0672830ea733f189","ref":"refs/heads/master","pushedAt":"2024-06-28T22:52:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"Fix WDM-KS buffer position alignment (#931)\n\nThe previous code is only correct if `bytesPerFrame` is a power of two.\r\nIf it's not (e.g. 2-channel 24-bit = 6 bytes per frame), then the computed buffer position is corrupted. This can lead the code to use the wrong buffer half, resulting in glitchy audio.\r\n\r\nFixes #763","shortMessageHtmlLink":"Fix WDM-KS buffer position alignment (#931)"}},{"before":"7a47d8fae8c4263241e0c2bd8e81bf257fdd94e5","after":"18a606e1f928852bfc29639d9539ae74d37b5dee","ref":"refs/heads/master","pushedAt":"2024-05-17T22:53:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"Update Pa_AbortStream docs to indicate best-effort requirement. Fixes #728. (#909)","shortMessageHtmlLink":"Update Pa_AbortStream docs to indicate best-effort requirement. Fixes #…"}},{"before":"f992f1d783dba1e9f51591a2053a9d1e3eb288ed","after":"7a47d8fae8c4263241e0c2bd8e81bf257fdd94e5","ref":"refs/heads/master","pushedAt":"2024-05-12T21:39:57.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"JACK: replace deprecated jack_port_get_latency() calls\n\njack_port_get_latency() is deprecated and jack_port_get_latency_range()\nshould be used instead. Replace the deprecated API to resolve compiler\nwarnings and ensure that the code will continue to compile when JACK\nremoves the deprecated API.\n\nThe JACK host API only needs the minimum latency value because PortAudio\nreports best-case latencies. Introduce a helper function that returns\nthe minimum latency to avoid duplicated code that declares\njack_latency_range_t local variables and only uses the struct's min\nfield.\n\nTested with both PipeWire 1.0.3 and JACK 1.9.22 on Linux.\n\nSigned-off-by: Stefan Hajnoczi \nFixes: #641","shortMessageHtmlLink":"JACK: replace deprecated jack_port_get_latency() calls"}},{"before":"7de41c1e07cdc506f4438e5ec9a1315a4ac9330c","after":"f992f1d783dba1e9f51591a2053a9d1e3eb288ed","ref":"refs/heads/master","pushedAt":"2024-05-10T22:23:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"python scripts: cleanup, python 3 compatibility (#899)","shortMessageHtmlLink":"python scripts: cleanup, python 3 compatibility (#899)"}},{"before":"5a1920db58e4aafea5fd0291aec702ca331ab5e1","after":"7de41c1e07cdc506f4438e5ec9a1315a4ac9330c","ref":"refs/heads/master","pushedAt":"2024-05-03T23:04:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"macOS CI: switch vcpkg_triplet to arm64-osx for compatibility with new GitHub default CI runners (#908)","shortMessageHtmlLink":"macOS CI: switch vcpkg_triplet to arm64-osx for compatibility with ne…"}},{"before":"ba486a3a8c9e7b2a7b217ab6e31a4c46c6ca38db","after":"5a1920db58e4aafea5fd0291aec702ca331ab5e1","ref":"refs/heads/master","pushedAt":"2024-04-26T23:07:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"python 3 script compatibility: file() was removed in Python 3 in favor of open() (#898)","shortMessageHtmlLink":"python 3 script compatibility: file() was removed in Python 3 in favo…"}},{"before":"db778cfe67f4343feb7132e903a9cdf668f5cfad","after":"ba486a3a8c9e7b2a7b217ab6e31a4c46c6ca38db","ref":"refs/heads/master","pushedAt":"2024-04-26T22:28:16.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"pa_wmme: replace infinite timeout loops in ReadStream and WriteStream with bounded last-ditch timeout. fixes #883","shortMessageHtmlLink":"pa_wmme: replace infinite timeout loops in ReadStream and WriteStream…"}},{"before":"7171f0734d34903de8ea97a12963e6aaffa34dc5","after":"db778cfe67f4343feb7132e903a9cdf668f5cfad","ref":"refs/heads/master","pushedAt":"2024-04-19T23:09:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"JACK: try to use stable port names (#888)\n\nJACK connection managers save/load the connection graph so users don't\r\nneed to create connections manually every time. This depends on stable\r\nport names but PortAudio currently generates incrementing port names\r\nthroughout the lifetime of a running process.\r\n\r\nReset the port name counters when all streams are closed so that the\r\nsame port names are generated when the streams are opened again.\r\n\r\nThis is not a perfect solution because applications that open streams in\r\ndifferent orders each time or never close all open streams before\r\nrestarting audio processing will not reset the port counters. However,\r\ntypical applications should work with this simple approach and it's an\r\nimprovement over current behavior.\r\n\r\nTested with Audacity 3.3.3 on Fedora 39.\r\n\r\nSigned-off-by: Stefan Hajnoczi \r\nCo-authored-by: Stefan Hajnoczi ","shortMessageHtmlLink":"JACK: try to use stable port names (#888)"}},{"before":"3388d8e5535d0dc90edbda42b620044b6abb0300","after":"7171f0734d34903de8ea97a12963e6aaffa34dc5","ref":"refs/heads/master","pushedAt":"2024-04-19T22:37:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"Upgrade Python 2 code to Python 3 (#890)\n\n* checkfiledocs.py: Upgrade Python 2 code to Python 3\r\n* patest_suggested_vs_streaminfo_latency.py: Py2 --> Py3","shortMessageHtmlLink":"Upgrade Python 2 code to Python 3 (#890)"}},{"before":"88ab584e7bf4358599744cd662cfbc978f41efbf","after":"3388d8e5535d0dc90edbda42b620044b6abb0300","ref":"refs/heads/master","pushedAt":"2024-04-19T22:20:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"pulseaudio: Make sure there is no delay in closing if stream is not open (#895) (#897)\n\nFixing situation when Portaudio pulseaudio stream is created but never opened\r\nbut just closed. application like Audacity does it like that with stream\r\nand that caused long delay before closing as stream could not be in correct state","shortMessageHtmlLink":"pulseaudio: Make sure there is no delay in closing if stream is not o…"}},{"before":"69c137304167832d65af422b9298d343d26e05c8","after":"88ab584e7bf4358599744cd662cfbc978f41efbf","ref":"refs/heads/master","pushedAt":"2024-03-08T23:13:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"pulseaudio: Rework some initialization code and have better error reporting (#863)\n\nAlso ensure that errors are detected and better handled.\r\n\r\n---------\r\n\r\nCo-authored-by: kleinerm ","shortMessageHtmlLink":"pulseaudio: Rework some initialization code and have better error rep…"}},{"before":"4600d814564c392ec848d4de9cb41e07aa9c16ba","after":"69c137304167832d65af422b9298d343d26e05c8","ref":"refs/heads/master","pushedAt":"2024-03-08T22:26:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"Fix broken ASIO channel selector validation (i.e. only use when flag is set) (#885)\n\nValidation for PaAsioStreamInfo currently fails if the channelSelectors field is null, even if the paAsioUseChannelSelectors flag is not set. This PR amends the check so channelSelectors is only validated if the paAsioUseChannelSelectors flag is set in PaAsioStreamInfo.","shortMessageHtmlLink":"Fix broken ASIO channel selector validation (i.e. only use when flag …"}},{"before":"45c12e8d18ae4434000ed1521e49d9b5ef91dedf","after":"4600d814564c392ec848d4de9cb41e07aa9c16ba","ref":"refs/heads/master","pushedAt":"2024-02-23T22:55:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"centralize clock handling for pthread_cond_timedwait (#877)\n\n* Ensure that the clock that is configured on the cond var object is the one that is used to compute the wait deadline.\r\n\r\n* Ensure that the most appropriate clock is selected on each platform based on availability CLOCK_BOOTTIME > CLOCK_MONOTONIC > CLOCK_REALTIME (on Mac use gettimeofday because other clock interfaces are either not available or broken).\r\n\r\nNB: use GetSystemTimeAsFileTime on Windows. should be much faster than GetSystemTime+SystemTimeToFileTime according to http://www.windowstimestamp.com/description. thanks s09bQ5\r\n\r\nUsed directly or indirectly by pa_jack, pa_alsa, pa_asihpi\r\n\r\nResolves #795, #807.","shortMessageHtmlLink":"centralize clock handling for pthread_cond_timedwait (#877)"}},{"before":"cb936cd4cee1cbf7aee5a96993332f25188cf141","after":"45c12e8d18ae4434000ed1521e49d9b5ef91dedf","ref":"refs/heads/master","pushedAt":"2024-02-09T22:36:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"Add support for sndio (#878)\n\n* Add support for sndio\r\n\r\nThis is based on current modifications to portaudio done in OpenBSD.\r\n\r\nCloses: #220\r\n\r\nCo-authored-by: Alexandre Ratchov \r\nCo-authored-by: Haelwenn (lanodan) Monnier \r\n\r\n* Adjust variable names based on feedback\r\n\r\n---------\r\n\r\nCo-authored-by: Alexandre Ratchov \r\nCo-authored-by: Haelwenn (lanodan) Monnier ","shortMessageHtmlLink":"Add support for sndio (#878)"}},{"before":"daaf637f6f9fce670031221abfd7dfde92e5cce3","after":"cb936cd4cee1cbf7aee5a96993332f25188cf141","ref":"refs/heads/master","pushedAt":"2024-02-09T22:17:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"pa_whitelint.py: escape backslashes in regex strings (fixes warning) (#882)","shortMessageHtmlLink":"pa_whitelint.py: escape backslashes in regex strings (fixes warning) (#…"}},{"before":"0c1924086a1cf9c7f275ead6d82bbcf6e90c13ea","after":"daaf637f6f9fce670031221abfd7dfde92e5cce3","ref":"refs/heads/master","pushedAt":"2024-01-12T22:54:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"philburk","name":"Phil Burk","path":"/philburk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5175913?s=80&v=4"},"commit":{"message":"cmake: Silence configuration warning when MSVC is selected as generator. (#872)","shortMessageHtmlLink":"cmake: Silence configuration warning when MSVC is selected as generat…"}},{"before":"0451480762826119511b5b7e0636b6d31362b978","after":"0c1924086a1cf9c7f275ead6d82bbcf6e90c13ea","ref":"refs/heads/master","pushedAt":"2023-12-22T23:37:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"dsound: don't restrict the host buffer to 16-bit (#774)\n\nCurrently, the DirectSound Host API code only creates 16-bit integer\r\nDirectSound buffers. All audio data provided by the user is therefore\r\nconverted by PortAudio to and from 16-bit, regardless of the user buffer\r\nformat.\r\n\r\nThis basically makes it impossible to pass 24-bit audio through the\r\nDirectSound Host API.\r\n\r\nIf the user buffer format is not 16-bit, this also causes pointless\r\nconversions to take place, *even if the hardware is running at 16-bit*,\r\nbecause modern Windows versions (Vista+) convert the data to floating\r\npoint behind the scenes before it is handed off to the hardware. This\r\ncan lead to silly situations where 32-bit float samples from the user\r\nare (lossily) converted to 16-bit by PortAudio, then ended off to\r\nWindows via DirectSound, only to be converted back to 32-bit float\r\nagain, before finally being converted to the format the hardware device\r\nis configured to use. This can easily lead to two layers of\r\n16-bit dithering (one from PortAudio, and one from Windows) being piled\r\non top of each other, resulting in an elevated noise floor.\r\n\r\nThis commit fixes this problem by configuring the DirectSound buffers to\r\nuse the same format as the user buffer. This should stop PortAudio from\r\nconverting samples in all cases except paInt8, which is not supported by\r\nWAVEFORMATEX (only paUInt8 is).\r\n\r\nThe new code assumes that DirectSound will accept whatever format we\r\nthrow at it. I feel confident that this is always true on Vista+\r\nregardless of hardware, because starting from Vista DirectSound does not\r\naccess hardware directly - it always goes through the Windows Audio\r\nEngine which supports all formats in both directions (I verified this\r\nusing paloopback).\r\n\r\nThe consequences of this change on pre-Vista Windows are less clear,\r\nalthough [1] suggests that this might just work even on 2000/XP as\r\nKMixer should be able to handle these conversions as well.\r\n\r\n[1]: https://microsoft.public.win32.programmer.directx.audio.narkive.com/elgNlPIn/\r\n\r\nFixes #54","shortMessageHtmlLink":"dsound: don't restrict the host buffer to 16-bit (#774)"}},{"before":"34078a748e5f02aebbcaf76dcd1a866fb44a67a7","after":"0451480762826119511b5b7e0636b6d31362b978","ref":"refs/heads/master","pushedAt":"2023-12-22T22:56:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"alsa: do not link with lasound in the PA_ALSA_DYNAMIC case (#834)","shortMessageHtmlLink":"alsa: do not link with lasound in the PA_ALSA_DYNAMIC case (#834)"}},{"before":"3c11534f60b63c85328173f36a93f83924747de3","after":"34078a748e5f02aebbcaf76dcd1a866fb44a67a7","ref":"refs/heads/master","pushedAt":"2023-12-22T22:50:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"philburk","name":"Phil Burk","path":"/philburk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5175913?s=80&v=4"},"commit":{"message":"pulseaudio: fix PaPulseAudio_Initialize unlocking (#852)\n\nMake sure that if PaPulseAudio_Initialize fails that\r\na) Mainloop is unlocked if HostAPI is initialized\r\nb) Unlocking is done before freeing\r\nc) It's done only once\r\n\r\nAlso move allocations group freeing code to correct place\r\nnow there only one place where it's called.\r\n\r\nFixes #848","shortMessageHtmlLink":"pulseaudio: fix PaPulseAudio_Initialize unlocking (#852)"}},{"before":"49d17bac9a666f52b567d77f2cfceb5d99ee818a","after":"3c11534f60b63c85328173f36a93f83924747de3","ref":"refs/heads/master","pushedAt":"2023-12-22T22:39:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"philburk","name":"Phil Burk","path":"/philburk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5175913?s=80&v=4"},"commit":{"message":"Add a test that tries to use the generated CMake libs [continuation]. (#866)\n\nThis is a continuation of some work started in PR #671.","shortMessageHtmlLink":"Add a test that tries to use the generated CMake libs [continuation]. ("}},{"before":"8a9ebfd29f2818d6ce6e8b6c3b9e3cccce0e0691","after":"49d17bac9a666f52b567d77f2cfceb5d99ee818a","ref":"refs/heads/master","pushedAt":"2023-11-17T23:10:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"Test to list default latencies of available devices in table format. Resolves #201. (PR #844)","shortMessageHtmlLink":"Test to list default latencies of available devices in table format. R…"}},{"before":"7e62dfc832fcdbcf249cf2a05721c4512fd59fef","after":"8a9ebfd29f2818d6ce6e8b6c3b9e3cccce0e0691","ref":"refs/heads/master","pushedAt":"2023-11-03T21:28:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"philburk","name":"Phil Burk","path":"/philburk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5175913?s=80&v=4"},"commit":{"message":"workflows: Add Pulseaudio to Github build tests (#859)\n\nAs Pulseaudio is not currently build on\r\nGithub build build. Add it at least for CMake","shortMessageHtmlLink":"workflows: Add Pulseaudio to Github build tests (#859)"}},{"before":"4af3321f4896d1f79e843cb8a60141271b7299c4","after":"7e62dfc832fcdbcf249cf2a05721c4512fd59fef","ref":"refs/heads/master","pushedAt":"2023-10-30T19:23:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dmitrykos","name":"Dmitry Kostjučenko","path":"/dmitrykos","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14150058?s=80&v=4"},"commit":{"message":"wasapi: Fix wrong sign in timeInfo.inputBufferAdcTime calculation. (#850)\n\nADC capture time must be earlier than currentTime, as the capture\r\ntime of any received samples in a buffer must be in the past.\r\n\r\nFix the wrong sign in calculation to fix this.\r\n\r\nSigned-off-by: Mario Kleiner ","shortMessageHtmlLink":"wasapi: Fix wrong sign in timeInfo.inputBufferAdcTime calculation. (#850"}},{"before":"24c8d575e588d557d28f4011becb753421346860","after":"4af3321f4896d1f79e843cb8a60141271b7299c4","ref":"refs/heads/master","pushedAt":"2023-10-30T14:58:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"illuusio","name":"Tuukka Pasanen","path":"/illuusio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1902756?s=80&v=4"},"commit":{"message":"pulseaudio: Make use of suggestedLatency stream parameter. (#849)\n\nThis will translate the client provided suggestedLatency from\r\nseconds to microseconds and pass them to Pulseaudio, so\r\nthe client has some control over required latency.\r\n\r\nInvalid (= negative) values get mapped to requesting minimum\r\nsupportable latency, ie. 0 milliseconds.\r\n\r\nThis replaces the previous hard-coded latency of ~2 msecs,\r\nwhich turned out to be too low on some tested mid-range\r\nsystems and caused audio buffer underruns and audio artifacts.\r\n\r\nSigned-off-by: Mario Kleiner ","shortMessageHtmlLink":"pulseaudio: Make use of suggestedLatency stream parameter. (#849)"}},{"before":"6c9e455887993e1c1cf8c83239bfb5b2fc84d521","after":"24c8d575e588d557d28f4011becb753421346860","ref":"refs/heads/master","pushedAt":"2023-10-06T23:02:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"wdmks: declare GUIDs with selectany attribute (#846)\n\n* wdmks: declare GUIDs with selectany attribute\r\n\r\nMatch the behavior of guiddef.h in both mingw and the Windows SDK headers. This prevents linking errors caused by multiply defined symbols when linking against certain Windows SDK libs (like dxguid.lib).\r\n\r\n* Make sure this works even if DECLSPEC_SELECTANY is not defined\r\n\r\n---------\r\n\r\nCo-authored-by: Ross Bencina ","shortMessageHtmlLink":"wdmks: declare GUIDs with selectany attribute (#846)"}},{"before":"ba3f91faf27508c534d5fe706894369c3f5b3322","after":"6c9e455887993e1c1cf8c83239bfb5b2fc84d521","ref":"refs/heads/master","pushedAt":"2023-10-06T22:31:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"Fix 'pulseaudioHostApi' use-after-free/null ptr deref in PaPulseAudio_Initialize (#847)\n\nThe call to PaPulseAudio_UnLock( pulseaudioHostApi->mainloop ) in error-label is performed on 'pulseaudioHostApi' after 'pulseaudioHostApi' has been freed by PaPulseAudio_Free and set to NULL.","shortMessageHtmlLink":"Fix 'pulseaudioHostApi' use-after-free/null ptr deref in PaPulseAudio…"}},{"before":"0dce0e9cf5c2235f04f2caeb2ca09db358cb8a6e","after":"ba3f91faf27508c534d5fe706894369c3f5b3322","ref":"refs/heads/master","pushedAt":"2023-09-30T17:12:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"philburk","name":"Phil Burk","path":"/philburk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5175913?s=80&v=4"},"commit":{"message":"pulseaudio: Move Pulseaudio include in correct place when using autoconf (#843)\n\nAs Jack and Pulseaudio both needs Ringbuffer that include can\r\nbe done in same place. In configure.in also Pulseaudio header\r\nfile was included before it was sure that it was really needed.\r\n\r\nCommit makes sure that Pulseaudio include is available only if\r\nit's needed as it can cause failing in build if Pulseaudio\r\ndeveloment files are not available.","shortMessageHtmlLink":"pulseaudio: Move Pulseaudio include in correct place when using autoc…"}},{"before":"67ead0a57ffacc3ac354fa54e4aac5df247fd531","after":"0dce0e9cf5c2235f04f2caeb2ca09db358cb8a6e","ref":"refs/heads/master","pushedAt":"2023-09-29T22:47:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RossBencina","name":"Ross Bencina","path":"/RossBencina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3253274?s=80&v=4"},"commit":{"message":"PulseAudio Portaudio HostAPI (#336)\n\nAdds support for PulseAudio API on Linux.\r\n\r\nFor more information about Pulseaudio visit: https://www.freedesktop.org/wiki/Software/PulseAudio/\r\n\r\n---------\r\n\r\nSigned-off-by: Mario Kleiner \r\nCo-authored-by: sqweek \r\nCo-authored-by: Daniel Schürmann \r\nCo-authored-by: Mooneer Salem \r\nCo-authored-by: Be \r\nCo-authored-by: Mario Kleiner ","shortMessageHtmlLink":"PulseAudio Portaudio HostAPI (#336)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEeCsBYgA","startCursor":null,"endCursor":null}},"title":"Activity · PortAudio/portaudio"}