VirtualBox

儲存庫 vbox 的更動 6056


忽略:
時間撮記:
2007-12-12 下午10:58:26 (17 年 以前)
作者:
vboxsync
訊息:

first version of a PulseAudio driver backend for Linux (still no pcm_in)

位置:
trunk
檔案:
修改 15 筆資料

圖例:

未更動
新增
刪除
  • trunk/Config.kmk

    r6049 r6056  
    218218# Enable ALSA support for Linux
    219219VBOX_WITH_ALSA = 1
     220# Enable Pulse support for Linux
     221VBOX_WITH_PULSE = 1
    220222# Disable WINMM support for Windows (not implemented)
    221223VBOX_WITH_WINMM =
  • trunk/src/VBox/Devices/Audio/alsaaudio.c

    r5077 r6056  
    179179        return SND_PCM_FORMAT_U16_LE;
    180180
     181    case AUD_FMT_S32:
     182        return SND_PCM_FORMAT_S32_LE;
     183
     184    case AUD_FMT_U32:
     185        return SND_PCM_FORMAT_U32_LE;
     186
    181187    default:
    182188        dolog ("Internal logic error: Bad audio format %d\n", fmt);
     
    219225        *endianness = 1;
    220226        *fmt = AUD_FMT_U16;
     227        break;
     228
     229    case SND_PCM_FORMAT_S32_LE:
     230        *endianness = 0;
     231        *fmt = AUD_FMT_S32;
     232        break;
     233
     234    case SND_PCM_FORMAT_U32_LE:
     235        *endianness = 0;
     236        *fmt = AUD_FMT_U32;
     237        break;
     238
     239    case SND_PCM_FORMAT_S32_BE:
     240        *endianness = 1;
     241        *fmt = AUD_FMT_S32;
     242        break;
     243
     244    case SND_PCM_FORMAT_U32_BE:
     245        *endianness = 1;
     246        *fmt = AUD_FMT_U32;
    221247        break;
    222248
  • trunk/src/VBox/Devices/Audio/audio.c

    r5754 r6056  
    6868    &alsa_audio_driver,
    6969#endif
     70#ifdef VBOX_WITH_PULSE
     71    &pulse_audio_driver,
     72#endif
    7073#endif
    7174#ifdef RT_OS_DARWIN
     
    258261        return "U16";
    259262
     263    case AUD_FMT_U32:
     264        return "U32";
     265
    260266    case AUD_FMT_S8:
    261267        return "S8";
     
    263269    case AUD_FMT_S16:
    264270        return "S16";
     271
     272    case AUD_FMT_S32:
     273        return "S32";
    265274    }
    266275
     
    280289        return AUD_FMT_U16;
    281290    }
     291    else if (!strcasecmp (s, "u32")) {
     292        *defaultp = 0;
     293        return AUD_FMT_U32;
     294    }
    282295    else if (!strcasecmp (s, "s8")) {
    283296        *defaultp = 0;
     
    287300        *defaultp = 0;
    288301        return AUD_FMT_S16;
     302    }
     303    else if (!strcasecmp (s, "s32")) {
     304        *defaultp = 0;
     305        return AUD_FMT_S32;
    289306    }
    290307    else {
     
    498515    case AUD_FMT_S16:
    499516    case AUD_FMT_U16:
     517    case AUD_FMT_S32:
     518    case AUD_FMT_U32:
    500519        break;
    501520    default:
     
    523542        bits = 16;
    524543        break;
     544
     545    case AUD_FMT_S32:
     546        sign = 1;
     547    case AUD_FMT_U32:
     548        bits = 32;
     549        break;
    525550    }
    526551    return info->freq == as->freq
     
    545570    case AUD_FMT_U16:
    546571        bits = 16;
     572        break;
     573
     574    case AUD_FMT_S32:
     575        sign = 1;
     576    case AUD_FMT_U32:
     577        bits = 32;
    547578        break;
    548579    }
  • trunk/src/VBox/Devices/Audio/audio.h

    r5076 r6056  
    3939    AUD_FMT_S8,
    4040    AUD_FMT_U16,
    41     AUD_FMT_S16
     41    AUD_FMT_S16,
     42    AUD_FMT_U32,
     43    AUD_FMT_S32
    4244} audfmt_e;
    4345
  • trunk/src/VBox/Devices/Audio/audio_int.h

    r5754 r6056  
    213213extern struct audio_driver fmod_audio_driver;
    214214extern struct audio_driver alsa_audio_driver;
     215extern struct audio_driver pulse_audio_driver;
    215216extern struct audio_driver coreaudio_audio_driver;
    216217extern struct audio_driver dsound_audio_driver;
  • trunk/src/VBox/Devices/Makefile.kmk

    r5999 r6056  
    598598endif
    599599
     600ifdef VBOX_WITH_PULSE
     601 Drivers_DEFS.linux   += VBOX_WITH_PULSE
     602 Drivers_SOURCES.linux+= \
     603        Audio/pulseaudio.c
     604 VBoxDD_LIBS.linux    += pulse
     605endif
     606
    600607ifdef VBOX_WITH_USB
    601608 Drivers_DEFS         += VBOX_WITH_USB IN_USB_R3
  • trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk

    r5999 r6056  
    241241 VirtualBox_DEFS         += VBOX_WITH_ALSA
    242242endif
     243ifdef VBOX_WITH_PULSE
     244 VirtualBox_DEFS         += VBOX_WITH_PULSE
     245endif
    243246ifdef VBOX_OSE
    244247 VirtualBox_DEFS         += VBOX_OSE
  • trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobal.cpp

    r5999 r6056  
    21812181    audioDriverTypes [CEnums::CoreAudioDriver] =
    21822182        tr ("CoreAudio", "AudioDriverType");
     2183    audioDriverTypes [CEnums::PulseAudioDriver] =
     2184        tr ("PulseAudio", "AudioDriverType");
    21832185
    21842186    networkAttachmentTypes [CEnums::NoNetworkAttachment] =
  • trunk/src/VBox/Frontends/VirtualBox/ui/VBoxVMSettingsDlg.ui.h

    r5999 r6056  
    860860#if defined Q_WS_WIN32
    861861    cbAudioDriver->insertItem (vboxGlobal().toString (CEnums::DSOUNDAudioDriver));
    862 #ifdef VBOX_WITH_WINMM
     862# ifdef VBOX_WITH_WINMM
    863863    cbAudioDriver->insertItem (vboxGlobal().toString (CEnums::WINMMAudioDriver));
    864 #endif
     864# endif
    865865#elif defined Q_OS_LINUX
    866866    cbAudioDriver->insertItem (vboxGlobal().toString (CEnums::OSSAudioDriver));
    867 #ifdef VBOX_WITH_ALSA
     867# ifdef VBOX_WITH_ALSA
    868868    cbAudioDriver->insertItem (vboxGlobal().toString (CEnums::ALSAAudioDriver));
    869 #endif
     869# endif
     870# ifdef VBOX_WITH_PULSE
     871    cbAudioDriver->insertItem (vboxGlobal().toString (CEnums::PulseAudioDriver));
     872# endif
    870873#elif defined Q_OS_MACX
    871874    cbAudioDriver->insertItem (vboxGlobal().toString (CEnums::CoreAudioDriver));
  • trunk/src/VBox/Main/AudioAdapterImpl.cpp

    r5999 r6056  
    227227            case AudioDriverType_NullAudioDriver:
    228228#ifdef RT_OS_WINDOWS
    229 #ifdef VBOX_WITH_WINMM
     229# ifdef VBOX_WITH_WINMM
    230230            case AudioDriverType_WINMMAudioDriver:
    231 #endif
     231# endif
    232232            case AudioDriverType_DSOUNDAudioDriver:
    233233#endif /* RT_OS_WINDOWS */
    234234#ifdef RT_OS_LINUX
    235235            case AudioDriverType_OSSAudioDriver:
    236 #ifdef VBOX_WITH_ALSA
     236# ifdef VBOX_WITH_ALSA
    237237            case AudioDriverType_ALSAAudioDriver:
    238 #endif
     238# endif
     239# ifdef VBOX_WITH_PULSE
     240            case AudioDriverType_PulseAudioDriver:
     241# endif
    239242#endif /* RT_OS_LINUX */
    240243#ifdef RT_OS_DARWIN
  • trunk/src/VBox/Main/ConsoleImpl2.cpp

    r5999 r6056  
    13291329            }
    13301330# endif
     1331# ifdef VBOX_WITH_PULSE
     1332            case AudioDriverType_PulseAudioDriver:
     1333            {
     1334                rc = CFGMR3InsertString(pCfg, "AudioDriver", "pulse");                  RC_CHECK();
     1335                break;
     1336            }
     1337# endif
    13311338#endif /* RT_OS_LINUX */
    13321339#ifdef RT_OS_DARWIN
  • trunk/src/VBox/Main/MachineImpl.cpp

    r5999 r6056  
    48274827            audioDriver = AudioDriverType_OSSAudioDriver;
    48284828        else if (driver == L"alsa")
    4829 #ifdef VBOX_WITH_ALSA
     4829# ifdef VBOX_WITH_ALSA
    48304830            audioDriver = AudioDriverType_ALSAAudioDriver;
    4831 #else
     4831# else
    48324832            /* fall back to OSS */
    48334833            audioDriver = AudioDriverType_OSSAudioDriver;
    4834 #endif
     4834# endif
     4835        else if (driver == L"pulse")
     4836# ifdef VBOX_WITH_PULSE
     4837            audioDriver = AudioDriverType_PulseAudioDriver;
     4838# else
     4839            /* fall back to OSS */
     4840            audioDriver = AudioDriverType_OSSAudioDriver;
     4841# endif
    48354842#endif // RT_OS_LINUX
    48364843#ifdef RT_OS_DARWIN
     
    67006707            }
    67016708# endif
     6709# ifdef VBOX_WITH_PULSE
     6710            case AudioDriverType_PulseAudioDriver:
     6711            {
     6712                CFGLDRSetString (adapterNode, "driver", "pulse");
     6713                break;
     6714            }
     6715# endif
    67026716            case AudioDriverType_OSSAudioDriver:
    67036717            {
  • trunk/src/VBox/Main/Makefile.kmk

    r5999 r6056  
    119119ifdef VBOX_WITH_ALSA
    120120VBoxSVC_DEFS += VBOX_WITH_ALSA
     121endif
     122ifdef VBOX_WITH_PULSE
     123VBoxSVC_DEFS += VBOX_WITH_PULSE
    121124endif
    122125ifdef VBOX_WITH_WINMM
     
    296299VBoxC_DEFS += VBOX_WITH_ALSA
    297300endif
     301ifdef VBOX_WITH_PULSE
     302VBoxC_DEFS += VBOX_WITH_PULSE
     303endif
    298304ifdef VBOX_WITH_WINMM
    299305VBoxC_DEFS += VBOX_WITH_WINMM
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r5999 r6056  
    86078607    <const name="CoreAudioDriver"   value="5"/>
    86088608    <const name="MMPMAudioDriver"   value="6"/>
     8609    <const name="PulseAudioDriver"  value="7"/>
    86098610  </enum>
    86108611
  • trunk/src/VBox/Main/xml/VirtualBox-settings-linux.xsd

    r5999 r6056  
    9494        <xsd:enumeration value="oss"/>
    9595        <xsd:enumeration value="alsa"/>
     96        <xsd:enumeration value="pulse"/>
    9697      </xsd:restriction>
    9798    </xsd:simpleType>
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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