On 13-03-01 2:17 PM, Erik de Castro Lopo wrote:

> Ralph, looks like there's a missing closing brace there. Do you want to fix
> it and resubmit or should I fix it?

Sorry about that. Is this one better?

 -r

commit 93d92eb5e98cacd8cab185a0bfdaafb795b14b22
Author: Ralph Giles <gi...@mozilla.com>
Date:   Thu Jan 17 16:21:45 2013 -0800

    Add appropriate WAV channel masks for 7 and 8 channel files.
    
    This commit accepts the new default channel masks for 6.1 and 7.1
    surround input WAV files, and writes the corresponding masks when
    decoding to WAV without a channel mask from the metadata block.
    
    The local copy of the format spec is also updated with the new text
    from the flac-website repository.

diff --git a/doc/html/format.html b/doc/html/format.html
index a8a539e..87f6413 100644
--- a/doc/html/format.html
+++ b/doc/html/format.html
@@ -1247,11 +1247,11 @@
                                                <li>1 channel: mono</li>
                                                <li>2 channels: left, right</li>
                                                <li>3 channels: left, right, 
center</li>
-                                               <li>4 channels: left, right, 
back left, back right</li>
-                                               <li>5 channels: left, right, 
center, back/surround left, back/surround right</li>
-                                               <li>6 channels: left, right, 
center, LFE, back/surround left, back/surround right</li>
-                                               <li>7 channels: not defined</li>
-                                               <li>8 channels: not defined</li>
+                                               <li>4 channels: front left, 
front right, back left, back right</li>
+                                               <li>5 channels: front left, 
front right, front center, back/surround left, back/surround right</li>
+                                               <li>6 channels: front left, 
front right, front center, LFE, back/surround left, back/surround right</li>
+                                               <li>7 channels: front left, 
front right, front center, LFE, back center, side left, side right</li>
+                                               <li>8 channels: front left, 
front right, front center, LFE, back left, back right, side left, side 
right</li>
                                        </ul>
                                </li>
                                <li>
diff --git a/src/flac/decode.c b/src/flac/decode.c
index 98fc430..77acb7c 100644
--- a/src/flac/decode.c
+++ b/src/flac/decode.c
@@ -354,6 +354,12 @@ FLAC__bool DecoderSession_process(DecoderSession *d)
                else if(d->channels == 6) {
                        d->channel_mask = 0x060f;
                }
+                else if(d->channels == 7) {
+                        d->channel_mask = 0x070f;
+                }
+                else if(d->channels == 8) {
+                        d->channel_mask = 0x063f;
+                }
        }
 
        /* write the WAVE/AIFF headers if necessary */
diff --git a/src/flac/encode.c b/src/flac/encode.c
index eeea08a..58cdc77 100644
--- a/src/flac/encode.c
+++ b/src/flac/encode.c
@@ -481,7 +481,9 @@ static FLAC__bool get_sample_info_wave(EncoderSession *e, 
encode_options_t optio
                                        channel_mask == 0x0037 || /* 5 
channels: front left, front right, front center, back left, back right */
                                        channel_mask == 0x0607 || /* 5 
channels: front left, front right, front center, side left, side right */
                                        channel_mask == 0x003f || /* 6 
channels: front left, front right, front center, LFE, back left, back right */
-                                       channel_mask == 0x060f    /* 6 
channels: front left, front right, front center, LFE, side left, side right */
+                                       channel_mask == 0x060f || /* 6 
channels: front left, front right, front center, LFE, side left, side right */
+                                        channel_mask == 0x070f || /* 7 
channels: front left, front right, front center, LFE, back center, side left, 
side right */
+                                        channel_mask == 0x063f    /* 8 
channels: front left, front right, front center, LFE, back left, back right, 
side left, side right */
                                ) {
                                        /* keep default channel order */
                                }
_______________________________________________
flac-dev mailing list
flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev

Reply via email to