summaryrefslogtreecommitdiff
path: root/src/xine-engine/audio_out.c
diff options
context:
space:
mode:
authorJames Courtier-Dutton <jcdutton@users.sourceforge.net>2003-09-01 04:08:41 +0000
committerJames Courtier-Dutton <jcdutton@users.sourceforge.net>2003-09-01 04:08:41 +0000
commitb822540787bcecffb5170ac808ebb7df9f01a0d1 (patch)
treec018376325e4705c9ea428bd55d95269bc364e1f /src/xine-engine/audio_out.c
parentb9eb785a112c0a759fc30152a88ee2e9f38a11f2 (diff)
downloadxine-lib-b822540787bcecffb5170ac808ebb7df9f01a0d1.tar.gz
xine-lib-b822540787bcecffb5170ac808ebb7df9f01a0d1.tar.bz2
Add proper support for 4.1 and 5 channel setups.
For 4.1, the output comes out on 3 stereo jacks, but the Center has been mixed with the Front speakers. For 5, the LFE channel has been dropped. CVS patchset: 5324 CVS date: 2003/09/01 04:08:41
Diffstat (limited to 'src/xine-engine/audio_out.c')
-rw-r--r--src/xine-engine/audio_out.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/xine-engine/audio_out.c b/src/xine-engine/audio_out.c
index 7df86a47c..43bd0b3aa 100644
--- a/src/xine-engine/audio_out.c
+++ b/src/xine-engine/audio_out.c
@@ -17,7 +17,7 @@
* along with self program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: audio_out.c,v 1.139 2003/08/29 20:35:44 miguelfreitas Exp $
+ * $Id: audio_out.c,v 1.140 2003/09/01 04:08:41 jcdutton Exp $
*
* 22-8-2001 James imported some useful AC3 sections from the previous alsa driver.
* (c) 2001 Andy Lo A Foe <andy@alsaplayer.org>
@@ -480,8 +480,8 @@ static int mode_channels( int mode ) {
return 2;
case AO_CAP_MODE_4CHANNEL:
return 4;
+ case AO_CAP_MODE_4_1CHANNEL:
case AO_CAP_MODE_5CHANNEL:
- return 5;
case AO_CAP_MODE_5_1CHANNEL:
return 6;
}
@@ -675,12 +675,8 @@ static audio_buffer_t* prepare_samples( aos_t *this, audio_buffer_t *buf) {
this->frame_buf[1]->mem, num_output_frames);
buf = swap_frame_buffers(this);
break;
+ case AO_CAP_MODE_4_1CHANNEL:
case AO_CAP_MODE_5CHANNEL:
- ensure_buffer_size(this->frame_buf[1], 10, num_output_frames);
- audio_out_resample_5channel (buf->mem, buf->num_frames,
- this->frame_buf[1]->mem, num_output_frames);
- buf = swap_frame_buffers(this);
- break;
case AO_CAP_MODE_5_1CHANNEL:
ensure_buffer_size(this->frame_buf[1], 12, num_output_frames);
audio_out_resample_6channel (buf->mem, buf->num_frames,
@@ -1290,9 +1286,8 @@ static int ao_open(xine_audio_port_t *this_gen, xine_stream_t *stream,
case AO_CAP_MODE_4CHANNEL:
stream->stream_info[XINE_STREAM_INFO_AUDIO_CHANNELS] = 4;
break;
+ case AO_CAP_MODE_4_1CHANNEL:
case AO_CAP_MODE_5CHANNEL:
- stream->stream_info[XINE_STREAM_INFO_AUDIO_CHANNELS] = 5;
- break;
case AO_CAP_MODE_5_1CHANNEL:
stream->stream_info[XINE_STREAM_INFO_AUDIO_CHANNELS] = 6;
break;