Changeset 69857 in vbox for trunk/src/VBox/Devices/Audio
- Timestamp:
- Nov 28, 2017 10:16:51 AM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 119300
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Audio/DrvHostALSAAudio.cpp
r69119 r69857 956 956 957 957 958 static int drvHostALSAAudioStreamCtl( snd_pcm_t *phPCM, bool fPause)958 static int drvHostALSAAudioStreamCtl(PALSAAUDIOSTREAM pStreamALSA, bool fPause) 959 959 { 960 960 int rc = VINF_SUCCESS; 961 962 const bool fInput = pStreamALSA->pCfg->enmDir == PDMAUDIODIR_IN; 961 963 962 964 int err; 963 965 if (fPause) 964 966 { 965 err = snd_pcm_drop(p hPCM);966 if (err < 0) 967 { 968 LogRel(("ALSA: Error stopping stream %p: %s\n", phPCM, snd_strerror(err)));967 err = snd_pcm_drop(pStreamALSA->phPCM); 968 if (err < 0) 969 { 970 LogRel(("ALSA: Error stopping %s stream: %s\n", fInput ? "input" : "output", snd_strerror(err))); 969 971 rc = VERR_ACCESS_DENIED; /** @todo Find a better rc. */ 970 972 } … … 972 974 else 973 975 { 974 err = snd_pcm_prepare(p hPCM);975 if (err < 0) 976 { 977 LogRel(("ALSA: Error preparing stream %p: %s\n", phPCM, snd_strerror(err)));976 err = snd_pcm_prepare(pStreamALSA->phPCM); 977 if (err < 0) 978 { 979 LogRel(("ALSA: Error preparing %s stream: %s\n", fInput ? "input" : "output", snd_strerror(err))); 978 980 rc = VERR_ACCESS_DENIED; /** @todo Find a better rc. */ 979 981 } 980 982 else 981 983 { 982 err = snd_pcm_start(phPCM); 983 if (err < 0) 984 Assert(snd_pcm_state(pStreamALSA->phPCM) == SND_PCM_STATE_PREPARED); 985 986 if (fInput) /* Only start the PCM stream for input streams. */ 984 987 { 985 LogRel(("ALSA: Error starting stream %p: %s\n", phPCM, snd_strerror(err))); 986 rc = VERR_ACCESS_DENIED; /** @todo Find a better rc. */ 988 err = snd_pcm_start(pStreamALSA->phPCM); 989 if (err < 0) 990 { 991 LogRel(("ALSA: Error starting input stream: %s\n", snd_strerror(err))); 992 rc = VERR_ACCESS_DENIED; /** @todo Find a better rc. */ 993 } 987 994 } 988 995 } … … 1422 1429 case PDMAUDIOSTREAMCMD_ENABLE: 1423 1430 case PDMAUDIOSTREAMCMD_RESUME: 1424 rc = drvHostALSAAudioStreamCtl(pStreamALSA ->phPCM, false /* fStop */);1431 rc = drvHostALSAAudioStreamCtl(pStreamALSA, false /* fStop */); 1425 1432 break; 1426 1433 1427 1434 case PDMAUDIOSTREAMCMD_DISABLE: 1428 1435 case PDMAUDIOSTREAMCMD_PAUSE: 1429 rc = drvHostALSAAudioStreamCtl(pStreamALSA ->phPCM, true /* fStop */);1436 rc = drvHostALSAAudioStreamCtl(pStreamALSA, true /* fStop */); 1430 1437 break; 1431 1438 … … 1447 1454 case PDMAUDIOSTREAMCMD_ENABLE: 1448 1455 case PDMAUDIOSTREAMCMD_RESUME: 1449 rc = drvHostALSAAudioStreamCtl(pStreamALSA ->phPCM, false /* fStop */);1456 rc = drvHostALSAAudioStreamCtl(pStreamALSA, false /* fStop */); 1450 1457 break; 1451 1458 1452 1459 case PDMAUDIOSTREAMCMD_DISABLE: 1453 1460 case PDMAUDIOSTREAMCMD_PAUSE: 1454 rc = drvHostALSAAudioStreamCtl(pStreamALSA ->phPCM, true /* fStop */);1461 rc = drvHostALSAAudioStreamCtl(pStreamALSA, true /* fStop */); 1455 1462 break; 1456 1463
Note:
See TracChangeset
for help on using the changeset viewer.