void RecorderEndpointImpl::onStateChanged (gint newState) { switch (newState) { case KMS_URI_END_POINT_STATE_STOP: { GST_DEBUG_OBJECT (element, "State changed to Stopped"); Stopped event (shared_from_this(), Stopped::getName() ); signalStopped (event); break; } case KMS_URI_END_POINT_STATE_START: { GST_DEBUG_OBJECT (element, "State changed to Recording"); Recording event (shared_from_this(), Recording::getName() ); signalRecording (event); break; } case KMS_URI_END_POINT_STATE_PAUSE: { GST_DEBUG_OBJECT (element, "State changed to Paused"); Paused event (shared_from_this(), Paused::getName() ); signalPaused (event); break; } } std::unique_lock<std::mutex> lck (mtx); GST_TRACE_OBJECT (element, "State changed to %d", newState); state = newState; cv.notify_one(); }
void FetchQueue::feedDone(Feed *f) { disconnectFromFeed(f); d->fetchingFeeds.remove(f); if (isEmpty()) emit signalStopped(); else fetchNextFeed(); }