Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Jan 2026 06:02:46 +0000
From:      Jason E. Hale <jhale@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: bc8496552885 - main - audio/openal-soft: Update to 1.25.1
Message-ID:  <69730f06.3ea00.3280b552@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by jhale:

URL: https://cgit.FreeBSD.org/ports/commit/?id=bc84965528859c911d585c7c04e63917b667ca9e

commit bc84965528859c911d585c7c04e63917b667ca9e
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2026-01-23 05:55:26 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2026-01-23 05:55:26 +0000

    audio/openal-soft: Update to 1.25.1
    
    https://github.com/kcat/openal-soft/releases/tag/1.25.1
---
 audio/openal-soft/Makefile                         |   3 +-
 audio/openal-soft/distinfo                         |   6 +-
 audio/openal-soft/files/patch-alc_backends_oss.cpp | 523 ---------------------
 3 files changed, 4 insertions(+), 528 deletions(-)

diff --git a/audio/openal-soft/Makefile b/audio/openal-soft/Makefile
index 8fd1b304d13f..dbab671cc79a 100644
--- a/audio/openal-soft/Makefile
+++ b/audio/openal-soft/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	openal-soft
-PORTVERSION=	1.25.0
-PORTREVISION=	1
+PORTVERSION=	1.25.1
 CATEGORIES=	audio
 MASTER_SITES=	https://openal-soft.org/openal-releases/
 
