Changeset 88991 in vbox for trunk/src/VBox/Devices/Audio/DrvHostAudioAlsa.cpp
- Timestamp:
- May 12, 2021 12:46:35 AM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 144329
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Audio/DrvHostAudioAlsa.cpp
r88966 r88991 56 56 #include <alsa/asoundlib.h> 57 57 #include <alsa/control.h> /* For device enumeration. */ 58 #include <alsa/version.h> 58 59 #include "DrvHostAudioAlsaStubs.h" 59 60 … … 1125 1126 { 1126 1127 RT_NOREF(pInterface); 1127 AssertPtrReturn(pStream, PDMHOSTAUDIOSTREAMSTATE_INVALID); 1128 1129 return PDMHOSTAUDIOSTREAMSTATE_OKAY; 1128 PALSAAUDIOSTREAM pStreamALSA = (PALSAAUDIOSTREAM)pStream; 1129 AssertPtrReturn(pStreamALSA, PDMHOSTAUDIOSTREAMSTATE_INVALID); 1130 1131 PDMHOSTAUDIOSTREAMSTATE enmStreamState = PDMHOSTAUDIOSTREAMSTATE_OKAY; 1132 snd_pcm_state_t enmAlsaState = snd_pcm_state(pStreamALSA->hPCM); 1133 if (enmAlsaState == SND_PCM_STATE_DRAINING) 1134 enmStreamState = PDMHOSTAUDIOSTREAMSTATE_DRAINING; 1135 #if (((SND_LIB_MAJOR) << 16) | ((SND_LIB_MAJOR) << 8) | (SND_LIB_SUBMINOR)) >= 0x10002 /* was added in 1.0.2 */ 1136 else if (enmAlsaState == SND_PCM_STATE_DISCONNECTED) 1137 enmStreamState = PDMHOSTAUDIOSTREAMSTATE_NOT_WORKING; 1138 #endif 1139 1140 Log5Func(("Stream '%s': ALSA state=%s -> %s\n", 1141 pStreamALSA->Cfg.szName, snd_pcm_state_name(enmAlsaState), PDMHostAudioStreamStateGetName(enmStreamState) )); 1142 return enmStreamState; 1130 1143 } 1131 1144 … … 1274 1287 AssertPtrReturn(pInterface, VERR_INVALID_POINTER); 1275 1288 AssertPtrReturn(pStream, VERR_INVALID_POINTER); 1276 AssertPtrReturn(pvBuf, VERR_INVALID_POINTER);1277 AssertReturn(cbBuf, VERR_INVALID_PARAMETER);1278 1289 AssertPtrReturn(pcbWritten, VERR_INVALID_POINTER); 1279 1290 Log4Func(("@%#RX64: pvBuf=%p cbBuf=%#x (%u) state=%s - %s\n", pStreamALSA->offInternal, pvBuf, cbBuf, cbBuf, 1280 1291 snd_pcm_state_name(snd_pcm_state(pStreamALSA->hPCM)), pStreamALSA->Cfg.szName)); 1292 if (cbBuf) 1293 AssertPtrReturn(pvBuf, VERR_INVALID_POINTER); 1294 else 1295 { 1296 /* Fend off draining calls. */ 1297 *pcbWritten = 0; 1298 return VINF_SUCCESS; 1299 } 1281 1300 1282 1301 /*
Note:
See TracChangeset
for help on using the changeset viewer.