diff -Nur src_old/pulseaudio/src/pulse/channelmap.c src_new/pulseaudio/src/pulse/channelmap.c
--- src_old/pulseaudio/src/pulse/channelmap.c	2012-10-05 20:41:53.220542708 -0300
+++ src_new/pulseaudio/src/pulse/channelmap.c	2012-10-18 21:18:34.177685547 -0300
@@ -261,6 +261,16 @@
                     m->map[0] = PA_CHANNEL_POSITION_MONO;
                     return m;
 
+			    case 7: // Non standard; workaround for software trying 6.1 over this
+                    m->map[6] = PA_CHANNEL_POSITION_REAR_CENTER;
+                    m->map[4] = PA_CHANNEL_POSITION_REAR_LEFT;
+                    m->map[5] = PA_CHANNEL_POSITION_REAR_RIGHT;
+                    m->map[3] = PA_CHANNEL_POSITION_LFE;
+                    m->map[2] = PA_CHANNEL_POSITION_FRONT_CENTER;
+                    m->map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
+                    m->map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
+					return m;
+
                 case 8:
                     m->map[6] = PA_CHANNEL_POSITION_SIDE_LEFT;
                     m->map[7] = PA_CHANNEL_POSITION_SIDE_RIGHT;
@@ -323,27 +333,52 @@
                     /* Fall through */
 
                 case 11:
-                    m->map[9] = PA_CHANNEL_POSITION_SIDE_LEFT;
-                    m->map[10] = PA_CHANNEL_POSITION_SIDE_RIGHT;
+                    m->map[9]  = PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER;
+                    m->map[10] = PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER;
                     /* Fall through */
 
                 case 9:
                     m->map[8] = PA_CHANNEL_POSITION_REAR_CENTER;
                     /* Fall through */
 
-                case 8:
-                    m->map[6] = PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER;
-                    m->map[7] = PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER;
-                    /* Fall through */
-
-                case 6:
+                case 8: // Assume bitmask for 7.1
+                    m->map[6] = PA_CHANNEL_POSITION_SIDE_LEFT;
+                    m->map[7] = PA_CHANNEL_POSITION_SIDE_RIGHT;
                     m->map[4] = PA_CHANNEL_POSITION_REAR_LEFT;
                     m->map[5] = PA_CHANNEL_POSITION_REAR_RIGHT;
+                    m->map[3] = PA_CHANNEL_POSITION_LFE;
+                    m->map[2] = PA_CHANNEL_POSITION_FRONT_CENTER;
+                    m->map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
+                    m->map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
+					return m;
+
+                case 7: // Assume bitmask for 6.1
+                    m->map[6] = PA_CHANNEL_POSITION_REAR_CENTER;
                     /* Fall through */
 
-                case 4:
+                case 6: // Assume bitmask for 5.1
+                    m->map[4] = PA_CHANNEL_POSITION_REAR_LEFT;
+                    m->map[5] = PA_CHANNEL_POSITION_REAR_RIGHT;
                     m->map[3] = PA_CHANNEL_POSITION_LFE;
-                    /* Fall through */
+                    m->map[2] = PA_CHANNEL_POSITION_FRONT_CENTER;
+                    m->map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
+                    m->map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
+					return m;
+
+                case 5: // Assume bitmask for 5.0
+                    m->map[3] = PA_CHANNEL_POSITION_REAR_LEFT;
+                    m->map[4] = PA_CHANNEL_POSITION_REAR_RIGHT;
+                    m->map[2] = PA_CHANNEL_POSITION_FRONT_CENTER;
+                    m->map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
+                    m->map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
+                    return m;
+
+                case 4: // Assume bitmask for 4.0
+                    m->map[2] = PA_CHANNEL_POSITION_REAR_LEFT;
+                    m->map[3] = PA_CHANNEL_POSITION_REAR_RIGHT;
+                    m->map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
+                    m->map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
+                    return m;
 
                 case 3:
                     m->map[2] = PA_CHANNEL_POSITION_FRONT_CENTER;
@@ -571,6 +606,16 @@
         map.map[4] = PA_CHANNEL_POSITION_FRONT_CENTER;
         map.map[5] = PA_CHANNEL_POSITION_LFE;
         goto finish;
+    } else if (pa_streq(s, "surround-61")) {
+        map.channels = 6;
+        map.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
+        map.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
+        map.map[2] = PA_CHANNEL_POSITION_REAR_LEFT;
+        map.map[3] = PA_CHANNEL_POSITION_REAR_RIGHT;
+        map.map[4] = PA_CHANNEL_POSITION_FRONT_CENTER;
+        map.map[5] = PA_CHANNEL_POSITION_LFE;
+        map.map[6] = PA_CHANNEL_POSITION_REAR_CENTER;
+        goto finish;
     } else if (pa_streq(s, "surround-71")) {
         map.channels = 8;
         map.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
@@ -731,6 +776,13 @@
                          PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT,
                          PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT,
                          PA_CHANNEL_POSITION_FRONT_CENTER, PA_CHANNEL_POSITION_LFE,
+						 PA_CHANNEL_POSITION_REAR_CENTER, -1))
+        return "surround-61";
+
+    if (pa_bitset_equals(in_map, PA_CHANNEL_POSITION_MAX,
+                         PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT,
+                         PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT,
+                         PA_CHANNEL_POSITION_FRONT_CENTER, PA_CHANNEL_POSITION_LFE,
                          PA_CHANNEL_POSITION_SIDE_LEFT, PA_CHANNEL_POSITION_SIDE_RIGHT, -1))
         return "surround-71";
 
@@ -785,6 +837,13 @@
 
     if (pa_bitset_equals(in_map, PA_CHANNEL_POSITION_MAX,
                          PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT,
+                         PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT,
+                         PA_CHANNEL_POSITION_FRONT_CENTER, PA_CHANNEL_POSITION_LFE,
+						 PA_CHANNEL_POSITION_REAR_CENTER, -1))
+        return _("Surround 6.1");
+
+    if (pa_bitset_equals(in_map, PA_CHANNEL_POSITION_MAX,
+                         PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT,
                          PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT,
                          PA_CHANNEL_POSITION_FRONT_CENTER, PA_CHANNEL_POSITION_LFE,
                          PA_CHANNEL_POSITION_SIDE_LEFT, PA_CHANNEL_POSITION_SIDE_RIGHT, -1))
