From: Johan Hedberg Date: Wed, 30 Jun 2010 08:55:11 +0000 (+0300) Subject: sbc: Fix signedness of libsbc parameters X-Git-Tag: android-x86-6.0-r1~78 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=82dc5650ecf44397d6231b1d5eefe4b1df29ca42;hp=61c38c14862086f87f23e82ce56eaf336f396196;p=android-x86%2Fexternal-bluetooth-sbc.git sbc: Fix signedness of libsbc parameters The written parameter of sbc_encode can be negative so it should be ssize_t instead of size_t. --- diff --git a/sbc/sbc.c b/sbc/sbc.c index 569dd7c..1921585 100644 --- a/sbc/sbc.c +++ b/sbc/sbc.c @@ -743,7 +743,7 @@ static int sbc_analyze_audio(struct sbc_encoder_state *state, * -99 not implemented */ -static SBC_ALWAYS_INLINE int sbc_pack_frame_internal(uint8_t *data, +static SBC_ALWAYS_INLINE ssize_t sbc_pack_frame_internal(uint8_t *data, struct sbc_frame *frame, size_t len, int frame_subbands, int frame_channels, int joint) @@ -860,7 +860,7 @@ static SBC_ALWAYS_INLINE int sbc_pack_frame_internal(uint8_t *data, return data_ptr - data; } -static int sbc_pack_frame(uint8_t *data, struct sbc_frame *frame, size_t len, +static ssize_t sbc_pack_frame(uint8_t *data, struct sbc_frame *frame, size_t len, int joint) { if (frame->subbands == 4) { @@ -1005,10 +1005,11 @@ ssize_t sbc_decode(sbc_t *sbc, const void *input, size_t input_len, } ssize_t sbc_encode(sbc_t *sbc, const void *input, size_t input_len, - void *output, size_t output_len, size_t *written) + void *output, size_t output_len, ssize_t *written) { struct sbc_priv *priv; - int framelen, samples; + int samples; + ssize_t framelen; int (*sbc_enc_process_input)(int position, const uint8_t *pcm, int16_t X[2][SBC_X_BUFFER_SIZE], int nsamples, int nchannels); diff --git a/sbc/sbc.h b/sbc/sbc.h index 91422a9..2f830ad 100644 --- a/sbc/sbc.h +++ b/sbc/sbc.h @@ -92,7 +92,7 @@ ssize_t sbc_decode(sbc_t *sbc, const void *input, size_t input_len, /* Encodes ONE input block into ONE output block */ ssize_t sbc_encode(sbc_t *sbc, const void *input, size_t input_len, - void *output, size_t output_len, size_t *written); + void *output, size_t output_len, ssize_t *written); /* Returns the output block size in bytes */ size_t sbc_get_frame_length(sbc_t *sbc); diff --git a/sbc/sbcenc.c b/sbc/sbcenc.c index b5e0541..3d3a7dc 100644 --- a/sbc/sbcenc.c +++ b/sbc/sbcenc.c @@ -50,7 +50,7 @@ static void encode(char *filename, int subbands, int bitpool, int joint, struct au_header au_hdr; sbc_t sbc; int fd, size, srate, codesize, nframes; - size_t encoded; + ssize_t encoded; ssize_t len; if (sizeof(au_hdr) != 24) {