From 14c1b5a7405477c396a3829541b4c833d0327662 Mon Sep 17 00:00:00 2001 From: Guido Falsi Date: Sun, 14 Mar 2021 21:44:13 +0000 Subject: Add patch to fix OSS audio to virtualbox-ose-legacy PR: 237472 Submitted by: Martin Birgmeier --- emulators/virtualbox-ose-legacy/Makefile | 2 +- ...atch-src_VBox_Devices_Audio_DrvHostOSSAudio.cpp | 32 ++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 emulators/virtualbox-ose-legacy/files/patch-src_VBox_Devices_Audio_DrvHostOSSAudio.cpp (limited to 'emulators') diff --git a/emulators/virtualbox-ose-legacy/Makefile b/emulators/virtualbox-ose-legacy/Makefile index 7cb730424fbe..e9e4606497ff 100644 --- a/emulators/virtualbox-ose-legacy/Makefile +++ b/emulators/virtualbox-ose-legacy/Makefile @@ -3,7 +3,7 @@ PORTNAME= virtualbox-ose PORTVERSION= 5.2.44 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= emulators MASTER_SITES= https://download.oracle.com/virtualbox/${PORTVERSION}/ PKGNAMESUFFIX?= -legacy diff --git a/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Devices_Audio_DrvHostOSSAudio.cpp b/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Devices_Audio_DrvHostOSSAudio.cpp new file mode 100644 index 000000000000..732fb51d35e3 --- /dev/null +++ b/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Devices_Audio_DrvHostOSSAudio.cpp @@ -0,0 +1,32 @@ +--- src/VBox/Devices/Audio/DrvHostOSSAudio.cpp.orig 2020-07-09 16:52:47 UTC ++++ src/VBox/Devices/Audio/DrvHostOSSAudio.cpp +@@ -248,11 +248,11 @@ static int ossStreamOpen(const char *pszDev, int fOpen + break; + + default: +- rc = VERR_AUDIO_STREAM_COULD_NOT_CREATE; ++ iFormat = -1; + break; + } + +- if (RT_FAILURE(rc)) ++ if (RT_UNLIKELY(iFormat == -1)) + break; + + if (ioctl(hFile, SNDCTL_DSP_SAMPLESIZE, &iFormat)) +@@ -660,6 +660,7 @@ static int ossCreateStreamIn(POSSAUDIOSTREAM pStreamOS + + pCfgAcq->Backend.cfPeriod = PDMAUDIOSTREAMCFG_B2F(pCfgAcq, ossAcq.cbFragmentSize); + pCfgAcq->Backend.cfBufferSize = pCfgAcq->Backend.cfPeriod * 2; /* Use "double buffering". */ ++ pCfgAcq->Backend.cfPreBuf = pCfgAcq->Backend.cfBufferSize; + /** @todo Pre-buffering required? */ + } + } +@@ -778,6 +779,7 @@ static int ossCreateStreamOut(POSSAUDIOSTREAM pStreamO + #endif + pCfgAcq->Backend.cfPeriod = PDMAUDIOSTREAMCFG_B2F(pCfgAcq, obtStream.cbFragmentSize); + pCfgAcq->Backend.cfBufferSize = pCfgAcq->Backend.cfPeriod * 2; /* Use "double buffering" */ ++ pCfgAcq->Backend.cfPreBuf = pCfgAcq->Backend.cfBufferSize; + } + + } while (0); -- cgit v1.2.3