diff --git a/audio/openal-soft/distinfo b/audio/openal-soft/distinfo
index a38c45c7f411..290decb63d58 100644
--- a/audio/openal-soft/distinfo
+++ b/audio/openal-soft/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1766818253
-SHA256 (openal-soft-1.25.0.tar.bz2) = f671087c9043b1e92cd0b125af6f43663249d3c02bc6d580d774a47a91050e0e
-SIZE (openal-soft-1.25.0.tar.bz2) = 1111903
+TIMESTAMP = 1769146884
+SHA256 (openal-soft-1.25.1.tar.bz2) = 4c2aff6f81975f46ecc5148d092c4948c71dbfb76e4b9ba4bf1fce287f47d4b5
+SIZE (openal-soft-1.25.1.tar.bz2) = 1119330
diff --git a/audio/openal-soft/files/patch-alc_backends_oss.cpp b/audio/openal-soft/files/patch-alc_backends_oss.cpp
deleted file mode 100644
index 5be079686963..000000000000
--- a/audio/openal-soft/files/patch-alc_backends_oss.cpp
+++ /dev/null
@@ -1,523 +0,0 @@
-Backport upstream commits to fix build.
-
-https://github.com/kcat/openal-soft/commit/278d1dc4d607b84e4e7b2d93af094d7932588962
-https://github.com/kcat/openal-soft/commit/b93a15cc886cda8ce7626e84c637bdaf7c346773
-https://github.com/kcat/openal-soft/commit/5f0bf631d7d43f568f10065aae561c892c02d43e
-https://github.com/kcat/openal-soft/commit/78a2ddb791163ae0d603937c88613523d27fa22d
-
-https://github.com/kcat/openal-soft/issues/1215
-
---- alc/backends/oss.cpp.orig	2025-12-22 09:17:45 UTC
-+++ alc/backends/oss.cpp
-@@ -33,6 +33,7 @@
- #include <cerrno>
- #include <cstring>
- #include <exception>
-+#include <functional>
- #include <memory>
- #include <span>
- #include <string>
-@@ -65,12 +66,9 @@
- #define SOUND_MIXER_WRITE MIXER_WRITE
- #endif
- 
--#if defined(SOUND_VERSION) && (SOUND_VERSION < 0x040000)
-+#if (defined(SOUND_VERSION) && (SOUND_VERSION < 0x040000)) || !defined(SNDCTL_AUDIOINFO)
- #define ALC_OSS_COMPAT
- #endif
--#ifndef SNDCTL_AUDIOINFO
--#define ALC_OSS_COMPAT
--#endif
- 
- /*
-  * FreeBSD strongly discourages the use of specific devices,
-@@ -98,32 +96,28 @@ std::vector<DevMap> CaptureDevices;
- std::vector<DevMap> PlaybackDevices;
- std::vector<DevMap> CaptureDevices;
- 
--
--#ifdef ALC_OSS_COMPAT
--
--#define DSP_CAP_OUTPUT 0x00020000
--#define DSP_CAP_INPUT 0x00010000
--void ALCossListPopulate(std::vector<DevMap> &devlist, int type)
--{
--    devlist.emplace_back(std::string{GetDefaultName()},
--        (type==DSP_CAP_INPUT) ? DefaultCapture : DefaultPlayback);
--}
--
--#else
--
- class FileHandle {
-     int mFd{-1};
- 
- public:
-     FileHandle() = default;
-     FileHandle(const FileHandle&) = delete;
--    FileHandle& operator=(const FileHandle&) = delete;
-+    FileHandle(FileHandle&& rhs) noexcept : mFd{std::exchange(rhs.mFd, -1)} { }
-     ~FileHandle() { if(mFd != -1) ::close(mFd); }
- 
-+    auto operator=(const FileHandle&) -> FileHandle& = delete;
-+    auto operator=(FileHandle&& rhs) noexcept -> FileHandle&
-+    {
-+        close();
-+        mFd = std::exchange(rhs.mFd, -1);
-+        return *this;
-+    }
-+
-     template<typename ...Args>
--    [[nodiscard]] auto open(const char *fname, Args&& ...args) -> bool
-+    [[nodiscard]] auto open(gsl::czstring const fname, Args&& ...args) -> bool
-     {
-         close();
-+        /* NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg) */
-         mFd = ::open(fname, std::forward<Args>(args)...);
-         return mFd != -1;
-     }
-@@ -134,10 +128,35 @@ class FileHandle { (public)
-         mFd = -1;
-     }
- 
--    [[nodiscard]]
--    auto get() const noexcept -> int { return mFd; }
-+    template<typename ...Args>
-+    [[nodiscard]] auto ioctl(Args&& ...args) const
-+    {
-+        /* NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg) */
-+        return ::ioctl(mFd, std::forward<Args>(args)...);
-+    }
-+
-+    [[nodiscard]] auto read(std::span<std::byte> const bytes) const
-+    { return ::read(mFd, bytes.data(), bytes.size()); }
-+
-+    [[nodiscard]] auto write(std::span<std::byte const> const bytes) const
-+    { return ::write(mFd, bytes.data(), bytes.size()); }
-+
-+    [[nodiscard]] auto get() const noexcept -> int { return mFd; }
- };
- 
-+
-+#ifdef ALC_OSS_COMPAT
-+
-+#define DSP_CAP_OUTPUT 0x00020000
-+#define DSP_CAP_INPUT 0x00010000
-+void ALCossListPopulate(std::vector<DevMap> &devlist, int type)
-+{
-+    devlist.emplace_back(std::string{GetDefaultName()},
-+        (type==DSP_CAP_INPUT) ? DefaultCapture : DefaultPlayback);
-+}
-+
-+#else
-+
- void ALCossListAppend(std::vector<DevMap> &list, std::string_view handle, std::string_view path)
- {
- #ifdef ALC_OSS_DEVNODE_TRUC
-@@ -149,45 +168,63 @@ void ALCossListAppend(std::vector<DevMap> &list, std::
-             if(strncmp(path.data() + i, handle.data() + hoffset, path.size() - i) == 0)
-                 handle = handle.substr(0, hoffset);
-             path = path.substr(0, i);
-+            break;
-         }
-     }
- #endif
--    if(handle.empty())
--        handle = path;
-+    if(path.empty())
-+        return;
- 
-     if(std::ranges::find(list, path, &DevMap::device_name) != list.end())
-         return;
- 
-+    if(handle.empty())
-+        handle = path;
-+
-     auto count = 1;
-     auto newname = std::string{handle};
-     while(std::ranges::find(list, newname, &DevMap::name) != list.end())
-         newname = al::format("{} #{}", handle, ++count);
- 
--    const auto &entry = list.emplace_back(std::move(newname), path);
--    TRACE("Got device \"{}\", \"{}\"", entry.name, entry.device_name);
-+    const auto &entry = list.emplace_back(std::move(newname), std::string{path});
-+    TRACE(R"(Got device "{}", "{}")", entry.name, entry.device_name);
- }
- 
--void ALCossListPopulate(std::vector<DevMap> &devlist, int type_flag)
-+void ALCossListPopulate(std::vector<DevMap> &devlist, int const type_flag)
- {
-+    /* Make sure to move the default device to the start of the devlist (or
-+     * adding the default if it doesn't exist) before returning.
-+     */
-+    auto _ = gsl::finally([&devlist, type_flag]
-+    {
-+        auto const &defdev = (type_flag == DSP_CAP_INPUT) ? DefaultCapture : DefaultPlayback;
-+        if(auto const iter = std::ranges::find(devlist, defdev, &DevMap::device_name);
-+            iter != devlist.end())
-+            std::ranges::rotate(devlist.begin(), iter, iter+1);
-+        else
-+            devlist.insert(devlist.begin(), DevMap{std::string{GetDefaultName()}, defdev});
-+        devlist.shrink_to_fit();
-+    });
-+
-     auto si = oss_sysinfo{};
-     auto file = FileHandle{};
-     if(!file.open("/dev/mixer", O_RDONLY))
-     {
-         TRACE("Could not open /dev/mixer: {}", std::generic_category().message(errno));
--        goto done;
-+        return;
-     }
- 
--    if(ioctl(file.get(), SNDCTL_SYSINFO, &si) == -1)
-+    if(file.ioctl(SNDCTL_SYSINFO, &si) == -1)
-     {
-         TRACE("SNDCTL_SYSINFO failed: {}", std::generic_category().message(errno));
--        goto done;
-+        return;
-     }
- 
--    for(int i{0};i < si.numaudios;i++)
-+    for(auto const i : std::views::iota(0, si.numaudios))
-     {
--        oss_audioinfo ai{};
-+        auto ai = oss_audioinfo{};
-         ai.dev = i;
--        if(ioctl(file.get(), SNDCTL_AUDIOINFO, &ai) == -1)
-+        if(file.ioctl(SNDCTL_AUDIOINFO, &ai) == -1)
-         {
-             ERR("SNDCTL_AUDIOINFO ({}) failed: {}", i, std::generic_category().message(errno));
-             continue;
-@@ -195,30 +232,17 @@ void ALCossListPopulate(std::vector<DevMap> &devlist, 
-         if(!(ai.caps&type_flag) || ai.devnode[0] == '\0')
-             continue;
- 
--        std::string_view handle;
--        if(ai.handle[0] != '\0')
--            handle = {ai.handle, strnlen(ai.handle, sizeof(ai.handle))};
--        else
--            handle = {ai.name, strnlen(ai.name, sizeof(ai.name))};
--        const std::string_view devnode{ai.devnode, strnlen(ai.devnode, sizeof(ai.devnode))};
-+        auto const handle = std::invoke([&ai]() -> std::string_view
-+        {
-+            if(ai.handle[0] != '\0')
-+                return {std::data(ai.handle), strnlen(std::data(ai.handle), std::size(ai.handle))};
-+            return {std::data(ai.name), strnlen(std::data(ai.name), std::size(ai.name))};
-+        });
-+        auto const devnode = std::string_view{std::data(ai.devnode),
-+            strnlen(std::data(ai.devnode), std::size(ai.devnode))};
- 
-         ALCossListAppend(devlist, handle, devnode);
-     }
--
--done:
--    file.close();
--
--    const char *defdev{((type_flag==DSP_CAP_INPUT) ? DefaultCapture : DefaultPlayback).c_str()};
--    auto iter = std::ranges::find(devlist, defdev, &DevMap::device_name);
--    if(iter == devlist.end())
--        devlist.insert(devlist.begin(), DevMap{GetDefaultName(), defdev});
--    else
--    {
--        auto entry = DevMap{std::move(*iter)};
--        devlist.erase(iter);
--        devlist.insert(devlist.begin(), std::move(entry));
--    }
--    devlist.shrink_to_fit();
- }
- 
- #endif
-@@ -247,7 +271,7 @@ struct OSSPlayback final : BackendBase {
-     void start() override;
-     void stop() override;
- 
--    int mFd{-1};
-+    FileHandle mFd;
- 
-     std::vector<std::byte> mMixData;
- 
-@@ -255,12 +279,7 @@ struct OSSPlayback final : BackendBase {
-     std::thread mThread;
- };
- 
--OSSPlayback::~OSSPlayback()
--{
--    if(mFd != -1)
--        ::close(mFd);
--    mFd = -1;
--}
-+OSSPlayback::~OSSPlayback() = default;
- 
- 
- void OSSPlayback::mixerProc()
-@@ -275,7 +294,7 @@ void OSSPlayback::mixerProc()
-         && mDevice->Connected.load(std::memory_order_acquire))
-     {
-         auto pollitem = pollfd{};
--        pollitem.fd = mFd;
-+        pollitem.fd = mFd.get();
-         pollitem.events = POLLOUT;
- 
-         if(const auto pret = poll(&pollitem, 1, 1000); pret < 0)
-@@ -298,7 +317,7 @@ void OSSPlayback::mixerProc()
-             gsl::narrow_cast<u32>(write_buf.size()/frame_size), frame_step);
-         while(!write_buf.empty() && !mKillNow.load(std::memory_order_acquire))
-         {
--            const auto wrote = write(mFd, write_buf.data(), write_buf.size());
-+            const auto wrote = mFd.write(write_buf);
-             if(wrote < 0)
-             {
-                 if(errno == EAGAIN || errno == EWOULDBLOCK || errno == EINTR)
-@@ -332,15 +351,10 @@ void OSSPlayback::open(std::string_view name)
-         devname = iter->device_name.c_str();
-     }
- 
--    const auto fd = ::open(devname, O_WRONLY); /* NOLINT(cppcoreguidelines-pro-type-vararg) */
--    if(fd == -1)
-+    if(not mFd.open(devname, O_WRONLY))
-         throw al::backend_exception{al::backend_error::NoDevice, "Could not open {}: {}", devname,
-             std::generic_category().message(errno)};
- 
--    if(mFd != -1)
--        ::close(mFd);
--    mFd = fd;
--
-     mDeviceName = name;
- }
- 
-@@ -349,21 +363,21 @@ auto OSSPlayback::reset() -> bool
-     auto ossFormat = int{};
-     switch(mDevice->FmtType)
-     {
--        case DevFmtByte:
--            ossFormat = AFMT_S8;
--            break;
--        case DevFmtUByte:
--            ossFormat = AFMT_U8;
--            break;
--        case DevFmtUShort:
--        case DevFmtInt:
--        case DevFmtUInt:
--        case DevFmtFloat:
--            mDevice->FmtType = DevFmtShort;
--            [[fallthrough]];
--        case DevFmtShort:
--            ossFormat = AFMT_S16_NE;
--            break;
-+    case DevFmtByte:
-+        ossFormat = AFMT_S8;
-+        break;
-+    case DevFmtUByte:
-+        ossFormat = AFMT_U8;
-+        break;
-+    case DevFmtUShort:
-+    case DevFmtInt:
-+    case DevFmtUInt:
-+    case DevFmtFloat:
-+        mDevice->FmtType = DevFmtShort;
-+        [[fallthrough]];
-+    case DevFmtShort:
-+        ossFormat = AFMT_S16_NE;
-+        break;
-     }
- 
-     auto numChannels = mDevice->channelsFromFmt();
-@@ -373,22 +387,20 @@ auto OSSPlayback::reset() -> bool
-     auto numFragmentsLogSize = ((mDevice->mBufferSize + mDevice->mUpdateSize/2)
-         / mDevice->mUpdateSize) << 16u;
-     /* According to the OSS spec, 16 bytes is the minimum period size. */
--    numFragmentsLogSize |= std::max(log2i(mDevice->mUpdateSize * frameSize), 4u);
-+    numFragmentsLogSize |= std::max(log2i(mDevice->mUpdateSize * frameSize), 4_u32);
- 
-     auto info = audio_buf_info{};
- #define CHECKERR(func) if((func) < 0)                                         \
-     throw al::backend_exception{al::backend_error::DeviceError, #func " failed: {}", \
-         std::generic_category().message(errno)};
--
--    /* NOLINTBEGIN(cppcoreguidelines-pro-type-vararg) */
-     /* Don't fail if SETFRAGMENT fails. We can handle just about anything
--     * that's reported back via GETOSPACE */
--    ioctl(mFd, SNDCTL_DSP_SETFRAGMENT, &numFragmentsLogSize);
--    CHECKERR(ioctl(mFd, SNDCTL_DSP_SETFMT, &ossFormat));
--    CHECKERR(ioctl(mFd, SNDCTL_DSP_CHANNELS, &numChannels));
--    CHECKERR(ioctl(mFd, SNDCTL_DSP_SPEED, &ossSpeed));
--    CHECKERR(ioctl(mFd, SNDCTL_DSP_GETOSPACE, &info));
--    /* NOLINTEND(cppcoreguidelines-pro-type-vararg) */
-+     * that's reported back via GETOSPACE.
-+     */
-+    std::ignore = mFd.ioctl(SNDCTL_DSP_SETFRAGMENT, &numFragmentsLogSize);
-+    CHECKERR(mFd.ioctl(SNDCTL_DSP_SETFMT, &ossFormat));
-+    CHECKERR(mFd.ioctl(SNDCTL_DSP_CHANNELS, &numChannels));
-+    CHECKERR(mFd.ioctl(SNDCTL_DSP_SPEED, &ossSpeed));
-+    CHECKERR(mFd.ioctl(SNDCTL_DSP_GETOSPACE, &info));
- #undef CHECKERR
- 
-     if(mDevice->channelsFromFmt() != numChannels)
-@@ -436,14 +448,14 @@ void OSSPlayback::stop()
-         return;
-     mThread.join();
- 
--    if(ioctl(mFd, SNDCTL_DSP_RESET) != 0) /* NOLINT(cppcoreguidelines-pro-type-vararg) */
-+    if(mFd.ioctl(SNDCTL_DSP_RESET) != 0)
-         ERR("Error resetting device: {}", std::generic_category().message(errno));
- }
- 
- 
--struct OSScapture final : public BackendBase {
--    explicit OSScapture(gsl::not_null<DeviceBase*> device) noexcept : BackendBase{device} { }
--    ~OSScapture() override;
-+struct OSSCapture final : BackendBase {
-+    explicit OSSCapture(gsl::not_null<DeviceBase*> const device) noexcept : BackendBase{device} { }
-+    ~OSSCapture() override;
- 
-     void recordProc() const;
- 
-@@ -453,7 +465,7 @@ struct OSScapture final : public BackendBase {
-     void captureSamples(std::span<std::byte> outbuffer) override;
-     auto availableSamples() -> usize override;
- 
--    int mFd{-1};
-+    FileHandle mFd;
- 
-     RingBufferPtr<std::byte> mRing;
- 
-@@ -461,15 +473,10 @@ struct OSScapture final : public BackendBase {
-     std::thread mThread;
- };
- 
--OSScapture::~OSScapture()
--{
--    if(mFd != -1)
--        close(mFd);
--    mFd = -1;
--}
-+OSSCapture::~OSSCapture() = default;
- 
- 
--void OSScapture::recordProc() const
-+void OSSCapture::recordProc() const
- {
-     SetRTPriority();
-     althrd_setname(GetRecordThreadName());
-@@ -478,7 +485,7 @@ void OSScapture::recordProc() const
-     while(!mKillNow.load(std::memory_order_acquire))
-     {
-         auto pollitem = pollfd{};
--        pollitem.fd = mFd;
-+        pollitem.fd = mFd.get();
-         pollitem.events = POLLIN;
- 
-         if(auto const pret = poll(&pollitem, 1, 1000); pret < 0)
-@@ -496,10 +503,9 @@ void OSScapture::recordProc() const
-             continue;
-         }
- 
--        auto vec = mRing->getWriteVector();
--        if(!vec[0].empty())
-+        if(auto const vec = mRing->getWriteVector(); !vec[0].empty())
-         {
--            auto amt = read(mFd, vec[0].data(), vec[0].size());
-+            auto const amt = mFd.read(vec[0]);
-             if(amt < 0)
-             {
-                 auto const errstr = std::generic_category().message(errno);
-@@ -513,7 +519,7 @@ void OSScapture::recordProc() const
- }
- 
- 
--void OSScapture::open(std::string_view name)
-+void OSSCapture::open(std::string_view name)
- {
-     auto *devname = DefaultCapture.c_str();
-     if(name.empty())
-@@ -523,15 +529,14 @@ void OSScapture::open(std::string_view name)
-         if(CaptureDevices.empty())
-             ALCossListPopulate(CaptureDevices, DSP_CAP_INPUT);
- 
--        auto iter = std::ranges::find(CaptureDevices, name, &DevMap::name);
-+        auto const iter = std::ranges::find(CaptureDevices, name, &DevMap::name);
-         if(iter == CaptureDevices.end())
-             throw al::backend_exception{al::backend_error::NoDevice,
-                 "Device name \"{}\" not found", name};
-         devname = iter->device_name.c_str();
-     }
- 
--    mFd = ::open(devname, O_RDONLY); /* NOLINT(cppcoreguidelines-pro-type-vararg) */
--    if(mFd == -1)
-+    if(not mFd.open(devname, O_RDONLY))
-         throw al::backend_exception{al::backend_error::NoDevice, "Could not open {}: {}", devname,
-             std::generic_category().message(errno)};
- 
-@@ -568,13 +573,11 @@ void OSScapture::open(std::string_view name)
-     throw al::backend_exception{al::backend_error::DeviceError, #func " failed: {}", \
-         std::generic_category().message(errno)};                              \
- }
--    /* NOLINTBEGIN(cppcoreguidelines-pro-type-vararg) */
--    CHECKERR(ioctl(mFd, SNDCTL_DSP_SETFRAGMENT, &numFragmentsLogSize));
--    CHECKERR(ioctl(mFd, SNDCTL_DSP_SETFMT, &ossFormat));
--    CHECKERR(ioctl(mFd, SNDCTL_DSP_CHANNELS, &numChannels));
--    CHECKERR(ioctl(mFd, SNDCTL_DSP_SPEED, &ossSpeed));
--    CHECKERR(ioctl(mFd, SNDCTL_DSP_GETISPACE, &info));
--    /* NOLINTEND(cppcoreguidelines-pro-type-vararg) */
-+    CHECKERR(mFd.ioctl(SNDCTL_DSP_SETFRAGMENT, &numFragmentsLogSize));
-+    CHECKERR(mFd.ioctl(SNDCTL_DSP_SETFMT, &ossFormat));
-+    CHECKERR(mFd.ioctl(SNDCTL_DSP_CHANNELS, &numChannels));
-+    CHECKERR(mFd.ioctl(SNDCTL_DSP_SPEED, &ossSpeed));
-+    CHECKERR(mFd.ioctl(SNDCTL_DSP_GETISPACE, &info));
- #undef CHECKERR
- 
-     if(mDevice->channelsFromFmt() != numChannels)
-@@ -594,11 +597,11 @@ void OSScapture::open(std::string_view name)
-     mDeviceName = name;
- }
- 
--void OSScapture::start()
-+void OSSCapture::start()
- {
-     try {
-         mKillNow.store(false, std::memory_order_release);
--        mThread = std::thread{&OSScapture::recordProc, this};
-+        mThread = std::thread{&OSSCapture::recordProc, this};
-     }
-     catch(std::exception& e) {
-         throw al::backend_exception{al::backend_error::DeviceError,
-@@ -606,20 +609,20 @@ void OSScapture::start()
-     }
- }
- 
--void OSScapture::stop()
-+void OSSCapture::stop()
- {
-     if(mKillNow.exchange(true, std::memory_order_acq_rel) || !mThread.joinable())
-         return;
-     mThread.join();
- 
--    if(ioctl(mFd, SNDCTL_DSP_RESET) != 0) /* NOLINT(cppcoreguidelines-pro-type-vararg) */
-+    if(mFd.ioctl(SNDCTL_DSP_RESET) != 0)
-         ERR("Error resetting device: {}", std::generic_category().message(errno));
- }
- 
--void OSScapture::captureSamples(std::span<std::byte> outbuffer)
-+void OSSCapture::captureSamples(std::span<std::byte> outbuffer)
- { std::ignore = mRing->read(outbuffer); }
- 
--auto OSScapture::availableSamples() -> usize
-+auto OSSCapture::availableSamples() -> usize
- { return mRing->readSpace(); }
- 
- } // namespace
-@@ -672,12 +675,12 @@ auto OSSBackendFactory::createBackend(gsl::not_null<De
-     if(type == BackendType::Playback)
-         return BackendPtr{new OSSPlayback{device}};
-     if(type == BackendType::Capture)
--        return BackendPtr{new OSScapture{device}};
-+        return BackendPtr{new OSSCapture{device}};
-     return nullptr;
- }
- 
- auto OSSBackendFactory::getFactory() -> BackendFactory&
- {
--    static OSSBackendFactory factory{};
-+    static auto factory = OSSBackendFactory{};
-     return factory;
- }


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69730f06.3ea00.3280b552>