Name: pulseaudio-modules-tizen
Summary: Pulseaudio modules for Tizen
-Version: 15.0.46
+Version: 15.0.47
Release: 0
Group: Multimedia/Audio
License: LGPL-2.1+
pa_processor_holder_register_processor_sequencial(holder, processor);
- pa_log_info("processor was created. processor(%s), process_msec(%lu)",
+ pa_log_info("processor was created. processor(%s), process_msec(%" PRIu64 "ms)",
processor_str, process_usec / PA_USEC_PER_MSEC);
pa_xfree(processor_str);
}
o->preprocess = NULL;
- o->thread_info.processor_holder = NULL;
}
static int preprocess(pa_source_output *o, pa_memchunk *chunk, pa_memchunk *ochunk) {
}
data->processor_holder = (void *)holder;
- if (!data->processor_holder) {
- pa_log_error("Failed to create processor_holder");
- goto fail;
- }
-
data->flags |= PA_SOURCE_OUTPUT_PREPROCESSOR;
pa_processor_holder_set_private_data(holder, u->preprocessor, u->asyncmsgq_source);
- return PA_HOOK_OK;
-
-fail:
- data->flags &= ~ PA_SOURCE_OUTPUT_PREPROCESSOR;
- pa_processor_holder_free(holder);
-
return PA_HOOK_OK;
}
if (pa_processor_convert_method(method, &audio_effect_method) < 0) {
pa_log_error("Failed to convert audio-effect method. method(%d), audio_effect_method(%d)",
method, audio_effect_method);
- return NULL;
+ goto fail;
}
if (pa_processor_convert_format(ss->format, &format) < 0) {
pa_log_error("Failed to convert audio-effect format. format(%d), audio_effect_format(%d)",
ss->format, format);
- return NULL;
+ goto fail;
}
processor->audio_effect = audio_effect_create(audio_effect_method, ss->rate, ss->channels,
"rate(%d), ch(%d), format(%d), frames(%zu)",
audio_effect_method, ss->rate, ss->channels,
format, processor->process_frames);
- return NULL;
+ goto fail;
}
process_framesize = audio_effect_get_process_framesize(processor->audio_effect);
debug_open_file(processor);
return processor;
+
+fail:
+ pa_xfree(processor);
+
+ return NULL;
}
void pa_processor_free(pa_processor *processor) {
if (reference->resampler)
pa_resampler_free(reference->resampler);
+ pa_xfree(reference);
+
return NULL;
}
if (reference->interface) {
pa_memchunk rchunk;
void *buffer;
- size_t ret;
pa_assert(reference->interface->read);
rchunk.memblock = pa_memblock_new(reference->core->mempool, rchunk.length);
buffer = pa_memblock_acquire_chunk(&rchunk);
- if (reference->interface->read(reference->priv, buffer, length) < 0) {
+ if (reference->interface->read(reference->priv, buffer, length) == 0) {
pa_memblock_release(rchunk.memblock);
- pa_log_error("Failed to read reference source. length(%zu), ret(%zu)", length, ret);
+ pa_log_error("Failed to read reference source. length(%zu) ", length);
goto exit;
}
static void thread_func(void *userdata) {
struct userdata *u = userdata;
- unsigned short revents = 0;
pa_assert(u);
if (PA_SINK_IS_OPENED(u->sink->thread_info.state)) {
struct pollfd *pollfd;
+
if (u->rtpoll_item) {
+ unsigned short revents = 0;
+
pollfd = pa_rtpoll_item_get_pollfd(u->rtpoll_item, NULL);
revents = pollfd->revents;
if (revents & ~POLLOUT) {
}
u->first = true;
- revents = 0;
+ pollfd->revents = 0;
}
}
}
}
case PA_SOURCE_MESSAGE_ADD_OUTPUT: {
pa_source_output *output = PA_SOURCE_OUTPUT(data);
+ pa_assert(output);
if (output->flags & PA_SOURCE_OUTPUT_PREPROCESSOR) {
pa_processor_holder *holder = (pa_processor_holder *)output->thread_info.processor_holder;
}
case PA_SOURCE_MESSAGE_REMOVE_OUTPUT: {
pa_source_output *output = PA_SOURCE_OUTPUT(data);
+ pa_assert(output);
if (output->flags & PA_SOURCE_OUTPUT_PREPROCESSOR) {
pa_processor_holder *holder = (pa_processor_holder *)output->thread_info.processor_holder;
static void thread_func(void *userdata) {
struct userdata *u = userdata;
- unsigned short revents = 0;
pa_assert(u);
pa_log_debug("Thread starting up");
if (PA_SOURCE_IS_OPENED(u->source->thread_info.state)) {
struct pollfd *pollfd;
+
if (u->rtpoll_item) {
+ unsigned short revents = 0;
+
pollfd = pa_rtpoll_item_get_pollfd(u->rtpoll_item, NULL);
revents = pollfd->revents;
if (revents & ~POLLIN) {
}
u->first = true;
- revents = 0;
+ pollfd->revents = 0;
}
}
}
pa_log_info("Device opened. card(%s), device(%s) rate(%d), channels(%d), format(%s), "
"frag_size(%u), nfrags(%u), period_size(%u), periods(%u)",
u->card, u->device, ss.rate, ss.channels, pa_sample_format_to_string(ss.format),
- u->frag_size, u->nfrags, period_size, param.periods);
+ u->frag_size, u->nfrags, param.period_size, param.periods);
pa_source_new_data_init(&data);
data.driver = driver;