From 3ce277ca1fc2ad9b4105f0697a153a90eb457ebc Mon Sep 17 00:00:00 2001
From: Jean-Marc Valin <jean-marc.valin@octasic.com>
Date: Mon, 31 Jan 2011 11:34:57 -0500
Subject: [PATCH] Some initial work on stereo support (not complete)

---
 src/opus.h         | 4 ++--
 src/opus_decoder.c | 4 ++--
 src/opus_encoder.c | 4 ++--
 src/test_opus.c    | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/opus.h b/src/opus.h
index 85578fa18..26f47250e 100644
--- a/src/opus.h
+++ b/src/opus.h
@@ -77,7 +77,7 @@ extern "C" {
 typedef struct OpusEncoder OpusEncoder;
 typedef struct OpusDecoder OpusDecoder;
 
-OpusEncoder *opus_encoder_create(int Fs);
+OpusEncoder *opus_encoder_create(int Fs, int channels);
 
 int opus_encode(OpusEncoder *st, const short *pcm, int frame_size,
 		unsigned char *data, int bytes_per_packet);
@@ -86,7 +86,7 @@ void opus_encoder_destroy(OpusEncoder *st);
 
 void opus_encoder_ctl(OpusEncoder *st, int request, ...);
 
-OpusDecoder *opus_decoder_create(int Fs);
+OpusDecoder *opus_decoder_create(int Fs, int channels);
 
 int opus_decode(OpusDecoder *st, const unsigned char *data, int len,
 		short *pcm, int frame_size);
diff --git a/src/opus_decoder.c b/src/opus_decoder.c
index d15c97682..52d044af7 100644
--- a/src/opus_decoder.c
+++ b/src/opus_decoder.c
@@ -42,7 +42,7 @@
 #include "SKP_Silk_SDK_API.h"
 
 
-OpusDecoder *opus_decoder_create(int Fs)
+OpusDecoder *opus_decoder_create(int Fs, int channels)
 {
     char *raw_state;
 	int ret, silkDecSizeBytes, celtDecSizeBytes;
@@ -68,7 +68,7 @@ OpusDecoder *opus_decoder_create(int Fs)
     }
 
 	/* Initialize CELT decoder */
-	st->celt_dec = celt_decoder_init(st->celt_dec, 48000, 1, NULL);
+	st->celt_dec = celt_decoder_init(st->celt_dec, 48000, channels, NULL);
 
 	return st;
 
diff --git a/src/opus_encoder.c b/src/opus_encoder.c
index 7de1b21ca..54a5c3dd0 100644
--- a/src/opus_encoder.c
+++ b/src/opus_encoder.c
@@ -41,7 +41,7 @@
 #include "modes.h"
 #include "SKP_Silk_SDK_API.h"
 
-OpusEncoder *opus_encoder_create(int Fs)
+OpusEncoder *opus_encoder_create(int Fs, int channels)
 {
     char *raw_state;
 	OpusEncoder *st;
@@ -73,7 +73,7 @@ OpusEncoder *opus_encoder_create(int Fs)
 
     /* Create CELT encoder */
 	/* Initialize CELT encoder */
-	st->celt_enc = celt_encoder_init(st->celt_enc, Fs, 1, NULL);
+	st->celt_enc = celt_encoder_init(st->celt_enc, Fs, channels, NULL);
 
 	st->mode = MODE_HYBRID;
 	st->bandwidth = BANDWIDTH_FULLBAND;
diff --git a/src/test_opus.c b/src/test_opus.c
index 5dbca2095..c7d6cbbd6 100644
--- a/src/test_opus.c
+++ b/src/test_opus.c
@@ -105,8 +105,8 @@ int main(int argc, char *argv[])
       return 1;
    }
 
-   enc = opus_encoder_create(rate);
-   dec = opus_decoder_create(rate);
+   enc = opus_encoder_create(rate, channels);
+   dec = opus_decoder_create(rate, channels);
 
    mode = MODE_HYBRID;
    opus_encoder_ctl(enc, OPUS_SET_BANDWIDTH(BANDWIDTH_FULLBAND));
-- 
GitLab