improve error reporting

Move signals from core to the objects themselves
Use per object info to track object signals
Use periods in alsasink and source
This commit is contained in:
Wim Taymans 2017-01-17 10:27:58 +01:00
parent fb69758251
commit cae971e106
23 changed files with 573 additions and 384 deletions

View file

@ -571,6 +571,9 @@ gst_pinos_src_stream_start (GstPinosSrc *pinossrc)
if (state == PINOS_STREAM_STATE_ERROR)
goto start_error;
if (pinossrc->ctx->state == PINOS_CONTEXT_STATE_ERROR)
goto start_error;
pinos_thread_main_loop_wait (pinossrc->main_loop);
}
@ -604,9 +607,13 @@ wait_negotiated (GstPinosSrc *this)
GST_DEBUG_OBJECT (this, "waiting for started signal, state now %s",
pinos_stream_state_as_string (state));
if (state == PINOS_STREAM_STATE_ERROR)
break;
if (this->ctx->state == PINOS_CONTEXT_STATE_ERROR)
break;
if (this->started)
break;
@ -698,6 +705,9 @@ gst_pinos_src_negotiate (GstBaseSrc * basesrc)
if (state == PINOS_STREAM_STATE_ERROR)
goto connect_error;
if (pinossrc->ctx->state == PINOS_CONTEXT_STATE_ERROR)
goto connect_error;
pinos_thread_main_loop_wait (pinossrc->main_loop);
}
pinos_thread_main_loop_unlock (pinossrc->main_loop);