VirtualBox

Ignore:
Timestamp:
Dec 12, 2014 1:46:29 PM (10 years ago)
Author:
vboxsync
Message:

PDM/Audio: Add ALSA backend (work in progress).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Audio/DrvHostOSSAudio.cpp

    r53511 r53523  
    6868{
    6969    /** Note: Always must come first! */
    70     PDMAUDIOHSTSTRMIN  hw;
     70    PDMAUDIOHSTSTRMIN  pStreamIn;
    7171    int                hFile;
    7272    int                cFragments;
     
    7979{
    8080    /** Note: Always must come first! */
    81     PDMAUDIOHSTSTRMOUT  hw;
     81    PDMAUDIOHSTSTRMOUT  pStreamOut;
    8282    int                 hFile;
    8383    int                 cFragments;
     
    204204}
    205205
    206 static void drvHostOSSAudioClose(int *phFile)
    207 {
    208     if (!phFile)
    209         return;
    210 
    211     if (*phFile)
    212     {
    213         if (close(*phFile))
    214             LogRel(("Audio: Closing descriptor failed: %s\n",
    215                     strerror(errno)));
    216         else
    217             *phFile = -1;
     206static int drvHostOSSAudioClose(int *phFile)
     207{
     208    if (!phFile || !*phFile)
     209        return VINF_SUCCESS;
     210
     211    int rc;
     212    if (close(*phFile))
     213    {
     214        LogRel(("Audio: Closing descriptor failed: %s\n",
     215                strerror(errno)));
     216        rc = VERR_GENERAL_FAILURE; /** @todo */
    218217    }
     218    else
     219    {
     220        *phFile = -1;
     221        rc = VINF_SUCCESS;
     222    }
     223
     224    return rc;
    219225}
    220226
     
    232238    do
    233239    {
    234         const char *pszDSP = fIn ? s_OSSConf.devpath_in : s_OSSConf.devpath_out;
    235         if (!pszDSP)
    236         {
    237             LogRel(("Audio: Invalid or no %s DSP set\n",
     240        const char *pszDev = fIn ? s_OSSConf.devpath_in : s_OSSConf.devpath_out;
     241        if (!pszDev)
     242        {
     243            LogRel(("Audio: Invalid or no %s device name set\n",
    238244                    fIn ? "input" : "output"));
    239245            rc = VERR_INVALID_PARAMETER;
     
    241247        }
    242248
    243         hFile = open(pszDSP, (fIn ? O_RDONLY : O_WRONLY) | O_NONBLOCK);
    244         if (!hFile)
    245         {
    246             LogRel(("Audio: Failed to open %s: %s\n", pszDSP, strerror(errno)));
     249        hFile = open(pszDev, (fIn ? O_RDONLY : O_WRONLY) | O_NONBLOCK);
     250        if (hFile == -1)
     251        {
     252            LogRel(("Audio: Failed to open %s: %s\n", pszDev, strerror(errno)));
    247253            rc = RTErrConvertFromErrno(errno);
    248254            break;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette