Index: /trunk/src/VBox/Devices/Audio/DrvHostALSAAudio.cpp
===================================================================
--- /trunk/src/VBox/Devices/Audio/DrvHostALSAAudio.cpp	(revision 87298)
+++ /trunk/src/VBox/Devices/Audio/DrvHostALSAAudio.cpp	(revision 87299)
@@ -161,6 +161,4 @@
 static int alsaALSAToAudioProps(snd_pcm_format_t fmt, PPDMAUDIOPCMPROPS pProps)
 {
-    /** @todo r=bird: Why isn't this code setting fSwapEndian for every case? It
-     *        seems to make some UNDOCUMENT ASSUMPTIONS about pProps. */
     switch (fmt)
     {
@@ -168,4 +166,5 @@
             pProps->cbSample    = 1;
             pProps->fSigned     = true;
+            pProps->fSwapEndian = false;
             break;
 
@@ -173,4 +172,5 @@
             pProps->cbSample    = 1;
             pProps->fSigned     = false;
+            pProps->fSwapEndian = false;
             break;
 
@@ -178,4 +178,5 @@
             pProps->cbSample    = 2;
             pProps->fSigned     = true;
+            pProps->fSwapEndian = false;
             break;
 
@@ -183,4 +184,5 @@
             pProps->cbSample    = 2;
             pProps->fSigned     = false;
+            pProps->fSwapEndian = false;
             break;
 
@@ -204,4 +206,5 @@
             pProps->cbSample    = 4;
             pProps->fSigned     = true;
+            pProps->fSwapEndian = false;
             break;
 
@@ -209,4 +212,5 @@
             pProps->cbSample    = 4;
             pProps->fSigned     = false;
+            pProps->fSwapEndian = false;
             break;
 
@@ -231,6 +235,7 @@
     }
 
-    Assert(pProps->cbSample > 0);
-    Assert(pProps->cChannels > 0);
+    AssertReturn(pProps->cbSample > 0,  VERR_NOT_SUPPORTED);
+    AssertReturn(pProps->cChannels > 0, VERR_INVALID_PARAMETER);
+
     pProps->cShift = PDMAUDIOPCMPROPS_MAKE_SHIFT_PARMS(pProps->cbSample, pProps->cChannels);
 
