Changeset 76019 in vbox
- Timestamp:
- Dec 6, 2018 3:24:32 PM (6 years ago)
- Location:
- trunk/src/VBox/Devices/Audio
- Files:
-
- 2 edited
-
DevHDACommon.cpp (modified) (7 diffs)
-
DevHDACommon.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Audio/DevHDACommon.cpp
r75962 r76019 483 483 * 484 484 * @return IPRT status code. 485 * @param u 32SDFMT The HDA stream's SDFMT value to convert.485 * @param u16SDFMT The HDA stream's SDFMT value to convert. 486 486 * @param pProps PCM properties structure to hold converted result on success. 487 487 */ 488 int hdaR3SDFMTToPCMProps(uint 32_t u32SDFMT, PPDMAUDIOPCMPROPS pProps)488 int hdaR3SDFMTToPCMProps(uint16_t u16SDFMT, PPDMAUDIOPCMPROPS pProps) 489 489 { 490 490 AssertPtrReturn(pProps, VERR_INVALID_POINTER); … … 494 494 int rc = VINF_SUCCESS; 495 495 496 uint32_t u32Hz = EXTRACT_VALUE(u 32SDFMT, HDA_SDFMT_BASE_RATE_MASK, HDA_SDFMT_BASE_RATE_SHIFT)496 uint32_t u32Hz = EXTRACT_VALUE(u16SDFMT, HDA_SDFMT_BASE_RATE_MASK, HDA_SDFMT_BASE_RATE_SHIFT) 497 497 ? 44100 : 48000; 498 498 uint32_t u32HzMult = 1; 499 499 uint32_t u32HzDiv = 1; 500 500 501 switch (EXTRACT_VALUE(u 32SDFMT, HDA_SDFMT_MULT_MASK, HDA_SDFMT_MULT_SHIFT))501 switch (EXTRACT_VALUE(u16SDFMT, HDA_SDFMT_MULT_MASK, HDA_SDFMT_MULT_SHIFT)) 502 502 { 503 503 case 0: u32HzMult = 1; break; … … 507 507 default: 508 508 LogFunc(("Unsupported multiplier %x\n", 509 EXTRACT_VALUE(u 32SDFMT, HDA_SDFMT_MULT_MASK, HDA_SDFMT_MULT_SHIFT)));509 EXTRACT_VALUE(u16SDFMT, HDA_SDFMT_MULT_MASK, HDA_SDFMT_MULT_SHIFT))); 510 510 rc = VERR_NOT_SUPPORTED; 511 511 break; 512 512 } 513 switch (EXTRACT_VALUE(u 32SDFMT, HDA_SDFMT_DIV_MASK, HDA_SDFMT_DIV_SHIFT))513 switch (EXTRACT_VALUE(u16SDFMT, HDA_SDFMT_DIV_MASK, HDA_SDFMT_DIV_SHIFT)) 514 514 { 515 515 case 0: u32HzDiv = 1; break; … … 523 523 default: 524 524 LogFunc(("Unsupported divisor %x\n", 525 EXTRACT_VALUE(u 32SDFMT, HDA_SDFMT_DIV_MASK, HDA_SDFMT_DIV_SHIFT)));525 EXTRACT_VALUE(u16SDFMT, HDA_SDFMT_DIV_MASK, HDA_SDFMT_DIV_SHIFT))); 526 526 rc = VERR_NOT_SUPPORTED; 527 527 break; … … 529 529 530 530 uint8_t cBytes = 0; 531 switch (EXTRACT_VALUE(u 32SDFMT, HDA_SDFMT_BITS_MASK, HDA_SDFMT_BITS_SHIFT))531 switch (EXTRACT_VALUE(u16SDFMT, HDA_SDFMT_BITS_MASK, HDA_SDFMT_BITS_SHIFT)) 532 532 { 533 533 case 0: … … 542 542 default: 543 543 AssertMsgFailed(("Unsupported bits per sample %x\n", 544 EXTRACT_VALUE(u 32SDFMT, HDA_SDFMT_BITS_MASK, HDA_SDFMT_BITS_SHIFT)));544 EXTRACT_VALUE(u16SDFMT, HDA_SDFMT_BITS_MASK, HDA_SDFMT_BITS_SHIFT))); 545 545 rc = VERR_NOT_SUPPORTED; 546 546 break; … … 553 553 pProps->cBytes = cBytes; 554 554 pProps->fSigned = true; 555 pProps->cChannels = (u 32SDFMT & 0xf) + 1;555 pProps->cChannels = (u16SDFMT & 0xf) + 1; 556 556 pProps->uHz = u32Hz * u32HzMult / u32HzDiv; 557 557 pProps->cShift = PDMAUDIOPCMPROPS_MAKE_SHIFT_PARMS(pProps->cBytes, pProps->cChannels); -
trunk/src/VBox/Devices/Audio/DevHDACommon.h
r75962 r76019 627 627 uint32_t hdaGetINTSTS(PHDASTATE pThis); 628 628 #ifdef IN_RING3 629 int hdaR3SDFMTToPCMProps(uint 32_t u32SDFMT, PPDMAUDIOPCMPROPS pProps);629 int hdaR3SDFMTToPCMProps(uint16_t u16SDFMT, PPDMAUDIOPCMPROPS pProps); 630 630 #endif /* IN_RING3 */ 631 631 /** @} */
Note:
See TracChangeset
for help on using the changeset viewer.

