Commit 56d69620 authored by Sebastian Dröge's avatar Sebastian Dröge 🍵 Committed by Tim-Philipp Müller
Browse files

aggregator: Wake up source pad in PAUSED<->PLAYING transitions

When going to PLAYING we will now have a clock and can stop waiting on
the condition variable and instead start waiting on the clock if
necessary for the current configuration.

In the other direction when going to PAUSED the clock might have
disappeared and we might need to wait on the condition variable again
instead.

Part-of: <!653>
parent bc81eaf1
Pipeline #208298 waiting for manual action with stages
in 39 seconds
......@@ -1834,6 +1834,11 @@ gst_aggregator_change_state (GstElement * element, GstStateChange transition)
if (!gst_aggregator_start (self))
goto error_start;
break;
case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
/* Wake up any waiting as now we have a clock and can do
* proper waiting on the clock if necessary */
SRC_BROADCAST (self);
break;
default:
break;
}
......@@ -1851,6 +1856,11 @@ gst_aggregator_change_state (GstElement * element, GstStateChange transition)
GST_ERROR_OBJECT (self, "Subclass failed to stop.");
}
break;
case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
/* Wake up any waiting as now clock might be gone and we might
* need to wait on the condition variable again */
SRC_BROADCAST (self);
break;
default:
break;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment