alsa: use absolute timers

Use absolute timers, together with the alsa timestamp they are
potentially more accurate.
fix some crashes
This commit is contained in:
Wim Taymans 2017-03-29 16:39:24 +02:00
parent 46928cbc04
commit 3f8123143d
2 changed files with 27 additions and 11 deletions

View file

@ -378,7 +378,8 @@ do_flush_event (SpaSource *source,
void *data)
{
PinosContextImpl *impl = data;
pinos_connection_flush (impl->connection);
if (impl->connection)
pinos_connection_flush (impl->connection);
}
static void
@ -514,6 +515,8 @@ pinos_context_destroy (PinosContext *context)
pinos_log_debug ("context %p: destroy", context);
pinos_signal_emit (&context->destroy_signal, context);
pinos_loop_destroy_source (impl->this.loop, impl->flush_event);
if (context->state != PINOS_CONTEXT_STATE_UNCONNECTED)
pinos_context_disconnect (context);
@ -524,8 +527,6 @@ pinos_context_destroy (PinosContext *context)
pinos_map_clear (&context->objects);
pinos_loop_destroy_source (impl->this.loop, impl->flush_event);
free (context->name);
if (context->properties)
pinos_properties_free (context->properties);