Changeset 88238 in vbox
- Timestamp:
- Mar 22, 2021 11:44:59 AM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 143438
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Audio/DrvAudio.cpp
r88236 r88238 455 455 { 456 456 AssertPtrReturn(pInterface, VERR_INVALID_POINTER); 457 457 PDRVAUDIO pThis = PDMIAUDIOCONNECTOR_2_DRVAUDIO(pInterface); 458 459 /** @todo r=bird: why? It's not documented to ignore NULL streams. */ 458 460 if (!pStream) 459 461 return VINF_SUCCESS; 460 462 461 PDRVAUDIO pThis = PDMIAUDIOCONNECTOR_2_DRVAUDIO(pInterface);462 463 463 int rc = RTCritSectEnter(&pThis->CritSect); 464 if (RT_FAILURE(rc)) 465 return rc; 464 AssertRCReturn(rc, rc); 466 465 467 466 LogFlowFunc(("[%s] enmStreamCmd=%s\n", pStream->szName, PDMAudioStrmCmdGetName(enmStreamCmd))); … … 469 468 rc = drvAudioStreamControlInternal(pThis, pStream, enmStreamCmd); 470 469 471 int rc2 = RTCritSectLeave(&pThis->CritSect); 472 if (RT_SUCCESS(rc)) 473 rc = rc2; 474 470 RTCritSectLeave(&pThis->CritSect); 475 471 return rc; 476 472 } … … 1100 1096 1101 1097 int rc = RTCritSectEnter(&pThis->CritSect); 1102 if (RT_FAILURE(rc)) 1103 return rc; 1098 AssertRCReturn(rc, rc); 1104 1099 1105 1100 #ifdef VBOX_WITH_STATISTICS … … 1214 1209 } while (0); 1215 1210 1216 int rc2 = RTCritSectLeave(&pThis->CritSect); 1217 if (RT_SUCCESS(rc)) 1218 rc = rc2; 1211 RTCritSectLeave(&pThis->CritSect); 1219 1212 1220 1213 if (RT_SUCCESS(rc)) … … 1273 1266 1274 1267 int rc = RTCritSectEnter(&pThis->CritSect); 1275 if (RT_FAILURE(rc)) 1276 return rc; 1268 AssertRCReturn(rc, rc); 1277 1269 1278 1270 rc = drvAudioStreamIterateInternal(pThis, pStream); 1279 1271 1280 int rc2 = RTCritSectLeave(&pThis->CritSect); 1281 if (RT_SUCCESS(rc)) 1282 rc = rc2; 1272 RTCritSectLeave(&pThis->CritSect); 1283 1273 1284 1274 if (RT_FAILURE(rc)) … … 1650 1640 1651 1641 int rc = RTCritSectEnter(&pThis->CritSect); 1652 if (RT_FAILURE(rc)) 1653 return rc; 1642 AssertRCReturn(rc, rc); 1654 1643 1655 1644 AssertMsg(pStream->enmDir == PDMAUDIODIR_OUT, … … 1817 1806 dbgAudioStreamStatusToStr(szStreamSts, fStrmStatus), AudioMixBufLive(&pStream->Host.MixBuf), cfPlayedTotal, rc)); 1818 1807 1819 int rc2 = RTCritSectLeave(&pThis->CritSect); 1820 if (RT_SUCCESS(rc)) 1821 rc = rc2; 1808 RTCritSectLeave(&pThis->CritSect); 1822 1809 1823 1810 if (RT_SUCCESS(rc)) … … 2020 2007 2021 2008 int rc = RTCritSectEnter(&pThis->CritSect); 2022 if (RT_FAILURE(rc)) 2023 return rc; 2009 AssertRCReturn(rc, rc); 2024 2010 2025 2011 AssertMsg(pStream->enmDir == PDMAUDIODIR_IN, … … 2086 2072 *pcFramesCaptured = cfCaptured; 2087 2073 2088 int rc2 = RTCritSectLeave(&pThis->CritSect); 2089 if (RT_SUCCESS(rc)) 2090 rc = rc2; 2074 RTCritSectLeave(&pThis->CritSect); 2091 2075 2092 2076 if (RT_FAILURE(rc)) … … 2158 2142 2159 2143 int rc = RTCritSectEnter(&pThis->CritSect); 2160 if (RT_FAILURE(rc)) 2161 return rc; 2144 AssertRCReturn(rc, rc); 2162 2145 2163 2146 for (size_t i = 0; i < cCallbacks; i++) … … 2200 2183 /** @todo Undo allocations on error. */ 2201 2184 2202 int rc2 = RTCritSectLeave(&pThis->CritSect); 2203 if (RT_SUCCESS(rc)) 2204 rc = rc2; 2185 RTCritSectLeave(&pThis->CritSect); 2205 2186 2206 2187 return rc; … … 2247 2228 } 2248 2229 2249 int rc2 = RTCritSectLeave(&pThis->CritSect); 2250 if (RT_SUCCESS(rc)) 2251 rc = rc2; 2230 RTCritSectLeave(&pThis->CritSect); 2252 2231 2253 2232 LogFlowFunc(("Returning %Rrc\n", rc)); … … 2415 2394 2416 2395 int rc2 = RTCritSectEnter(&pThis->CritSect); 2417 AssertRC (rc2);2396 AssertRCReturnVoid(rc2); 2418 2397 2419 2398 if (pThis->pHostDrvAudio) … … 2449 2428 2450 2429 int rc = RTCritSectEnter(&pThis->CritSect); 2451 if (RT_FAILURE(rc)) 2452 return rc; 2430 AssertRCReturn(rc, rc); 2453 2431 2454 2432 do … … 2533 2511 2534 2512 2535 int rc2 = RTCritSectLeave(&pThis->CritSect); 2536 if (RT_SUCCESS(rc)) 2537 rc = rc2; 2513 RTCritSectLeave(&pThis->CritSect); 2538 2514 2539 2515 if (RT_SUCCESS(rc)) … … 2560 2536 2561 2537 int rc = RTCritSectEnter(&pThis->CritSect); 2562 if (RT_FAILURE(rc)) 2563 return rc; 2538 AssertRCReturn(rc, rc); 2564 2539 2565 2540 LogFlowFunc(("Host=%s, Guest=%s\n", pCfgHost->szName, pCfgGuest->szName)); … … 2738 2713 } 2739 2714 2740 int rc2 = RTCritSectLeave(&pThis->CritSect); 2741 if (RT_SUCCESS(rc)) 2742 rc = rc2; 2715 RTCritSectLeave(&pThis->CritSect); 2743 2716 2744 2717 LogFlowFuncLeaveRC(rc); … … 2756 2729 2757 2730 int rc = RTCritSectEnter(&pThis->CritSect); 2758 if (RT_FAILURE(rc)) 2759 return rc; 2731 AssertRCReturn(rc, rc); 2760 2732 2761 2733 bool *pfEnabled; … … 2817 2789 } 2818 2790 2819 int rc3 = RTCritSectLeave(&pThis->CritSect); 2820 if (RT_SUCCESS(rc)) 2821 rc = rc3; 2791 RTCritSectLeave(&pThis->CritSect); 2822 2792 2823 2793 LogFlowFuncLeaveRC(rc); … … 2834 2804 PDRVAUDIO pThis = PDMIAUDIOCONNECTOR_2_DRVAUDIO(pInterface); 2835 2805 2836 int rc2 = RTCritSectEnter(&pThis->CritSect); 2837 if (RT_FAILURE(rc2)) 2838 return false; 2839 2840 bool *pfEnabled; 2806 int rc = RTCritSectEnter(&pThis->CritSect); 2807 AssertRCReturn(rc, false); 2808 2809 bool fEnabled; 2841 2810 if (enmDir == PDMAUDIODIR_IN) 2842 pfEnabled = &pThis->In.fEnabled;2811 fEnabled = pThis->In.fEnabled; 2843 2812 else if (enmDir == PDMAUDIODIR_OUT) 2844 pfEnabled = &pThis->Out.fEnabled;2813 fEnabled = pThis->Out.fEnabled; 2845 2814 else 2846 AssertFailedReturn(false); 2847 2848 const bool fIsEnabled = *pfEnabled; 2849 2850 rc2 = RTCritSectLeave(&pThis->CritSect); 2851 AssertRC(rc2); 2852 2853 return fIsEnabled; 2815 AssertFailedStmt(fEnabled = false); 2816 2817 RTCritSectLeave(&pThis->CritSect); 2818 2819 return fEnabled; 2854 2820 } 2855 2821 … … 2865 2831 2866 2832 int rc = RTCritSectEnter(&pThis->CritSect); 2867 if (RT_FAILURE(rc)) 2868 return rc; 2833 AssertRCReturn(rc, rc); 2869 2834 2870 2835 if (pThis->pHostDrvAudio) … … 2878 2843 rc = VERR_PDM_NO_ATTACHED_DRIVER; 2879 2844 2880 int rc2 = RTCritSectLeave(&pThis->CritSect); 2881 if (RT_SUCCESS(rc)) 2882 rc = rc2; 2845 RTCritSectLeave(&pThis->CritSect); 2883 2846 2884 2847 LogFlowFuncLeaveRC(rc); … … 2895 2858 PDRVAUDIO pThis = PDMIAUDIOCONNECTOR_2_DRVAUDIO(pInterface); 2896 2859 2897 PDMAUDIOBACKENDSTS backendSts = PDMAUDIOBACKENDSTS_UNKNOWN;2898 2899 2860 int rc = RTCritSectEnter(&pThis->CritSect); 2900 if (RT_SUCCESS(rc))2901 { 2902 if (pThis->pHostDrvAudio)2903 {2904 if (pThis->pHostDrvAudio->pfnGetStatus)2905 backendSts = pThis->pHostDrvAudio->pfnGetStatus(pThis->pHostDrvAudio, enmDir);2906 }2861 AssertRCReturn(rc, PDMAUDIOBACKENDSTS_UNKNOWN); 2862 2863 PDMAUDIOBACKENDSTS fBackendStatus; 2864 if (pThis->pHostDrvAudio) 2865 { 2866 if (pThis->pHostDrvAudio->pfnGetStatus) 2867 fBackendStatus = pThis->pHostDrvAudio->pfnGetStatus(pThis->pHostDrvAudio, enmDir); 2907 2868 else 2908 backendSts = PDMAUDIOBACKENDSTS_NOT_ATTACHED;2909 2910 int rc2 = RTCritSectLeave(&pThis->CritSect);2911 if (RT_SUCCESS(rc))2912 rc = rc2; 2913 }2914 2915 LogFlowFunc LeaveRC(rc);2916 return backendSts;2869 fBackendStatus = PDMAUDIOBACKENDSTS_UNKNOWN; 2870 } 2871 else 2872 fBackendStatus = PDMAUDIOBACKENDSTS_NOT_ATTACHED; 2873 2874 RTCritSectLeave(&pThis->CritSect); 2875 2876 LogFlowFunc(("LEAVE - %#x\n", fBackendStatus)); 2877 return fBackendStatus; 2917 2878 } 2918 2879 … … 2927 2888 PDRVAUDIO pThis = PDMIAUDIOCONNECTOR_2_DRVAUDIO(pInterface); 2928 2889 2929 int rc 2= RTCritSectEnter(&pThis->CritSect);2930 AssertRC (rc2);2890 int rc = RTCritSectEnter(&pThis->CritSect); 2891 AssertRCReturn(rc, 0); 2931 2892 2932 2893 AssertMsg(pStream->enmDir == PDMAUDIODIR_IN, ("Can't read from a non-input stream\n")); … … 2966 2927 { 2967 2928 if (fDisabled) 2968 {2969 2929 LogRel(("Audio: Input for driver '%s' has been disabled, returning silence\n", pThis->szName)); 2970 }2971 2930 else 2972 2931 LogRel(("Audio: Warning: Input for stream '%s' of driver '%s' not ready (current input status is %#x), returning silence\n", … … 2986 2945 pStream->szName, cbReadable, PDMAudioPropsBytesToMilli(&pStream->Host.Cfg.Props, cbReadable))); 2987 2946 2988 rc2 = RTCritSectLeave(&pThis->CritSect); 2989 AssertRC(rc2); 2947 RTCritSectLeave(&pThis->CritSect); 2990 2948 2991 2949 /* Return bytes instead of audio frames. */ … … 3003 2961 PDRVAUDIO pThis = PDMIAUDIOCONNECTOR_2_DRVAUDIO(pInterface); 3004 2962 3005 int rc 2= RTCritSectEnter(&pThis->CritSect);3006 AssertRC (rc2);2963 int rc = RTCritSectEnter(&pThis->CritSect); 2964 AssertRCReturn(rc, 0); 3007 2965 3008 2966 AssertMsg(pStream->enmDir == PDMAUDIODIR_OUT, ("Can't write to a non-output stream\n")); … … 3023 2981 pStream->szName, cbWritable, PDMAudioPropsBytesToMilli(&pStream->Host.Cfg.Props, cbWritable))); 3024 2982 3025 rc2 = RTCritSectLeave(&pThis->CritSect); 3026 AssertRC(rc2); 2983 RTCritSectLeave(&pThis->CritSect); 3027 2984 3028 2985 return cbWritable; … … 3041 2998 PDRVAUDIO pThis = PDMIAUDIOCONNECTOR_2_DRVAUDIO(pInterface); 3042 2999 3043 int rc 2= RTCritSectEnter(&pThis->CritSect);3044 AssertRC (rc2);3000 int rc = RTCritSectEnter(&pThis->CritSect); 3001 AssertRCReturn(rc, PDMAUDIOSTREAMSTS_FLAGS_NONE); 3045 3002 3046 3003 /* Is the stream scheduled for re-initialization? Do so now. */ … … 3054 3011 Log3Func(("[%s] %s\n", pStream->szName, dbgAudioStreamStatusToStr(szStreamSts, fStrmStatus))); 3055 3012 3056 rc2 = RTCritSectLeave(&pThis->CritSect); 3057 AssertRC(rc2); 3013 RTCritSectLeave(&pThis->CritSect); 3058 3014 3059 3015 return fStrmStatus; … … 3117 3073 rc = VERR_WRONG_ORDER; 3118 3074 3119 int rc2 = RTCritSectLeave(&pThis->CritSect); 3120 if (RT_SUCCESS(rc)) 3121 rc = rc2; 3122 3075 RTCritSectLeave(&pThis->CritSect); 3123 3076 LogFlowFuncLeaveRC(rc); 3124 3077 return rc; … … 3551 3504 PDRVAUDIO pThis = PDMINS_2_DATA(pDrvIns, PDRVAUDIO); 3552 3505 3553 int rc 2= RTCritSectEnter(&pThis->CritSect);3554 AssertRC(rc 2);3506 int rc = RTCritSectEnter(&pThis->CritSect); 3507 AssertRC(rc); 3555 3508 3556 3509 pThis->pHostDrvAudio = NULL; … … 3558 3511 LogFunc(("%s\n", pThis->szName)); 3559 3512 3560 rc2 = RTCritSectLeave(&pThis->CritSect); 3561 AssertRC(rc2); 3513 RTCritSectLeave(&pThis->CritSect); 3562 3514 } 3563 3515 … … 3660 3612 LogFlowFuncEnter(); 3661 3613 3662 int rc2;3663 3664 3614 if (RTCritSectIsInitialized(&pThis->CritSect)) 3665 3615 { 3666 rc2= RTCritSectEnter(&pThis->CritSect);3667 AssertRC(rc 2);3616 int rc = RTCritSectEnter(&pThis->CritSect); 3617 AssertRC(rc); 3668 3618 } 3669 3619 … … 3682 3632 RTListForEachSafe(&pThis->lstStreams, pStream, pStreamNext, PDMAUDIOSTREAM, ListEntry) 3683 3633 { 3684 rc2= drvAudioStreamUninitInternal(pThis, pStream);3685 if (RT_SUCCESS(rc 2))3634 int rc = drvAudioStreamUninitInternal(pThis, pStream); 3635 if (RT_SUCCESS(rc)) 3686 3636 { 3687 3637 RTListNodeRemove(&pStream->ListEntry); … … 3717 3667 if (RTCritSectIsInitialized(&pThis->CritSect)) 3718 3668 { 3719 rc2= RTCritSectLeave(&pThis->CritSect);3720 AssertRC(rc 2);3721 3722 rc 2= RTCritSectDelete(&pThis->CritSect);3723 AssertRC(rc 2);3669 int rc = RTCritSectLeave(&pThis->CritSect); 3670 AssertRC(rc); 3671 3672 rc = RTCritSectDelete(&pThis->CritSect); 3673 AssertRC(rc); 3724 3674 } 3725 3675
Note:
See TracChangeset
for help on using the changeset viewer.