From c22a53d373f840569c56a1b3f6a774fc94b1e1e1 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 1 Aug 2006 10:07:07 +0000 Subject: audio: remove AUDIO_MAX_DEVICES limit Some people have more than 8 devices (the old limit). It's pretty easy to support as many as our hardware and OS allows so we might as well. git-svn-id: https://svn.musicpd.org/mpd/trunk@4513 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/playerData.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/playerData.c') diff --git a/src/playerData.c b/src/playerData.c index b5f8aadd4..f566b5c79 100644 --- a/src/playerData.c +++ b/src/playerData.c @@ -45,6 +45,7 @@ void initPlayerData(void) size_t allocationSize; OutputBuffer *buffer; ConfigParam *param; + size_t device_array_size = audio_device_count() * sizeof(mpd_sint8); param = getConfigParam(CONF_AUDIO_BUFFER_SIZE); @@ -91,6 +92,9 @@ void initPlayerData(void) allocationSize += buffered_chunks * sizeof(mpd_sint8); /*for metaChunk */ allocationSize += sizeof(PlayerData); /*for playerData struct */ + /* for audioDeviceEnabled[] */ + allocationSize += device_array_size; + if ((shmid = shmget(IPC_PRIVATE, allocationSize, IPC_CREAT | 0600)) < 0) { ERROR("problems shmget'ing\n"); exit(EXIT_FAILURE); @@ -104,6 +108,8 @@ void initPlayerData(void) exit(EXIT_FAILURE); } + playerData_pd->audioDeviceEnabled = (char *)playerData_pd + + allocationSize - device_array_size; buffer = &(playerData_pd->buffer); buffer->chunks = ((char *)playerData_pd) + sizeof(PlayerData); -- cgit v1.2.3