mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	fix prototypes of sbc functions a bit
This commit is contained in:
		
							parent
							
								
									794775bb51
								
							
						
					
					
						commit
						291d21c4ba
					
				
					 3 changed files with 32 additions and 17 deletions
				
			
		| 
						 | 
				
			
			@ -949,7 +949,7 @@ static int a2dp_process_render(struct userdata *u) {
 | 
			
		|||
    void *d;
 | 
			
		||||
    const void *p;
 | 
			
		||||
    unsigned frame_count;
 | 
			
		||||
    int written;
 | 
			
		||||
    size_t written;
 | 
			
		||||
    uint64_t writing_at;
 | 
			
		||||
 | 
			
		||||
    pa_assert(u);
 | 
			
		||||
| 
						 | 
				
			
			@ -975,14 +975,14 @@ static int a2dp_process_render(struct userdata *u) {
 | 
			
		|||
    writing_at = u->write_index;
 | 
			
		||||
 | 
			
		||||
    do {
 | 
			
		||||
        int encoded;
 | 
			
		||||
        ssize_t encoded;
 | 
			
		||||
 | 
			
		||||
        if (!u->write_memchunk.memblock)
 | 
			
		||||
            pa_sink_render_full(u->sink, u->block_size, &u->write_memchunk);
 | 
			
		||||
 | 
			
		||||
        p = (const uint8_t*) pa_memblock_acquire(u->write_memchunk.memblock) + u->write_memchunk.index;
 | 
			
		||||
        encoded = sbc_encode(&a2dp->sbc,
 | 
			
		||||
                             (void*) p, u->write_memchunk.length,
 | 
			
		||||
                             p, u->write_memchunk.length,
 | 
			
		||||
                             d, left,
 | 
			
		||||
                             &written);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -997,10 +997,11 @@ static int a2dp_process_render(struct userdata *u) {
 | 
			
		|||
            return -1;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        pa_assert(written >= 0);
 | 
			
		||||
 | 
			
		||||
        pa_assert((size_t) encoded <= u->write_memchunk.length);
 | 
			
		||||
        pa_assert((size_t) encoded == sbc_get_codesize(&a2dp->sbc));
 | 
			
		||||
 | 
			
		||||
        pa_assert((size_t) written <= left);
 | 
			
		||||
        pa_assert((size_t) written == sbc_get_frame_length(&a2dp->sbc));
 | 
			
		||||
 | 
			
		||||
/*         pa_log_debug("SBC: encoded: %d; written: %d", encoded, written); */
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1019,7 +1020,7 @@ static int a2dp_process_render(struct userdata *u) {
 | 
			
		|||
 | 
			
		||||
        frame_count++;
 | 
			
		||||
 | 
			
		||||
    } while ((uint8_t*) d - (uint8_t*) a2dp->buffer + written < (ptrdiff_t) u->link_mtu);
 | 
			
		||||
    } while (((uint8_t*) d - ((uint8_t*) a2dp->buffer + sbc_get_frame_length(&a2dp->sbc))) < (ptrdiff_t) u->link_mtu);
 | 
			
		||||
 | 
			
		||||
    /* write it to the fifo */
 | 
			
		||||
    memset(a2dp->buffer, 0, sizeof(*header) + sizeof(*payload));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1044,8 +1044,10 @@ int sbc_decode(sbc_t *sbc, void *input, int input_len, void *output,
 | 
			
		|||
	return framelen;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int sbc_encode(sbc_t *sbc, void *input, int input_len, void *output,
 | 
			
		||||
		int output_len, int *written)
 | 
			
		||||
ssize_t sbc_encode(sbc_t *sbc,
 | 
			
		||||
               const void *input, size_t input_len,
 | 
			
		||||
               void *output, size_t output_len,
 | 
			
		||||
               size_t *written)
 | 
			
		||||
{
 | 
			
		||||
	struct sbc_priv *priv;
 | 
			
		||||
	int framelen, samples;
 | 
			
		||||
| 
						 | 
				
			
			@ -1133,9 +1135,9 @@ void sbc_finish(sbc_t *sbc)
 | 
			
		|||
	memset(sbc, 0, sizeof(sbc_t));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int sbc_get_frame_length(sbc_t *sbc)
 | 
			
		||||
size_t sbc_get_frame_length(sbc_t *sbc)
 | 
			
		||||
{
 | 
			
		||||
	int ret;
 | 
			
		||||
	size_t ret;
 | 
			
		||||
	uint8_t subbands, channels, blocks, joint;
 | 
			
		||||
	struct sbc_priv *priv;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1164,7 +1166,7 @@ int sbc_get_frame_length(sbc_t *sbc)
 | 
			
		|||
	return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int sbc_get_frame_duration(sbc_t *sbc)
 | 
			
		||||
unsigned sbc_get_frame_duration(sbc_t *sbc)
 | 
			
		||||
{
 | 
			
		||||
	uint8_t subbands, blocks;
 | 
			
		||||
	uint16_t frequency;
 | 
			
		||||
| 
						 | 
				
			
			@ -1202,7 +1204,7 @@ int sbc_get_frame_duration(sbc_t *sbc)
 | 
			
		|||
	return (1000000 * blocks * subbands) / frequency;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
uint16_t sbc_get_codesize(sbc_t *sbc)
 | 
			
		||||
size_t sbc_get_codesize(sbc_t *sbc)
 | 
			
		||||
{
 | 
			
		||||
	uint16_t subbands, channels, blocks;
 | 
			
		||||
	struct sbc_priv *priv;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,6 +31,7 @@ extern "C" {
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
 | 
			
		||||
/* sampling frequency */
 | 
			
		||||
#define SBC_FREQ_16000		0x00
 | 
			
		||||
| 
						 | 
				
			
			@ -84,11 +85,22 @@ int sbc_reinit(sbc_t *sbc, unsigned long flags);
 | 
			
		|||
int sbc_parse(sbc_t *sbc, void *input, int input_len);
 | 
			
		||||
int sbc_decode(sbc_t *sbc, void *input, int input_len, void *output,
 | 
			
		||||
		int output_len, int *len);
 | 
			
		||||
int sbc_encode(sbc_t *sbc, void *input, int input_len, void *output,
 | 
			
		||||
		int output_len, int *written);
 | 
			
		||||
int sbc_get_frame_length(sbc_t *sbc);
 | 
			
		||||
int sbc_get_frame_duration(sbc_t *sbc);
 | 
			
		||||
uint16_t sbc_get_codesize(sbc_t *sbc);
 | 
			
		||||
 | 
			
		||||
/* 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);
 | 
			
		||||
 | 
			
		||||
/* Returns the output block size in bytes */
 | 
			
		||||
size_t sbc_get_frame_length(sbc_t *sbc);
 | 
			
		||||
 | 
			
		||||
/* Returns the time one input/output block takes to play in msec*/
 | 
			
		||||
unsigned sbc_get_frame_duration(sbc_t *sbc);
 | 
			
		||||
 | 
			
		||||
/* Returns the input block size in bytes */
 | 
			
		||||
size_t sbc_get_codesize(sbc_t *sbc);
 | 
			
		||||
 | 
			
		||||
const char *sbc_get_implementation_info(sbc_t *sbc);
 | 
			
		||||
void sbc_finish(sbc_t *sbc);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue