Changeset 89458 in vbox for trunk/src/VBox/Devices
- Timestamp:
- Jun 2, 2021 9:04:06 AM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 144812
- Location:
- trunk/src/VBox/Devices/Audio
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Audio/AudioTestService.cpp
r89456 r89458 609 609 610 610 PATSPKTREQTONEPLAY pReq = (PATSPKTREQTONEPLAY)pPktHdr; 611 rc = pThis->Callbacks.pfnTonePlay(pThis->Callbacks.pvUser, &pReq-> StreamCfg, &pReq->ToneParms);611 rc = pThis->Callbacks.pfnTonePlay(pThis->Callbacks.pvUser, &pReq->ToneParms); 612 612 613 613 int rc2 = atsReplyAck(pThis, pClient, pPktHdr); … … 640 640 641 641 PATSPKTREQTONEREC pReq = (PATSPKTREQTONEREC)pPktHdr; 642 rc = pThis->Callbacks.pfnToneRecord(pThis->Callbacks.pvUser, &pReq-> StreamCfg, &pReq->ToneParms);642 rc = pThis->Callbacks.pfnToneRecord(pThis->Callbacks.pvUser, &pReq->ToneParms); 643 643 644 644 int rc2 = atsReplyAck(pThis, pClient, pPktHdr); -
trunk/src/VBox/Devices/Audio/AudioTestService.h
r89456 r89458 56 56 * @returns VBox status code. 57 57 * @param pvUser User-supplied pointer to context data. Optional. 58 * @param pStreamCfg Audio stream configuration to use for stream to play tone on.59 58 * @param pToneParms Tone parameters to use for playback. 60 59 */ 61 DECLR3CALLBACKMEMBER(int, pfnTonePlay, (void const *pvUser, P PDMAUDIOSTREAMCFG pStreamCfg, PAUDIOTESTTONEPARMS pToneParms));60 DECLR3CALLBACKMEMBER(int, pfnTonePlay, (void const *pvUser, PAUDIOTESTTONEPARMS pToneParms)); 62 61 63 62 /** … … 66 65 * @returns VBox status code. 67 66 * @param pvUser User-supplied pointer to context data. Optional. 68 * @param pStreamCfg Audio stream configuration to use for stream to play tone on. 69 * @param cMsDelay Delay (in ms) before start recording. 70 * @param cMsDuration Duration (in ms) to record. 67 * @param pToneParms Tone parameters to use for recording. 71 68 */ 72 DECLR3CALLBACKMEMBER(int, pfnToneRecord, (void const *pvUser, P PDMAUDIOSTREAMCFG pStreamCfg, PAUDIOTESTTONEPARMS pToneParms));69 DECLR3CALLBACKMEMBER(int, pfnToneRecord, (void const *pvUser, PAUDIOTESTTONEPARMS pToneParms)); 73 70 74 71 /** Pointer to opaque user-provided context data. */ -
trunk/src/VBox/Devices/Audio/AudioTestServiceClient.cpp
r89456 r89458 355 355 * @returns VBox status code. 356 356 * @param pClient Client to issue command for. 357 * @param pStreamCfg Audio stream configuration to use.358 357 * @param pToneParms Tone parameters to use. 359 358 * @note How (and if) the server plays a tone depends on the actual implementation side. 360 359 */ 361 int AudioTestSvcClientTonePlay(PATSCLIENT pClient, P PDMAUDIOSTREAMCFG pStreamCfg, PAUDIOTESTTONEPARMS pToneParms)360 int AudioTestSvcClientTonePlay(PATSCLIENT pClient, PAUDIOTESTTONEPARMS pToneParms) 362 361 { 363 362 ATSPKTREQTONEPLAY Req; 364 363 365 memcpy(&Req.StreamCfg, pStreamCfg, sizeof(PDMAUDIOSTREAMCFG));366 364 memcpy(&Req.ToneParms, pToneParms, sizeof(AUDIOTESTTONEPARMS)); 367 365 … … 380 378 * @returns VBox status code. 381 379 * @param pClient Client to issue command for. 382 * @param pStreamCfg Audio stream configuration to use.383 380 * @param pToneParms Tone parameters to use. 384 381 * @note How (and if) the server plays a tone depends on the actual implementation side. 385 382 */ 386 int AudioTestSvcClientToneRecord(PATSCLIENT pClient, P PDMAUDIOSTREAMCFG pStreamCfg, PAUDIOTESTTONEPARMS pToneParms)383 int AudioTestSvcClientToneRecord(PATSCLIENT pClient, PAUDIOTESTTONEPARMS pToneParms) 387 384 { 388 385 ATSPKTREQTONEREC Req; 389 386 390 memcpy(&Req.StreamCfg, pStreamCfg, sizeof(PDMAUDIOSTREAMCFG));391 387 memcpy(&Req.ToneParms, pToneParms, sizeof(AUDIOTESTTONEPARMS)); 392 388 -
trunk/src/VBox/Devices/Audio/AudioTestServiceClient.h
r89456 r89458 33 33 int AudioTestSvcClientTestSetBegin(PATSCLIENT pClient, const char *pszTag); 34 34 int AudioTestSvcClientTestSetEnd(PATSCLIENT pClient, const char *pszTag); 35 int AudioTestSvcClientTonePlay(PATSCLIENT pClient, P PDMAUDIOSTREAMCFG pStreamCfg, PAUDIOTESTTONEPARMS pToneParms);36 int AudioTestSvcClientToneRecord(PATSCLIENT pClient, P PDMAUDIOSTREAMCFG pStreamCfg, PAUDIOTESTTONEPARMS pToneParms);35 int AudioTestSvcClientTonePlay(PATSCLIENT pClient, PAUDIOTESTTONEPARMS pToneParms); 36 int AudioTestSvcClientToneRecord(PATSCLIENT pClient, PAUDIOTESTTONEPARMS pToneParms); 37 37 int AudioTestSvcClientClose(PATSCLIENT pClient); 38 38 -
trunk/src/VBox/Devices/Audio/AudioTestServiceProtocol.h
r89456 r89458 162 162 /** Embedded packet header. */ 163 163 ATSPKTHDR Hdr; 164 /** Stream configuration to use for playing the tone.165 * Note: Depending on the actual implementation this configuration might or might not be available / supported. */166 PDMAUDIOSTREAMCFG StreamCfg;167 164 /** Test tone parameters for playback. */ 168 165 AUDIOTESTTONEPARMS ToneParms; 169 #if HC_ARCH_BITS == 64 170 uint8_t aPadding[4+8]; 171 #else 172 uint8_t aPadding[6+8]; 173 #endif 166 uint8_t aPadding[8]; 174 167 } ATSPKTREQTONEPLAY; 175 168 AssertCompileSizeAlignment(ATSPKTREQTONEPLAY, ATSPKT_ALIGNMENT); … … 186 179 /** Embedded packet header. */ 187 180 ATSPKTHDR Hdr; 188 /** Stream configuration to use for recording the tone.189 * Note: Depending on the actual implementation this configuration might or might not be available / supported. */190 PDMAUDIOSTREAMCFG StreamCfg;191 181 /** Test tone parameters for playback. */ 192 182 AUDIOTESTTONEPARMS ToneParms; 193 #if HC_ARCH_BITS == 64 194 uint8_t aPadding[4+8]; 195 #else 196 uint8_t aPadding[6+8]; 197 #endif 183 uint8_t aPadding[8]; 198 184 } ATSPKTREQTONEREC; 199 185 AssertCompileSizeAlignment(ATSPKTREQTONEREC, ATSPKT_ALIGNMENT); -
trunk/src/VBox/Devices/Audio/DrvHostAudioValidationKit.cpp
r89383 r89458 116 116 * Note: Called within server (client serving) thread. 117 117 */ 118 static DECLCALLBACK(int) drvHostValKitAudioSvcTonePlayCallback(void const *pvUser, P PDMAUDIOSTREAMCFG pStreamCfg, PAUDIOTESTTONEPARMS pToneParms)118 static DECLCALLBACK(int) drvHostValKitAudioSvcTonePlayCallback(void const *pvUser, PAUDIOTESTTONEPARMS pToneParms) 119 119 { 120 120 PDRVHOSTVALKITAUDIO pThis = (PDRVHOSTVALKITAUDIO)pvUser; … … 123 123 AssertPtrReturn(pTestData, VERR_NO_MEMORY); 124 124 125 memcpy(&pTestData->StreamCfg, pStreamCfg, sizeof(PDMAUDIOSTREAMCFG));126 125 memcpy(&pTestData->t.TestTone.Parms, pToneParms, sizeof(AUDIOTESTTONEPARMS)); 127 126 128 AudioTestToneInit(&pTestData->t.TestTone.Tone, &p StreamCfg->Props, pTestData->t.TestTone.Parms.dbFreqHz);129 130 pTestData->t.TestTone.cbToWrite = PDMAudioPropsMilliToBytes(&p StreamCfg->Props,127 AudioTestToneInit(&pTestData->t.TestTone.Tone, &pToneParms->Props, pTestData->t.TestTone.Parms.dbFreqHz); 128 129 pTestData->t.TestTone.cbToWrite = PDMAudioPropsMilliToBytes(&pToneParms->Props, 131 130 pTestData->t.TestTone.Parms.msDuration); 132 131 int rc = RTCritSectEnter(&pThis->CritSect);
Note:
See TracChangeset
for help on using the changeset viewer.