g_list_prepend (comp->pending_reconfigure_outports, k->data);
}
- if (comp->pending_reconfigure_outports)
- g_atomic_int_set (&comp->have_pending_reconfigure_outports, 1);
-
g_list_free (outports);
break;
/* Reset some things */
if (old_state == OMX_StateExecuting && state < old_state) {
- g_atomic_int_set (&comp->have_pending_reconfigure_outports, 0);
g_list_free (comp->pending_reconfigure_outports);
comp->pending_reconfigure_outports = NULL;
/* Notify all inports that are still waiting */
* or buffers are returned to be filled as usual.
*/
if (port->port_def.eDir == OMX_DirInput) {
- if (g_atomic_int_get (&comp->have_pending_reconfigure_outports)) {
+ if (comp->pending_reconfigure_outports) {
gst_omx_component_handle_messages (comp);
- while (g_atomic_int_get (&comp->have_pending_reconfigure_outports) &&
+ while (comp->pending_reconfigure_outports &&
(err = comp->last_error) == OMX_ErrorNone && !port->flushing) {
GST_DEBUG_OBJECT (comp->parent,
"Waiting for output ports to reconfigure");
}
}
if (!comp->pending_reconfigure_outports) {
- g_atomic_int_set (&comp->have_pending_reconfigure_outports, 0);
g_mutex_lock (&comp->messages_lock);
g_cond_broadcast (&comp->messages_cond);
g_mutex_unlock (&comp->messages_lock);
if (!l) {
comp->pending_reconfigure_outports =
g_list_prepend (comp->pending_reconfigure_outports, port);
- g_atomic_int_set (&comp->have_pending_reconfigure_outports, 1);
}
} else {
for (l = comp->pending_reconfigure_outports; l; l = l->next) {
}
}
if (!comp->pending_reconfigure_outports) {
- g_atomic_int_set (&comp->have_pending_reconfigure_outports, 0);
g_mutex_lock (&comp->messages_lock);
g_cond_broadcast (&comp->messages_cond);
g_mutex_unlock (&comp->messages_lock);