08.08.2014 15:11, Tanu Kaskinen wrote:
Ok, if a surround map actually improves things, even though it doesn't
make conceptual sense, feel free to apply this patch.

No comments here, as I cannot test it.

Would you agree that it would be good to modify the remapping/remixing
logic so that if one side of the remapping has only unspecified
channels, then the mapping should be simply channel index based, i.e. if
the other side has channels aux1,aux2,aux3,aux4 and the other side has
front-left,front-right, then aux1 should be mapped to front-left, aux2
to front-right and aux3 and aux4 should be discarded? Pretending that a
4-channel mic array has rear channels doesn't make sense - if an
application records a stereo stream, I don't think remixing the
pseudo-rear channels to the stream is likely to have any better result
than just picking the two first channels of the array.

It would be nice to see what each channel of that device actually contains if the sound source moves from left to right (i.e. whether the layout is actually stereo compatible). Or maybe that's device-specific - e.g. what if one connects a TetraMic to a USB sound card?

According to http://www.core-sound.com/TetraMic/2.php , the 4-channel layout happens to be stereo-compatible.

A separate issue that came to my mind is that I'd actually prefer using
the mono channel position to mean "undefined". That is, instead of using
maps like aux1,aux2,aux3,aux4, I'd like to use mono,mono,mono,mono. The
remixing logic of course then needs to be adapted to treat mono channels
as undefined instead of thinking that all four channels should be mapped
to all the counter party channels like I think is currently done (if
there's only one mono channel, that should be treated as a special case
with the same semantics as are currently used). The name "mono" is
unfortunate, because it implies that there is only one channel in the
stream, so having multiple mono channels in one stream appears strange.
It would be nice to have "unspecified" as the name instead - I think
this can be made an alias. Something to note is that alsa doesn't have a
"mono" at all in its position enumeration, but it does have
"unspecified".

This applies to playback, too.

pa_simple_new() without a channel map should ideally result in an
unspecified channel map, not a surround map. Changing this requires
fixing the remapping logic first, though.

If you agree that these changes would be a good thing, I'll add that to
my "list of things to do during the next decade" (it's a long todo list
of random lower priority things that I work on occasionally in fifo
order).

May I look at the other items in this list?

--
Alexander E. Patrakov
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to