mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-12-22 08:56:52 -05:00
memblock: Add pa_memblock_acquire_chunk().
Besides making the code a bit cleaner, this also gets rid of a few "cast increases required alignment of target type" warnings.
This commit is contained in:
parent
33e5802df2
commit
3d6092bb0f
16 changed files with 52 additions and 40 deletions
|
|
@ -532,7 +532,7 @@ static int hsp_process_render(struct userdata *u) {
|
|||
* SEQPACKET, and we generated the data of the MTU size, so this
|
||||
* should just work. */
|
||||
|
||||
p = (const uint8_t*) pa_memblock_acquire(u->write_memchunk.memblock) + u->write_memchunk.index;
|
||||
p = (const uint8_t *) pa_memblock_acquire_chunk(&u->write_memchunk);
|
||||
l = pa_write(u->stream_fd, p, u->write_memchunk.length, &u->stream_write_type);
|
||||
pa_memblock_release(u->write_memchunk.memblock);
|
||||
|
||||
|
|
@ -706,7 +706,7 @@ static int a2dp_process_render(struct userdata *u) {
|
|||
|
||||
/* Try to create a packet of the full MTU */
|
||||
|
||||
p = (const uint8_t*) pa_memblock_acquire(u->write_memchunk.memblock) + u->write_memchunk.index;
|
||||
p = (const uint8_t *) pa_memblock_acquire_chunk(&u->write_memchunk);
|
||||
to_encode = u->write_memchunk.length;
|
||||
|
||||
d = (uint8_t*) a2dp->buffer + sizeof(*header) + sizeof(*payload);
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse
|
|||
|
||||
pa_sink_render_full(u->sink, nbytes, &chunk);
|
||||
|
||||
p = (uint8_t*) pa_memblock_acquire(chunk.memblock) + chunk.index;
|
||||
p = pa_memblock_acquire_chunk(&chunk);
|
||||
pa_deinterleave(p, u->buffer, u->channels, sizeof(float), (unsigned) offset);
|
||||
pa_memblock_release(chunk.memblock);
|
||||
|
||||
|
|
|
|||
|
|
@ -575,7 +575,7 @@ static void process_samples(struct userdata *u){
|
|||
static void input_buffer(struct userdata *u, pa_memchunk *in){
|
||||
size_t fs = pa_frame_size(&(u->sink->sample_spec));
|
||||
size_t samples = in->length/fs;
|
||||
float *src = (float*) ((uint8_t*) pa_memblock_acquire(in->memblock) + in->index);
|
||||
float *src = pa_memblock_acquire_chunk(in);
|
||||
pa_assert(u->samples_gathered + samples <= u->input_buffer_max);
|
||||
for(size_t c = 0; c < u->channels; c++) {
|
||||
//buffer with an offset after the overlap from previous
|
||||
|
|
|
|||
|
|
@ -488,8 +488,8 @@ static int sink_input_pop_cb(pa_sink_input *i, size_t nbytes, pa_memchunk *chunk
|
|||
|
||||
pa_memblockq_drop(u->memblockq, chunk->length);
|
||||
|
||||
src = (float*) ((uint8_t*) pa_memblock_acquire(tchunk.memblock) + tchunk.index);
|
||||
dst = (float*) pa_memblock_acquire(chunk->memblock);
|
||||
src = pa_memblock_acquire_chunk(&tchunk);
|
||||
dst = pa_memblock_acquire(chunk->memblock);
|
||||
|
||||
for (h = 0; h < (u->channels / u->max_ladspaport_count); h++) {
|
||||
for (c = 0; c < u->input_count; c++)
|
||||
|
|
|
|||
|
|
@ -238,8 +238,8 @@ static int sink_input_pop_cb(pa_sink_input *i, size_t nbytes, pa_memchunk *chunk
|
|||
|
||||
pa_memblockq_drop(u->memblockq, chunk->length);
|
||||
|
||||
src = (float*) ((uint8_t*) pa_memblock_acquire(tchunk.memblock) + tchunk.index);
|
||||
dst = (float*) pa_memblock_acquire(chunk->memblock);
|
||||
src = pa_memblock_acquire_chunk(&tchunk);
|
||||
dst = pa_memblock_acquire(chunk->memblock);
|
||||
|
||||
/* (3) PUT YOUR CODE HERE TO DO SOMETHING WITH THE DATA */
|
||||
|
||||
|
|
|
|||
|
|
@ -311,8 +311,7 @@ static void source_output_push_cb(pa_source_output *o, const pa_memchunk *chunk)
|
|||
pa_assert( target_chunk.memblock );
|
||||
|
||||
/* get target pointer */
|
||||
target = (void*)((uint8_t*)pa_memblock_acquire(target_chunk.memblock)
|
||||
+ target_chunk.index);
|
||||
target = pa_memblock_acquire_chunk(&target_chunk);
|
||||
|
||||
/* set-up mixing structure
|
||||
volume was taken care of in sink and source already */
|
||||
|
|
|
|||
|
|
@ -252,8 +252,8 @@ static int sink_input_pop_cb(pa_sink_input *i, size_t nbytes, pa_memchunk *chunk
|
|||
|
||||
pa_memblockq_drop(u->memblockq, n * u->sink_fs);
|
||||
|
||||
src = (float*) ((uint8_t*) pa_memblock_acquire(tchunk.memblock) + tchunk.index);
|
||||
dst = (float*) pa_memblock_acquire(chunk->memblock);
|
||||
src = pa_memblock_acquire_chunk(&tchunk);
|
||||
dst = pa_memblock_acquire(chunk->memblock);
|
||||
|
||||
for (l = 0; l < n; l++) {
|
||||
memcpy(((char*) u->input_buffer) + u->input_buffer_offset * u->sink_fs, ((char *) src) + l * u->sink_fs, u->sink_fs);
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ int pa_rtp_send(pa_rtp_context *c, size_t size, pa_memblockq *q) {
|
|||
|
||||
pa_assert(chunk.memblock);
|
||||
|
||||
iov[iov_idx].iov_base = ((uint8_t*) pa_memblock_acquire(chunk.memblock) + chunk.index);
|
||||
iov[iov_idx].iov_base = pa_memblock_acquire_chunk(&chunk);
|
||||
iov[iov_idx].iov_len = k;
|
||||
mb[iov_idx] = chunk.memblock;
|
||||
iov_idx ++;
|
||||
|
|
@ -203,7 +203,7 @@ int pa_rtp_recv(pa_rtp_context *c, pa_memchunk *chunk, pa_mempool *pool, struct
|
|||
chunk->memblock = pa_memblock_ref(c->memchunk.memblock);
|
||||
chunk->index = c->memchunk.index;
|
||||
|
||||
iov.iov_base = (uint8_t*) pa_memblock_acquire(chunk->memblock) + chunk->index;
|
||||
iov.iov_base = pa_memblock_acquire_chunk(chunk);
|
||||
iov.iov_len = (size_t) size;
|
||||
|
||||
m.msg_name = NULL;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue