summaryrefslogtreecommitdiff
path: root/src/VBox/Devices
diff options
context:
space:
mode:
authorvboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2021-05-10 06:57:45 +0000
committervboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2021-05-10 06:57:45 +0000
commitb6a5d4b244ef8735600e52f8ad0f25eaae467b8a (patch)
treeb3e722dcfae38dc32501fe8ed4278bd8592b8b9a /src/VBox/Devices
parentacd307c41b7ce6156070fbb40783e9a9bfd389ff (diff)
downloadVirtualBox-svn-b6a5d4b244ef8735600e52f8ad0f25eaae467b8a.tar.gz
Audio/VaKit: Use the full (but mocked) version of PDMDRVREG. bugref:10008
git-svn-id: https://www.virtualbox.org/svn/vbox/trunk@88958 cfe28804-0f27-0410-a406-dd0f0b0b656f
Diffstat (limited to 'src/VBox/Devices')
-rw-r--r--src/VBox/Devices/Audio/DrvHostAudioAlsa.cpp13
-rw-r--r--src/VBox/Devices/Audio/DrvHostAudioOss.cpp14
-rw-r--r--src/VBox/Devices/Audio/DrvHostAudioPulseAudio.cpp15
-rw-r--r--src/VBox/Devices/Audio/VBoxDDVKAT.h57
4 files changed, 57 insertions, 42 deletions
diff --git a/src/VBox/Devices/Audio/DrvHostAudioAlsa.cpp b/src/VBox/Devices/Audio/DrvHostAudioAlsa.cpp
index 4ad5f81659f..108048a85c5 100644
--- a/src/VBox/Devices/Audio/DrvHostAudioAlsa.cpp
+++ b/src/VBox/Devices/Audio/DrvHostAudioAlsa.cpp
@@ -1453,7 +1453,6 @@ static DECLCALLBACK(int) drvHostAlsaAudioConstruct(PPDMDRVINS pDrvIns, PCFGMNODE
}
-#ifndef VBOX_AUDIO_VKAT
/**
* ALSA audio driver registration record.
*/
@@ -1504,16 +1503,4 @@ const PDMDRVREG g_DrvHostALSAAudio =
/* u32EndVersion */
PDM_DRVREG_VERSION
};
-#else /* VBOX_AUDIO_VKAT */
-const PDMDRVREG g_DrvVKATAlsa =
-{
- /* szName */
- "ALSAAudio",
- /* cbInstance */
- sizeof(DRVHOSTALSAAUDIO),
- drvHostAlsaAudioConstruct,
- /* pfnDestruct */
- NULL
-};
-#endif /* VBOX_AUDIO_VKAT */
diff --git a/src/VBox/Devices/Audio/DrvHostAudioOss.cpp b/src/VBox/Devices/Audio/DrvHostAudioOss.cpp
index c605899db89..910ef5ddedd 100644
--- a/src/VBox/Devices/Audio/DrvHostAudioOss.cpp
+++ b/src/VBox/Devices/Audio/DrvHostAudioOss.cpp
@@ -884,7 +884,7 @@ static DECLCALLBACK(int) drvHostOSSAudioConstruct(PPDMDRVINS pDrvIns, PCFGMNODE
return VINF_SUCCESS;
}
-#ifndef VBOX_AUDIO_VKAT
+
/**
* Char driver registration record.
*/
@@ -935,16 +935,4 @@ const PDMDRVREG g_DrvHostOSSAudio =
/* u32EndVersion */
PDM_DRVREG_VERSION
};
-#else
-const PDMDRVREG g_DrvVKATOss =
-{
- /* szName */
- "OSSAudio",
- /* cbInstance */
- sizeof(DRVHOSTOSSAUDIO),
- drvHostOSSAudioConstruct,
- /* pfnDestruct */
- NULL
-};
-#endif
diff --git a/src/VBox/Devices/Audio/DrvHostAudioPulseAudio.cpp b/src/VBox/Devices/Audio/DrvHostAudioPulseAudio.cpp
index a9c12bae504..0c07edabe9b 100644
--- a/src/VBox/Devices/Audio/DrvHostAudioPulseAudio.cpp
+++ b/src/VBox/Devices/Audio/DrvHostAudioPulseAudio.cpp
@@ -2014,7 +2014,7 @@ static DECLCALLBACK(int) drvHostAudioPaConstruct(PPDMDRVINS pDrvIns, PCFGMNODE p
return rc;
}
-#ifndef VBOX_AUDIO_VKAT
+
/**
* Pulse audio driver registration record.
*/
@@ -2065,15 +2065,4 @@ const PDMDRVREG g_DrvHostPulseAudio =
/* u32EndVersion */
PDM_DRVREG_VERSION
};
-#else /* VBOX_AUDIO_VKAT */
-const PDMDRVREG g_DrvVKATPulseAudio =
-{
- /* szName */
- "PulseAudio",
- /* cbInstance */
- sizeof(DRVHOSTPULSEAUDIO),
- drvHostAudioPaConstruct,
- /* pfnDestruct */
- drvHostAudioPaDestruct
-};
-#endif /* VBOX_AUDIO_VKAT */
+
diff --git a/src/VBox/Devices/Audio/VBoxDDVKAT.h b/src/VBox/Devices/Audio/VBoxDDVKAT.h
index db96f0b6a24..ca6d3be71ff 100644
--- a/src/VBox/Devices/Audio/VBoxDDVKAT.h
+++ b/src/VBox/Devices/Audio/VBoxDDVKAT.h
@@ -69,16 +69,61 @@ typedef DECLCALLBACKTYPE(void, FNPDMDRVDESTRUCT,(PPDMDRVINS pDrvIns));
/** Pointer to a FNPDMDRVDESTRUCT() function. */
typedef FNPDMDRVDESTRUCT *PFNPDMDRVDESTRUCT;
+#define PDM_DRVREG_VERSION 0x0
+#define PDM_DRVREG_FLAGS_HOST_BITS_DEFAULT 0x0
+#define PDM_DRVREG_CLASS_AUDIO 0x0
+
typedef struct PDMDRVREG
{
+ /** Structure version. PDM_DRVREG_VERSION defines the current version. */
+ uint32_t u32Version;
/** Driver name. */
char szName[32];
+ /** Name of the raw-mode context module (no path).
+ * Only evalutated if PDM_DRVREG_FLAGS_RC is set. */
+ char szRCMod[32];
+ /** Name of the ring-0 module (no path).
+ * Only evalutated if PDM_DRVREG_FLAGS_R0 is set. */
+ char szR0Mod[32];
+ /** The description of the driver. The UTF-8 string pointed to shall, like this structure,
+ * remain unchanged from registration till VM destruction. */
+ const char *pszDescription;
+
+ /** Flags, combination of the PDM_DRVREG_FLAGS_* \#defines. */
+ uint32_t fFlags;
+ /** Driver class(es), combination of the PDM_DRVREG_CLASS_* \#defines. */
+ uint32_t fClass;
+ /** Maximum number of instances (per VM). */
+ uint32_t cMaxInstances;
/** Size of the instance data. */
uint32_t cbInstance;
+
/** Construct instance - required. */
PFNPDMDRVCONSTRUCT pfnConstruct;
/** Destruct instance - optional. */
PFNPDMDRVDESTRUCT pfnDestruct;
+ /** Relocation command - optional. */
+ PFNRT pfnRelocate;
+ /** I/O control - optional. */
+ PFNRT pfnIOCtl;
+ /** Power on notification - optional. */
+ PFNRT pfnPowerOn;
+ /** Reset notification - optional. */
+ PFNRT pfnReset;
+ /** Suspend notification - optional. */
+ PFNRT pfnSuspend;
+ /** Resume notification - optional. */
+ PFNRT pfnResume;
+ /** Attach command - optional. */
+ PFNRT pfnAttach;
+ /** Detach notification - optional. */
+ PFNRT pfnDetach;
+ /** Power off notification - optional. */
+ PFNRT pfnPowerOff;
+ /** @todo */
+ PFNRT pfnSoftReset;
+ /** Initialization safty marker. */
+ uint32_t u32VersionEnd;
} PDMDRVREG;
/** Pointer to a PDM Driver Structure. */
typedef PDMDRVREG *PPDMDRVREG;
@@ -95,8 +140,14 @@ DECLINLINE(int) CFGMR3QueryStringDef(PCFGMNODE pNode, const char *pszName, char
return 0;
}
-extern const PDMDRVREG g_DrvVKATPulseAudio;
-extern const PDMDRVREG g_DrvVKATAlsa;
-extern const PDMDRVREG g_DrvVKATOss;
+#ifdef VBOX_WITH_AUDIO_PULSE
+extern const PDMDRVREG g_DrvHostPulseAudio;
+#endif
+#ifdef VBOX_WITH_AUDIO_ALSA
+extern const PDMDRVREG g_DrvHostALSAAudio;
+#endif
+#ifdef VBOX_WITH_AUDIO_OSS
+extern const PDMDRVREG g_DrvHostOSSAudio;
+#endif
#endif /* !VBOX_INCLUDED_SRC_Audio_VBoxDDVKAT_h */