diff options
author | James Courtier-Dutton <jcdutton@users.sourceforge.net> | 2003-09-01 04:08:41 +0000 |
---|---|---|
committer | James Courtier-Dutton <jcdutton@users.sourceforge.net> | 2003-09-01 04:08:41 +0000 |
commit | b822540787bcecffb5170ac808ebb7df9f01a0d1 (patch) | |
tree | c018376325e4705c9ea428bd55d95269bc364e1f /src/xine-engine/audio_out.c | |
parent | b9eb785a112c0a759fc30152a88ee2e9f38a11f2 (diff) | |
download | xine-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.c | 13 |
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; |