plugins: use macros for input checks

That way we can compile them out if we want
This commit is contained in:
Wim Taymans 2017-04-04 09:00:49 +02:00
parent 32368d741d
commit b05d82d514
16 changed files with 296 additions and 415 deletions

View file

@ -302,8 +302,7 @@ spa_alsa_monitor_set_event_callback (SpaMonitor *monitor,
SpaResult res;
SpaALSAMonitor *this;
if (monitor == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (monitor != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (monitor, SpaALSAMonitor, monitor);
@ -346,8 +345,8 @@ spa_alsa_monitor_enum_items (SpaMonitor *monitor,
SpaALSAMonitor *this;
struct udev_device *dev;
if (monitor == NULL || item == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (monitor != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (item != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (monitor, SpaALSAMonitor, monitor);
@ -404,8 +403,8 @@ spa_alsa_monitor_get_interface (SpaHandle *handle,
{
SpaALSAMonitor *this;
if (handle == NULL || interface == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (handle != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (interface != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = (SpaALSAMonitor *) handle;
@ -433,8 +432,8 @@ alsa_monitor_init (const SpaHandleFactory *factory,
SpaALSAMonitor *this;
uint32_t i;
if (factory == NULL || handle == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (factory != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (handle != NULL, SPA_RESULT_INVALID_ARGUMENTS);
handle->get_interface = spa_alsa_monitor_get_interface;
handle->clear = alsa_monitor_clear,
@ -475,8 +474,8 @@ alsa_monitor_enum_interface_info (const SpaHandleFactory *factory,
const SpaInterfaceInfo **info,
uint32_t index)
{
if (factory == NULL || info == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (factory != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (info != NULL, SPA_RESULT_INVALID_ARGUMENTS);
if (index < 0 || index >= SPA_N_ELEMENTS (alsa_monitor_interfaces))
return SPA_RESULT_ENUM_END;

View file

@ -68,8 +68,8 @@ spa_alsa_sink_node_get_props (SpaNode *node,
SpaPODBuilder b = { NULL, };
SpaPODFrame f[2];
if (node == NULL || props == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (props != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASink, node);
@ -92,8 +92,7 @@ spa_alsa_sink_node_set_props (SpaNode *node,
{
SpaALSASink *this;
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASink, node);
@ -165,8 +164,8 @@ spa_alsa_sink_node_send_command (SpaNode *node,
{
SpaALSASink *this;
if (node == NULL || command == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (command != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASink, node);
@ -197,8 +196,7 @@ spa_alsa_sink_node_set_event_callback (SpaNode *node,
{
SpaALSASink *this;
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASink, node);
@ -215,8 +213,7 @@ spa_alsa_sink_node_get_n_ports (SpaNode *node,
uint32_t *n_output_ports,
uint32_t *max_output_ports)
{
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
if (n_input_ports)
*n_input_ports = 1;
@ -237,8 +234,7 @@ spa_alsa_sink_node_get_port_ids (SpaNode *node,
uint32_t n_output_ports,
uint32_t *output_ids)
{
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
if (n_input_ports > 0 && input_ids != NULL)
input_ids[0] = 0;
@ -278,13 +274,12 @@ spa_alsa_sink_node_port_enum_formats (SpaNode *node,
SpaPODBuilder b = { NULL, };
SpaPODFrame f[2];
if (node == NULL || format == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (format != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASink, node);
if (!CHECK_PORT (this, direction, port_id))
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (CHECK_PORT (this, direction, port_id), SPA_RESULT_INVALID_PORT);
next:
spa_pod_builder_init (&b, buffer, sizeof (buffer));
@ -341,13 +336,11 @@ spa_alsa_sink_node_port_set_format (SpaNode *node,
SpaPODBuilder b = { NULL };
SpaPODFrame f[2];
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASink, node);
if (!CHECK_PORT (this, direction, port_id))
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (CHECK_PORT (this, direction, port_id), SPA_RESULT_INVALID_PORT);
if (format == NULL) {
spa_log_info (this->log, "clear format");
@ -420,13 +413,12 @@ spa_alsa_sink_node_port_get_format (SpaNode *node,
SpaPODBuilder b = { NULL, };
SpaPODFrame f[2];
if (node == NULL || format == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (format != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASink, node);
if (!CHECK_PORT (this, direction, port_id))
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (CHECK_PORT (this, direction, port_id), SPA_RESULT_INVALID_PORT);
if (!this->have_format)
return SPA_RESULT_NO_FORMAT;
@ -451,13 +443,12 @@ spa_alsa_sink_node_port_get_info (SpaNode *node,
{
SpaALSASink *this;
if (node == NULL || info == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (info != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASink, node);
if (!CHECK_PORT (this, direction, port_id))
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (CHECK_PORT (this, direction, port_id), SPA_RESULT_INVALID_PORT);
*info = &this->info;
@ -492,14 +483,12 @@ spa_alsa_sink_node_port_use_buffers (SpaNode *node,
SpaALSASink *this;
int i;
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
if (!CHECK_PORT (this, direction, port_id))
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASink, node);
spa_return_val_if_fail (CHECK_PORT (this, direction, port_id), SPA_RESULT_INVALID_PORT);
spa_log_info (this->log, "use buffers %d", n_buffers);
if (!this->have_format)
@ -553,14 +542,13 @@ spa_alsa_sink_node_port_alloc_buffers (SpaNode *node,
{
SpaALSASink *this;
if (node == NULL || buffers == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
if (!CHECK_PORT (this, direction, port_id))
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (buffers != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASink, node);
spa_return_val_if_fail (CHECK_PORT (this, direction, port_id), SPA_RESULT_INVALID_PORT);
if (!this->have_format)
return SPA_RESULT_NO_FORMAT;
@ -575,13 +563,11 @@ spa_alsa_sink_node_port_set_io (SpaNode *node,
{
SpaALSASink *this;
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASink, node);
if (!CHECK_PORT (this, direction, port_id))
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (CHECK_PORT (this, direction, port_id), SPA_RESULT_INVALID_PORT);
this->io = io;
@ -605,13 +591,11 @@ spa_alsa_sink_node_port_send_command (SpaNode *node,
SpaALSASink *this;
SpaResult res;
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASink, node);
if (port_id != 0)
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (CHECK_PORT (this, direction, port_id), SPA_RESULT_INVALID_PORT);
if (SPA_COMMAND_TYPE (command) == this->type.command_node.Pause) {
if (SPA_RESULT_IS_OK (res = spa_alsa_pause (this, false))) {
@ -636,8 +620,7 @@ spa_alsa_sink_node_process_input (SpaNode *node)
SpaPortIO *input;
SpaALSABuffer *b;
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASink, node);
@ -677,7 +660,7 @@ spa_alsa_sink_node_process_input (SpaNode *node)
static SpaResult
spa_alsa_sink_node_process_output (SpaNode *node)
{
return SPA_RESULT_INVALID_PORT;
return SPA_RESULT_NOT_IMPLEMENTED;
}
@ -715,8 +698,8 @@ spa_alsa_sink_get_interface (SpaHandle *handle,
{
SpaALSASink *this;
if (handle == NULL || interface == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (handle != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (interface != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = (SpaALSASink *) handle;
@ -744,8 +727,8 @@ alsa_sink_init (const SpaHandleFactory *factory,
SpaALSASink *this;
uint32_t i;
if (factory == NULL || handle == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (factory != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (handle != NULL, SPA_RESULT_INVALID_ARGUMENTS);
handle->get_interface = spa_alsa_sink_get_interface;
handle->clear = alsa_sink_clear;
@ -803,8 +786,8 @@ alsa_sink_enum_interface_info (const SpaHandleFactory *factory,
const SpaInterfaceInfo **info,
uint32_t index)
{
if (factory == NULL || info == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (factory != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (info != NULL, SPA_RESULT_INVALID_ARGUMENTS);
switch (index) {
case 0:

View file

@ -69,8 +69,8 @@ spa_alsa_source_node_get_props (SpaNode *node,
SpaPODBuilder b = { NULL, };
SpaPODFrame f[2];
if (node == NULL || props == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (props != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASource, node);
@ -93,8 +93,7 @@ spa_alsa_source_node_set_props (SpaNode *node,
{
SpaALSASource *this;
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASource, node);
@ -188,8 +187,8 @@ spa_alsa_source_node_send_command (SpaNode *node,
{
SpaALSASource *this;
if (node == NULL || command == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (command != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASource, node);
@ -234,8 +233,7 @@ spa_alsa_source_node_set_event_callback (SpaNode *node,
{
SpaALSASource *this;
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASource, node);
@ -252,8 +250,7 @@ spa_alsa_source_node_get_n_ports (SpaNode *node,
uint32_t *n_output_ports,
uint32_t *max_output_ports)
{
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
if (n_input_ports)
*n_input_ports = 0;
@ -274,8 +271,7 @@ spa_alsa_source_node_get_port_ids (SpaNode *node,
uint32_t n_output_ports,
uint32_t *output_ids)
{
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
if (n_output_ports > 0 && output_ids != NULL)
output_ids[0] = 0;
@ -315,13 +311,12 @@ spa_alsa_source_node_port_enum_formats (SpaNode *node,
SpaPODBuilder b = { NULL, };
SpaPODFrame f[2];
if (node == NULL || format == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (format != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASource, node);
if (!CHECK_PORT (this, direction, port_id))
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (CHECK_PORT (this, direction, port_id), SPA_RESULT_INVALID_PORT);
next:
spa_pod_builder_init (&b, buffer, sizeof (buffer));
@ -360,6 +355,8 @@ recycle_buffer (SpaALSASource *this, uint32_t buffer_id)
{
SpaALSABuffer *b;
spa_log_trace (this->log, "alsa-source %p: recycle buffer %u", this, buffer_id);
b = &this->buffers[buffer_id];
spa_return_if_fail (b->outstanding);
@ -389,13 +386,11 @@ spa_alsa_source_node_port_set_format (SpaNode *node,
SpaPODBuilder b = { NULL };
SpaPODFrame f[2];
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASource, node);
if (!CHECK_PORT (this, direction, port_id))
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (CHECK_PORT (this, direction, port_id), SPA_RESULT_INVALID_PORT);
if (format == NULL) {
spa_alsa_pause (this, false);
@ -460,13 +455,12 @@ spa_alsa_source_node_port_get_format (SpaNode *node,
SpaPODBuilder b = { NULL, };
SpaPODFrame f[2];
if (node == NULL || format == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (format != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASource, node);
if (!CHECK_PORT (this, direction, port_id))
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (CHECK_PORT (this, direction, port_id), SPA_RESULT_INVALID_PORT);
if (!this->have_format)
return SPA_RESULT_NO_FORMAT;
@ -491,13 +485,12 @@ spa_alsa_source_node_port_get_info (SpaNode *node,
{
SpaALSASource *this;
if (node == NULL || info == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (info != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASource, node);
if (!CHECK_PORT (this, direction, port_id))
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (CHECK_PORT (this, direction, port_id), SPA_RESULT_INVALID_PORT);
*info = &this->info;
@ -533,14 +526,12 @@ spa_alsa_source_node_port_use_buffers (SpaNode *node,
SpaResult res;
int i;
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
if (!CHECK_PORT (this, direction, port_id))
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASource, node);
spa_return_val_if_fail (CHECK_PORT (this, direction, port_id), SPA_RESULT_INVALID_PORT);
if (!this->have_format)
return SPA_RESULT_NO_FORMAT;
@ -592,14 +583,13 @@ spa_alsa_source_node_port_alloc_buffers (SpaNode *node,
{
SpaALSASource *this;
if (node == NULL || buffers == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
if (!CHECK_PORT (this, direction, port_id))
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (buffers != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASource, node);
spa_return_val_if_fail (CHECK_PORT (this, direction, port_id), SPA_RESULT_INVALID_PORT);
if (this->n_buffers == 0)
return SPA_RESULT_NO_FORMAT;
@ -614,13 +604,11 @@ spa_alsa_source_node_port_set_io (SpaNode *node,
{
SpaALSASource *this;
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASource, node);
if (!CHECK_PORT (this, direction, port_id))
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (CHECK_PORT (this, direction, port_id), SPA_RESULT_INVALID_PORT);
this->io = io;
@ -634,13 +622,11 @@ spa_alsa_source_node_port_reuse_buffer (SpaNode *node,
{
SpaALSASource *this;
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASource, node);
if (port_id != 0)
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (port_id == 0, SPA_RESULT_INVALID_PORT);
if (this->n_buffers == 0)
return SPA_RESULT_NO_BUFFERS;
@ -648,7 +634,6 @@ spa_alsa_source_node_port_reuse_buffer (SpaNode *node,
if (buffer_id >= this->n_buffers)
return SPA_RESULT_INVALID_BUFFER_ID;
spa_log_trace (this->log, "recycle buffer %u", buffer_id);
recycle_buffer (this, buffer_id);
return SPA_RESULT_OK;
@ -663,13 +648,11 @@ spa_alsa_source_node_port_send_command (SpaNode *node,
SpaALSASource *this;
SpaResult res;
if (node == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (node != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (node, SpaALSASource, node);
if (port_id != 0)
return SPA_RESULT_INVALID_PORT;
spa_return_val_if_fail (CHECK_PORT (this, direction, port_id), SPA_RESULT_INVALID_PORT);
if (SPA_COMMAND_TYPE (command) == this->type.command_node.Pause) {
if (SPA_RESULT_IS_OK (res = spa_alsa_pause (this, false))) {
@ -757,8 +740,7 @@ spa_alsa_source_clock_get_time (SpaClock *clock,
{
SpaALSASource *this;
if (clock == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (clock != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = SPA_CONTAINER_OF (clock, SpaALSASource, clock);
@ -788,8 +770,8 @@ spa_alsa_source_get_interface (SpaHandle *handle,
{
SpaALSASource *this;
if (handle == NULL || interface == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (handle != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (interface != NULL, SPA_RESULT_INVALID_ARGUMENTS);
this = (SpaALSASource *) handle;
@ -819,8 +801,8 @@ alsa_source_init (const SpaHandleFactory *factory,
SpaALSASource *this;
uint32_t i;
if (factory == NULL || handle == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (factory != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (handle != NULL, SPA_RESULT_INVALID_ARGUMENTS);
handle->get_interface = spa_alsa_source_get_interface;
handle->clear = alsa_source_clear;
@ -881,8 +863,8 @@ alsa_source_enum_interface_info (const SpaHandleFactory *factory,
const SpaInterfaceInfo **info,
uint32_t index)
{
if (factory == NULL || info == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (factory != NULL, SPA_RESULT_INVALID_ARGUMENTS);
spa_return_val_if_fail (info != NULL, SPA_RESULT_INVALID_ARGUMENTS);
if (index < 0 || index >= SPA_N_ELEMENTS (alsa_source_interfaces))
return SPA_RESULT_ENUM_END;

View file

@ -408,19 +408,19 @@ calc_timeout (size_t target,
snd_htimestamp_t *now,
struct timespec *ts)
{
size_t to_sleep_usec;
size_t to_sleep_nsec;
ts->tv_sec = now->tv_sec;
if (target > current)
to_sleep_usec = (target - current) * 1000000 / rate;
to_sleep_nsec = (target - current) * SPA_NSEC_PER_SEC / rate;
else
to_sleep_usec = 0;
to_sleep_nsec = 0;
ts->tv_nsec = to_sleep_usec * 1000 + now->tv_nsec;
ts->tv_nsec = to_sleep_nsec + now->tv_nsec;
while (ts->tv_nsec > 1000000000L) {
while (ts->tv_nsec > SPA_NSEC_PER_SEC) {
ts->tv_sec++;
ts->tv_nsec -= 1000000000L;
ts->tv_nsec -= SPA_NSEC_PER_SEC;
}
}
@ -505,7 +505,7 @@ alsa_on_playback_timeout_event (SpaSource *source)
calc_timeout (total_written + filled, state->threshold, state->rate, &htstamp, &ts.it_value);
spa_log_debug (state->log, "timeout %ld %ld %ld %ld", total_written, filled,
spa_log_trace (state->log, "timeout %ld %ld %ld %ld", total_written, filled,
ts.it_value.tv_sec, ts.it_value.tv_nsec);
ts.it_interval.tv_sec = 0;
@ -580,7 +580,8 @@ alsa_on_capture_timeout_event (SpaSource *source)
}
calc_timeout (state->threshold, avail - total_read, state->rate, &htstamp, &ts.it_value);
// printf ("timeout %ld %ld %ld %ld\n", total_read, avail, ts.it_value.tv_sec, ts.it_value.tv_nsec);
spa_log_trace (state->log, "timeout %ld %ld %ld %ld", total_read, avail,
ts.it_value.tv_sec, ts.it_value.tv_nsec);
ts.it_interval.tv_sec = 0;
ts.it_interval.tv_nsec = 0;
timerfd_settime (state->timerfd, TFD_TIMER_ABSTIME, &ts, NULL);

View file

@ -28,8 +28,7 @@ SpaResult
spa_enum_handle_factory (const SpaHandleFactory **factory,
uint32_t index)
{
if (factory == NULL)
return SPA_RESULT_INVALID_ARGUMENTS;
spa_return_val_if_fail (factory != NULL, SPA_RESULT_INVALID_ARGUMENTS);
switch (index) {
case 0: