diff options
-rw-r--r-- | audio/pcm_bluetooth.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/audio/pcm_bluetooth.c b/audio/pcm_bluetooth.c index 2131e9ea..6f9bbe0b 100644 --- a/audio/pcm_bluetooth.c +++ b/audio/pcm_bluetooth.c @@ -46,8 +46,7 @@ #define MIN_PERIOD_TIME 1 -#define MIN_BUFFER_SIZE 256 /* minimum size of buffer */ -#define MAX_BUFFER_SIZE 16384 /* allocated RAM for buffer */ +#define BUFFER_SIZE 2048 #ifdef ENABLE_DEBUG #define DBG(fmt, arg...) printf("DEBUG: %s: " fmt "\n" , __FUNCTION__ , ## arg) @@ -71,7 +70,7 @@ struct bluetooth_a2dp { sbc_t sbc; /* Codec data */ int codesize; /* SBC codesize */ int samples; /* Number of encoded samples */ - uint8_t buffer[MAX_BUFFER_SIZE];/* Codec transfer buffer */ + uint8_t buffer[BUFFER_SIZE]; /* Codec transfer buffer */ int count; /* Codec transfer buffer counter */ int nsamples; /* Cumulative number of codec samples */ @@ -85,7 +84,7 @@ struct bluetooth_data { struct ipc_data_cfg cfg; /* Bluetooth device config */ struct pollfd stream; /* Audio stream filedescriptor */ struct pollfd server; /* Audio daemon filedescriptor */ - uint8_t buffer[MAX_BUFFER_SIZE];/* Encoded transfer buffer */ + uint8_t buffer[BUFFER_SIZE]; /* Encoded transfer buffer */ int count; /* Transfer buffer counter */ struct bluetooth_a2dp a2dp; /* A2DP data */ @@ -893,22 +892,12 @@ static int bluetooth_a2dp_hw_constraint(snd_pcm_ioplug_t *io) err = snd_pcm_ioplug_set_param_minmax(io, SND_PCM_IOPLUG_HW_PERIOD_BYTES, a2dp->codesize, - MAX_BUFFER_SIZE / 2); + a2dp->codesize); if (err < 0) return err; - /* supported buffer sizes */ - err = snd_pcm_ioplug_set_param_minmax(io, - SND_PCM_IOPLUG_HW_BUFFER_BYTES, - MIN_BUFFER_SIZE, - MAX_BUFFER_SIZE); - if (err < 0) - return err; - - /* supported period count: - * - derived from max buffer size and minimum period size */ err = snd_pcm_ioplug_set_param_minmax(io, SND_PCM_IOPLUG_HW_PERIODS, - 2, MAX_BUFFER_SIZE / a2dp->codesize); + 2, 50); if (err < 0) return err; |