Index: trunk/src/VBox/Devices/Audio/AudioMixer.cpp
===================================================================
--- trunk/src/VBox/Devices/Audio/AudioMixer.cpp	(revision 88015)
+++ trunk/src/VBox/Devices/Audio/AudioMixer.cpp	(revision 88016)
@@ -614,5 +614,5 @@
      * Always use the sink's PCM audio format as the host side when creating a stream for it.
      */
-    AssertMsg(DrvAudioHlpPCMPropsAreValid(&pSink->PCMProps),
+    AssertMsg(DrvAudioHlpPcmPropsAreValid(&pSink->PCMProps),
               ("%s: Does not (yet) have a format set when it must\n", pSink->pszName));
 
@@ -1469,5 +1469,5 @@
     AssertPtrReturn(pSink,     VERR_INVALID_POINTER);
     AssertPtrReturn(pPCMProps, VERR_INVALID_POINTER);
-    AssertReturn(DrvAudioHlpPCMPropsAreValid(pPCMProps), VERR_INVALID_PARAMETER);
+    AssertReturn(DrvAudioHlpPcmPropsAreValid(pPCMProps), VERR_INVALID_PARAMETER);
 
     int rc = RTCritSectEnter(&pSink->CritSect);
Index: trunk/src/VBox/Devices/Audio/DrvAudio.cpp
===================================================================
--- trunk/src/VBox/Devices/Audio/DrvAudio.cpp	(revision 88015)
+++ trunk/src/VBox/Devices/Audio/DrvAudio.cpp	(revision 88016)
@@ -3206,5 +3206,5 @@
 
     /* Validate PCM properties. */
-    if (!DrvAudioHlpPCMPropsAreValid(&pCfgReq->Props))
+    if (!DrvAudioHlpPcmPropsAreValid(&pCfgReq->Props))
     {
         LogRel(("Audio: Invalid custom PCM properties set for stream '%s', cannot create stream\n", pStream->szName));
Index: trunk/src/VBox/Devices/Audio/DrvAudio.h
===================================================================
--- trunk/src/VBox/Devices/Audio/DrvAudio.h	(revision 88015)
+++ trunk/src/VBox/Devices/Audio/DrvAudio.h	(revision 88016)
@@ -218,5 +218,5 @@
 
 bool     DrvAudioHlpPcmPropsAreEqual(PCPDMAUDIOPCMPROPS pPCMProps1, PCPDMAUDIOPCMPROPS pPCMProps2);
-bool     DrvAudioHlpPCMPropsAreValid(PCPDMAUDIOPCMPROPS pProps);
+bool     DrvAudioHlpPcmPropsAreValid(PCPDMAUDIOPCMPROPS pProps);
 void     DrvAudioHlpPcmPropsLog(PCPDMAUDIOPCMPROPS pProps);
 /** @}  */
Index: trunk/src/VBox/Devices/Audio/DrvAudioCommon.cpp
===================================================================
--- trunk/src/VBox/Devices/Audio/DrvAudioCommon.cpp	(revision 88015)
+++ trunk/src/VBox/Devices/Audio/DrvAudioCommon.cpp	(revision 88016)
@@ -786,5 +786,5 @@
 
     if (fValid)
-        fValid = DrvAudioHlpPCMPropsAreValid(&pCfg->Props);
+        fValid = DrvAudioHlpPcmPropsAreValid(&pCfg->Props);
 
     return fValid;
@@ -1342,9 +1342,9 @@
 
 /**
- * Checks whether two given PCM properties are equal.
- *
- * @returns @c true if equal, @c false if not.
- * @param   pProps1             First properties to compare.
- * @param   pProps2             Second properties to compare.
+ * Compares two sets of PCM properties.
+ *
+ * @returns @c true if the same, @c false if not.
+ * @param   pProps1     The first set of properties to compare.
+ * @param   pProps2     The second set of properties to compare.
  */
 bool DrvAudioHlpPcmPropsAreEqual(PCPDMAUDIOPCMPROPS pProps1, PCPDMAUDIOPCMPROPS pProps2)
@@ -1356,9 +1356,9 @@
         return true;
 
-    return    pProps1->uHz         == pProps2->uHz
-           && pProps1->cChannels   == pProps2->cChannels
-           && pProps1->cbSample    == pProps2->cbSample
-           && pProps1->fSigned     == pProps2->fSigned
-           && pProps1->fSwapEndian == pProps2->fSwapEndian;
+    return pProps1->uHz         == pProps2->uHz
+        && pProps1->cChannels   == pProps2->cChannels
+        && pProps1->cbSample    == pProps2->cbSample
+        && pProps1->fSigned     == pProps2->fSigned
+        && pProps1->fSwapEndian == pProps2->fSwapEndian;
 }
 
@@ -1366,10 +1366,20 @@
  * Checks whether given PCM properties are valid or not.
  *
- * Returns @c true if properties are valid, @c false if not.
- * @param   pProps              PCM properties to check.
- */
-bool DrvAudioHlpPCMPropsAreValid(PCPDMAUDIOPCMPROPS pProps)
+ * @note  This is more of a supported than valid check.  There is code for
+ *        unsigned samples elsewhere (like DrvAudioHlpClearBuf()), but this
+ *        function will flag such properties as not valid.
+ *
+ * @todo  r=bird: See note and explain properly.
+ *
+ * @returns @c true if the properties are valid, @c false if not.
+ * @param   pProps      The PCM properties to check.
+ */
+bool DrvAudioHlpPcmPropsAreValid(PCPDMAUDIOPCMPROPS pProps)
 {
     AssertPtrReturn(pProps, false);
+
+    /** @todo r=bird: This code is cannot make up its mind whether to return on
+     *        false, or whether to return at the end. (hint: just return
+     *        immediately, duh.) */
 
     /* Minimum 1 channel (mono), maximum 7.1 (= 8) channels. */
Index: trunk/src/VBox/Devices/Audio/HDAStream.cpp
===================================================================
--- trunk/src/VBox/Devices/Audio/HDAStream.cpp	(revision 88015)
+++ trunk/src/VBox/Devices/Audio/HDAStream.cpp	(revision 88016)
@@ -868,5 +868,5 @@
         && pStreamR3->Dbg.Runtime.fEnabled)
     {
-        Assert(DrvAudioHlpPCMPropsAreValid(&pStreamShared->State.Cfg.Props));
+        Assert(DrvAudioHlpPcmPropsAreValid(&pStreamShared->State.Cfg.Props));
 
         if (fEnable)
Index: trunk/src/VBox/Devices/Audio/HDAStreamMap.cpp
===================================================================
--- trunk/src/VBox/Devices/Audio/HDAStreamMap.cpp	(revision 88015)
+++ trunk/src/VBox/Devices/Audio/HDAStreamMap.cpp	(revision 88016)
@@ -49,5 +49,5 @@
     AssertPtrReturn(pProps,   VERR_INVALID_POINTER);
 
-    if (!DrvAudioHlpPCMPropsAreValid(pProps))
+    if (!DrvAudioHlpPcmPropsAreValid(pProps))
         return VERR_INVALID_PARAMETER;
 
Index: trunk/src/VBox/Devices/Audio/HDAStreamPeriod.cpp
===================================================================
--- trunk/src/VBox/Devices/Audio/HDAStreamPeriod.cpp	(revision 88015)
+++ trunk/src/VBox/Devices/Audio/HDAStreamPeriod.cpp	(revision 88016)
@@ -83,5 +83,5 @@
     if (   !u16LVI
         || !u32CBL
-        || !DrvAudioHlpPCMPropsAreValid(&pStreamCfg->Props))
+        || !DrvAudioHlpPcmPropsAreValid(&pStreamCfg->Props))
     {
         return VERR_INVALID_PARAMETER;
Index: trunk/src/VBox/Devices/Audio/testcase/tstAudioMixBuffer.cpp
===================================================================
--- trunk/src/VBox/Devices/Audio/testcase/tstAudioMixBuffer.cpp	(revision 88015)
+++ trunk/src/VBox/Devices/Audio/testcase/tstAudioMixBuffer.cpp	(revision 88016)
@@ -63,5 +63,11 @@
 
     RTTESTI_CHECK(DrvAudioHlpGetBitrate(&s_Cfg441StereoS16) == 44100*4*8);
+    RTTESTI_CHECK(DrvAudioHlpGetBitrate(&s_Cfg441StereoU16) == 44100*4*8);
     RTTESTI_CHECK(DrvAudioHlpGetBitrate(&s_Cfg441StereoU32) == 44100*8*8);
+
+    RTTESTI_CHECK(DrvAudioHlpPcmPropsAreValid(&s_Cfg441StereoS16));
+    RTTESTI_CHECK(DrvAudioHlpPcmPropsAreValid(&s_Cfg441StereoU16) == false); /* go figure */
+    RTTESTI_CHECK(DrvAudioHlpPcmPropsAreValid(&s_Cfg441StereoU32) == false); /* go figure */
+
 
     RTTESTI_CHECK_MSG(PDMAUDIOPCMPROPS_F2B(&s_Cfg441StereoS16, 1) == 4,
@@ -193,5 +199,5 @@
     );
 
-    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&config));
+    RTTESTI_CHECK(DrvAudioHlpPcmPropsAreValid(&config));
 
     uint32_t cBufSize = _1K;
@@ -314,5 +320,5 @@
     );
 
-    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&cfg_p));
+    RTTESTI_CHECK(DrvAudioHlpPcmPropsAreValid(&cfg_p));
 
     PDMAUDIOMIXBUF parent;
@@ -329,5 +335,5 @@
     );
 
-    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&cfg_c1));
+    RTTESTI_CHECK(DrvAudioHlpPcmPropsAreValid(&cfg_c1));
 
     uint32_t cFrames      = 16;
@@ -348,5 +354,5 @@
     );
 
-    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&cfg_c2));
+    RTTESTI_CHECK(DrvAudioHlpPcmPropsAreValid(&cfg_c2));
 
     PDMAUDIOMIXBUF child2;
@@ -462,5 +468,5 @@
     );
 
-    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&cfg_p));
+    RTTESTI_CHECK(DrvAudioHlpPcmPropsAreValid(&cfg_p));
 
     PDMAUDIOMIXBUF parent;
@@ -485,5 +491,5 @@
     );
 
-    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&cfg_c));
+    RTTESTI_CHECK(DrvAudioHlpPcmPropsAreValid(&cfg_c));
 
     PDMAUDIOMIXBUF child;
@@ -567,5 +573,5 @@
     );
 
-    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&cfg_p));
+    RTTESTI_CHECK(DrvAudioHlpPcmPropsAreValid(&cfg_p));
 
     PDMAUDIOMIXBUF parent;
@@ -582,5 +588,5 @@
     );
 
-    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&cfg_c));
+    RTTESTI_CHECK(DrvAudioHlpPcmPropsAreValid(&cfg_c));
 
     PDMAUDIOMIXBUF child;
@@ -664,5 +670,5 @@
     );
 
-    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&cfg));
+    RTTESTI_CHECK(DrvAudioHlpPcmPropsAreValid(&cfg));
 
     PDMAUDIOVOLUME vol = { false, 0, 0 };   /* Not muted. */
