Index: /trunk/src/VBox/Devices/Audio/DrvAudio.cpp
===================================================================
--- /trunk/src/VBox/Devices/Audio/DrvAudio.cpp	(revision 54940)
+++ /trunk/src/VBox/Devices/Audio/DrvAudio.cpp	(revision 54941)
@@ -73,5 +73,5 @@
 static int drvAudioDestroyGstIn(PDRVAUDIO pThis, PPDMAUDIOGSTSTRMIN pGstStrmIn);
 
-static int drvAudioAllocHstIn(PDRVAUDIO pThis, PPDMAUDIOSTREAMCFG pCfg, PDMAUDIORECSOURCE enmRecSource, PPDMAUDIOHSTSTRMIN *ppHstStrmIn);
+static int drvAudioAllocHstIn(PDRVAUDIO pThis, const char *pszName, PPDMAUDIOSTREAMCFG pCfg, PDMAUDIORECSOURCE enmRecSource, PPDMAUDIOHSTSTRMIN *ppHstStrmIn);
 static int drvAudioDestroyHstIn(PDRVAUDIO pThis, PPDMAUDIOHSTSTRMIN pHstStrmIn);
 
@@ -479,5 +479,5 @@
 }
 
-static int drvAudioHstInAdd(PDRVAUDIO pThis, PPDMAUDIOSTREAMCFG pCfg, PDMAUDIORECSOURCE enmRecSource,
+static int drvAudioHstInAdd(PDRVAUDIO pThis, const char *pszName, PPDMAUDIOSTREAMCFG pCfg, PDMAUDIORECSOURCE enmRecSource,
                             PPDMAUDIOHSTSTRMIN *ppHstStrmIn)
 {
@@ -487,5 +487,5 @@
 
     PPDMAUDIOHSTSTRMIN pHstStrmIn;
-    int rc = drvAudioAllocHstIn(pThis, pCfg, enmRecSource, &pHstStrmIn);
+    int rc = drvAudioAllocHstIn(pThis, pszName, pCfg, enmRecSource, &pHstStrmIn);
     if (RT_SUCCESS(rc))
         *ppHstStrmIn = pHstStrmIn;
@@ -501,9 +501,15 @@
     if (RT_SUCCESS(rc))
     {
-        rc = audioMixBufInit(&pGstStrmOut->MixBuf, pszName, &pGstStrmOut->Props,
+        char *pszTemp;
+        if (RTStrAPrintf(&pszTemp, "%s (Guest)", pszName) <= 0)
+            return VERR_NO_MEMORY;
+
+        rc = audioMixBufInit(&pGstStrmOut->MixBuf, pszTemp, &pGstStrmOut->Props,
                              audioMixBufSize(&pHostStrmOut->MixBuf));
         if (RT_SUCCESS(rc))
             rc = audioMixBufLinkTo(&pGstStrmOut->MixBuf, &pHostStrmOut->MixBuf);
 
+        RTStrFree(pszTemp);
+
         if (RT_SUCCESS(rc))
         {
@@ -542,6 +548,5 @@
     }
 
-    PPDMAUDIOHSTSTRMOUT pHstStrmOut =
-        (PPDMAUDIOHSTSTRMOUT)RTMemAllocZ(pThis->BackendCfg.cbStreamOut);
+    PPDMAUDIOHSTSTRMOUT pHstStrmOut = (PPDMAUDIOHSTSTRMOUT)RTMemAllocZ(pThis->BackendCfg.cbStreamOut);
     if (!pHstStrmOut)
     {
@@ -559,6 +564,5 @@
 
         uint32_t cSamples;
-        rc = pThis->pHostDrvAudio->pfnInitOut(pThis->pHostDrvAudio, pHstStrmOut, pCfg,
-                                              &cSamples);
+        rc = pThis->pHostDrvAudio->pfnInitOut(pThis->pHostDrvAudio, pHstStrmOut, pCfg, &cSamples);
         if (RT_FAILURE(rc))
         {
@@ -569,5 +573,12 @@
         fInitialized = true;
 
-        rc = audioMixBufInit(&pHstStrmOut->MixBuf, pszName, &pHstStrmOut->Props, cSamples);
+        char *pszTemp;
+        if (RTStrAPrintf(&pszTemp, "%s (Host)", pszName) <= 0)
+        {
+            rc = VERR_NO_MEMORY;
+            break;
+        }
+
+        rc = audioMixBufInit(&pHstStrmOut->MixBuf, pszTemp, &pHstStrmOut->Props, cSamples);
         if (RT_SUCCESS(rc))
         {
@@ -576,4 +587,6 @@
         }
 
+        RTStrFree(pszTemp);
+
     } while (0);
 
@@ -582,6 +595,5 @@
         if (fInitialized)
         {
-            int rc2 = pThis->pHostDrvAudio->pfnFiniOut(pThis->pHostDrvAudio,
-                                                       pHstStrmOut);
+            int rc2 = pThis->pHostDrvAudio->pfnFiniOut(pThis->pHostDrvAudio, pHstStrmOut);
             AssertRC(rc2);
         }
@@ -665,15 +677,14 @@
     AssertPtrReturn(pThisCfg, VERR_INVALID_POINTER);
 
-    PPDMAUDIOGSTSTRMIN pGstStrmIn =
-        (PPDMAUDIOGSTSTRMIN)RTMemAllocZ(sizeof(PDMAUDIOGSTSTRMIN));
+    PPDMAUDIOGSTSTRMIN pGstStrmIn = (PPDMAUDIOGSTSTRMIN)RTMemAllocZ(sizeof(PDMAUDIOGSTSTRMIN));
     if (!pGstStrmIn)
         return VERR_NO_MEMORY;
 
+
     PPDMAUDIOHSTSTRMIN pHstStrmIn;
-    int rc = drvAudioHstInAdd(pThis, pThisCfg, enmRecSource, &pHstStrmIn);
+    int rc = drvAudioHstInAdd(pThis, pszName, pThisCfg, enmRecSource, &pHstStrmIn);
     if (RT_FAILURE(rc))
     {
-        LogFunc(("Failed to add host audio input stream \"%s\", rc=%Rrc\n",
-                 pszName, rc));
+        LogFunc(("Failed to add host audio input stream \"%s\", rc=%Rrc\n", pszName, rc));
 
         RTMemFree(pGstStrmIn);
@@ -717,14 +728,20 @@
     if (RT_SUCCESS(rc))
     {
-        rc = audioMixBufInit(&pGstStrmIn->MixBuf, pszName, &pHstStrmIn->Props,
+        char *pszTemp;
+        if (RTStrAPrintf(&pszTemp, "%s (Guest)", pszName) <= 0)
+            return VERR_NO_MEMORY;
+
+        rc = audioMixBufInit(&pGstStrmIn->MixBuf, pszTemp, &pHstStrmIn->Props,
                              audioMixBufSize(&pHstStrmIn->MixBuf));
         if (RT_SUCCESS(rc))
             rc = audioMixBufLinkTo(&pHstStrmIn->MixBuf, &pGstStrmIn->MixBuf);
 
+        RTStrFree(pszTemp);
+
         if (RT_SUCCESS(rc))
         {
-    #ifdef DEBUG
+#ifdef DEBUG
             drvAudioStreamCfgPrint(pCfg);
-    #endif
+#endif
             pGstStrmIn->State.fActive = false;
             pGstStrmIn->State.fEmpty  = true;
@@ -742,5 +759,5 @@
 }
 
-static int drvAudioAllocHstIn(PDRVAUDIO pThis, PPDMAUDIOSTREAMCFG pCfg,
+static int drvAudioAllocHstIn(PDRVAUDIO pThis, const char *pszName, PPDMAUDIOSTREAMCFG pCfg,
                               PDMAUDIORECSOURCE enmRecSource, PPDMAUDIOHSTSTRMIN *ppHstStrmIn)
 {
@@ -783,6 +800,12 @@
         fInitialized = true;
 
-        rc = audioMixBufInit(&pHstStrmIn->MixBuf, "HostIn", &pHstStrmIn->Props,
-                             cSamples);
+        char *pszTemp;
+        if (RTStrAPrintf(&pszTemp, "%s (Host)", pszName) <= 0)
+        {
+            rc = VERR_NO_MEMORY;
+            break;
+        }
+
+        rc = audioMixBufInit(&pHstStrmIn->MixBuf, pszTemp, &pHstStrmIn->Props, cSamples);
         if (RT_SUCCESS(rc))
         {
@@ -790,4 +813,6 @@
             pThis->cFreeInputStreams--;
         }
+
+        RTStrFree(pszTemp);
 
     } while (0);
@@ -1382,5 +1407,5 @@
             *pcbRead = 0;
         return VINF_SUCCESS;
-    } 
+    }
 
     PPDMAUDIOHSTSTRMIN pHstStrmIn = pGstStrmIn->pHstStrmIn;
@@ -1612,5 +1637,15 @@
 
         drvAudioGstInFreeRes(pGstStrmIn);
+
+        char *pszTemp;
+        if (RTStrAPrintf(&pszTemp, "%s (Guest)", pszName) <= 0)
+        {
+            RTMemFree(pGstStrmIn);
+            return VERR_NO_MEMORY;
+        }
+
         rc = drvAudioGstInInit(pGstStrmIn, pHstStrmIn, pszName, pCfg);
+
+        RTStrFree(pszTemp);
     }
     else
