other input mapping
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3822 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -304,18 +304,13 @@ MixerInput::UpdateInputChannelDestinationMask()
|
|||||||
fInputChannelInfo[i].destination_mask = GetChannelMask(i, fInputChannelMask);
|
fInputChannelInfo[i].destination_mask = GetChannelMask(i, fInputChannelMask);
|
||||||
|
|
||||||
// specialize this, depending on the available physical output channels
|
// specialize this, depending on the available physical output channels
|
||||||
switch (fCore->OutputChannelCount()) {
|
if (fCore->OutputChannelCount() <= 2) {
|
||||||
case 0:
|
// less or equal two channels
|
||||||
case 1:
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
|
||||||
if (fInputChannelCount == 1 && (GetChannelMask(0, fInputChannelMask) & (B_CHANNEL_LEFT | B_CHANNEL_RIGHT))) {
|
if (fInputChannelCount == 1 && (GetChannelMask(0, fInputChannelMask) & (B_CHANNEL_LEFT | B_CHANNEL_RIGHT))) {
|
||||||
fInputChannelInfo[0].destination_mask = B_CHANNEL_MONO;
|
fInputChannelInfo[0].destination_mask = B_CHANNEL_MONO;
|
||||||
}
|
}
|
||||||
break;
|
} else {
|
||||||
|
// more than two channel output card
|
||||||
default:
|
|
||||||
if (fInputChannelCount == 1 && (GetChannelMask(0, fInputChannelMask) & (B_CHANNEL_LEFT | B_CHANNEL_RIGHT))) {
|
if (fInputChannelCount == 1 && (GetChannelMask(0, fInputChannelMask) & (B_CHANNEL_LEFT | B_CHANNEL_RIGHT))) {
|
||||||
fInputChannelInfo[0].destination_mask = B_CHANNEL_MONO;
|
fInputChannelInfo[0].destination_mask = B_CHANNEL_MONO;
|
||||||
}
|
}
|
||||||
@@ -331,7 +326,6 @@ MixerInput::UpdateInputChannelDestinationMask()
|
|||||||
if (fInputChannelCount == 2 && (GetChannelMask(1, fInputChannelMask) & B_CHANNEL_RIGHT)) {
|
if (fInputChannelCount == 2 && (GetChannelMask(1, fInputChannelMask) & B_CHANNEL_RIGHT)) {
|
||||||
fInputChannelInfo[1].destination_mask = B_CHANNEL_RIGHT | B_CHANNEL_REARRIGHT;
|
fInputChannelInfo[1].destination_mask = B_CHANNEL_RIGHT | B_CHANNEL_REARRIGHT;
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < fInputChannelCount; i++)
|
for (int i = 0; i < fInputChannelCount; i++)
|
||||||
|
|||||||
Reference in New Issue
Block a user