Changeset 61331 in vbox for trunk/src/VBox/Devices/Audio
- Timestamp:
- May 31, 2016 12:57:28 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 107626
- Location:
- trunk/src/VBox/Devices/Audio
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Audio/AudioMixBuffer.cpp
r61320 r61331 1374 1374 return VINF_SUCCESS; 1375 1375 1376 Assert(AUDIOMIXBUF_B2S(pMixBuf, cbBuf) <= pMixBuf->cSamples);1377 1378 1376 uint32_t cToRead = RT_MIN(AUDIOMIXBUF_B2S(pMixBuf, cbBuf), pMixBuf->cUsed); 1379 1377 -
trunk/src/VBox/Devices/Audio/testcase/tstAudioMixBuffer.cpp
r61320 r61331 201 201 char pvBuf[_1K]; 202 202 int16_t samples[32] = { 0xAA, 0xBB }; 203 uint32_t read , written, mixed , temp;203 uint32_t read , written, mixed; 204 204 205 205 uint32_t cChild1Free = cBufSize; … … 235 235 RTTESTI_CHECK_MSG_BREAK(written == cSamplesChild2, ("Child2: Expected %RU32 written samples, got %RU32\n", cSamplesChild2, written)); 236 236 RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufMixToParent(&child2, written, &mixed)); 237 RTTESTI_CHECK_MSG_BREAK(AudioMixBufMixed(&child2) == mixed, ("Child2: Expected %RU32 mixed samples, got %RU32\n", AudioMixBufMixed(&child2), temp));237 RTTESTI_CHECK_MSG_BREAK(AudioMixBufMixed(&child2) == mixed, ("Child2: Expected %RU32 mixed samples, got %RU32\n", AudioMixBufMixed(&child2), AudioMixBufUsed(&parent))); 238 238 RTTESTI_CHECK_MSG_BREAK(AudioMixBufUsed(&child2) == AUDIOMIXBUF_S2S_RATIO(&parent, mixed), ("Child2: Expected %RU32 used samples, got %RU32\n", AudioMixBufMixed(&child2), AUDIOMIXBUF_S2S_RATIO(&parent, mixed))); 239 239 RTTESTI_CHECK_MSG_BREAK(AudioMixBufUsed(&parent) == 0, ("Parent2: Expected 0 used samples, got %RU32\n", AudioMixBufUsed(&parent))); … … 268 268 PDMPCMPROPS props; 269 269 270 271 RTTestSubF(hTest, "Sample conversion"); 270 RTTestSubF(hTest, "Sample conversion (U8)"); 272 271 273 272 PDMAUDIOSTREAMCFG cfg_p = … … 278 277 44100, /* Hz */ 279 278 1 /* Channels */, 280 PDMAUDIOFMT_U8 279 PDMAUDIOFMT_U8 /* Format */, 281 280 PDMAUDIOENDIANNESS_LITTLE /* ENDIANNESS */ 282 281 }; … … 302 301 22050, /* Hz */ 303 302 1 /* Channels */, 304 PDMAUDIOFMT_U8 303 PDMAUDIOFMT_U8 /* Format */, 305 304 PDMAUDIOENDIANNESS_LITTLE /* ENDIANNESS */ 306 305 }; … … 314 313 315 314 /* 8-bit unsigned samples. Often used with SB16 device. */ 316 uint8_t 317 315 uint8_t samples[16] = { 0xAA, 0xBB, 0, 1, 43, 125, 126, 127, 316 128, 129, 130, 131, 132, UINT8_MAX - 1, UINT8_MAX, 0 }; 318 317 319 318 /* … … 332 331 /**** 8-bit unsigned samples ****/ 333 332 RTTestPrintf(hTest, RTTESTLVL_DEBUG, "Conversion test %uHz %uch 8-bit\n", cfg_c.uHz, cfg_c.cChannels); 334 RTTESTI_CHECK_RC_OK(AudioMixBufWrite At(&child, 0, &samples, sizeof(samples), &written));333 RTTESTI_CHECK_RC_OK(AudioMixBufWriteCirc(&child, &samples, sizeof(samples), &written)); 335 334 RTTESTI_CHECK_MSG(written == cSamplesChild, ("Child: Expected %RU32 written samples, got %RU32\n", cSamplesChild, written)); 336 335 RTTESTI_CHECK_RC_OK(AudioMixBufMixToParent(&child, written, &mixed)); … … 348 347 AudioMixBufFinish(&parent, read); 349 348 } 349 350 350 RTTESTI_CHECK_MSG(cSamplesRead == cSamplesParent, ("Parent: Expected %RU32 mixed samples, got %RU32\n", cSamplesParent, cSamplesRead)); 351 351 … … 378 378 PDMPCMPROPS props; 379 379 380 381 RTTestSubF(hTest, "Sample conversion 16-bit"); 380 RTTestSubF(hTest, "Sample conversion (S16)"); 382 381 383 382 PDMAUDIOSTREAMCFG cfg_p = … … 388 387 44100, /* Hz */ 389 388 1 /* Channels */, 390 PDMAUDIOFMT_S16 389 PDMAUDIOFMT_S16 /* Format */, 391 390 PDMAUDIOENDIANNESS_LITTLE /* ENDIANNESS */ 392 391 }; … … 435 434 /**** 16-bit signed samples ****/ 436 435 RTTestPrintf(hTest, RTTESTLVL_DEBUG, "Conversion test %uHz %uch 16-bit\n", cfg_c.uHz, cfg_c.cChannels); 437 RTTESTI_CHECK_RC_OK(AudioMixBufWrite At(&child, 0, &samples, sizeof(samples), &written));436 RTTESTI_CHECK_RC_OK(AudioMixBufWriteCirc(&child, &samples, sizeof(samples), &written)); 438 437 RTTESTI_CHECK_MSG(written == cSamplesChild, ("Child: Expected %RU32 written samples, got %RU32\n", cSamplesChild, written)); 439 438 RTTESTI_CHECK_RC_OK(AudioMixBufMixToParent(&child, written, &mixed)); … … 480 479 uint32_t cBufSize = 256; 481 480 PDMPCMPROPS props; 482 483 481 484 482 RTTestSubF(hTest, "Volume control"); … … 533 531 AudioMixBufSetVolume(&child, &vol); 534 532 535 RTTESTI_CHECK_RC_OK(AudioMixBufWrite At(&child, 0, &samples, sizeof(samples), &written));533 RTTESTI_CHECK_RC_OK(AudioMixBufWriteCirc(&child, &samples, sizeof(samples), &written)); 536 534 RTTESTI_CHECK_MSG(written == cSamplesChild, ("Child: Expected %RU32 written samples, got %RU32\n", cSamplesChild, written)); 537 535 RTTESTI_CHECK_RC_OK(AudioMixBufMixToParent(&child, written, &mixed)); … … 564 562 AudioMixBufSetVolume(&child, &vol); 565 563 566 RTTESTI_CHECK_RC_OK(AudioMixBufWrite At(&child, 0, &samples, sizeof(samples), &written));564 RTTESTI_CHECK_RC_OK(AudioMixBufWriteCirc(&child, &samples, sizeof(samples), &written)); 567 565 RTTESTI_CHECK_MSG(written == cSamplesChild, ("Child: Expected %RU32 written samples, got %RU32\n", cSamplesChild, written)); 568 566 RTTESTI_CHECK_RC_OK(AudioMixBufMixToParent(&child, written, &mixed));
Note:
See TracChangeset
for help on using the changeset viewer.