I have just uploaded oggdropXPdV1.8.7alpha here:
http://homepage.ntlworld.com/jfe1205/oggdr...pha-generic.zipThe only real changes here are that I have modified the i/o routines to handle multi-channel input with channels re-mapped to the vorbis specs and also to re-map on decode. In both cases, WAVEFORMATEXTENSIBLE headers are read/written as appropriate.
I've tested this with 5.1 and it appears to function correctly. I'd much appreciate some testing with other channel configurations that fall within the vorbis spec. Channel configurations that are outside the vorbis spec are simply processed in the order presented.
Valid configurations within the vorbis spec are:
Mono = Front Left.
In WAVEFORMATEXTENSIBLE = SPEAKER_FRONT_LEFT
Stereo = Front Left, Front Right.
In WAVEFORMATEXTENSIBLE = SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT
3 Channel = Front Left, Front Centre, Front Right.
In WAVEFORMATEXTENSIBLE = SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER
4 Channel = Front Left, Front Right, Rear Left, Rear Right
In WAVEFORMATEXTENSIBLE = SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT
5 Channel = Front Left, Front Centre, Front Right, Rear Left, Rear Right
In WAVEFORMATEXTENSIBLE = SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER
| SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT
I would appreciate feedback even if only to tell me that the re-mapping is OK.