bool QuestState::handleEvent(const sf::Event& event) { if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Return) { setEnded(); } else if (event.type == sf::Event::KeyPressed) { prepareText(); } return true; }
void MediaStream::stop() { if (ended()) return; MediaStreamCenter::shared().didStopLocalMediaStream(descriptor()); setEnded(); }
/** * @brief */ void FeedProvider::cleanup() { setEnded(); removeFromMap(); mConsumerMutex.lock(); for ( ConsumerMap::iterator iter = mConsumers.begin(); iter != mConsumers.end(); iter++ ) if ( iter->first->hasProvider( *this ) ) iter->first->deregisterProvider( *this, false ); mConsumers.clear(); mConsumerMutex.unlock(); }
void MediaStream::trackDidEnd() { for (size_t i = 0; i < m_audioTracks.size(); ++i) if (!m_audioTracks[i]->ended()) return; for (size_t i = 0; i < m_videoTracks.size(); ++i) if (!m_videoTracks[i]->ended()) return; setEnded(); }
void MediaStream::removeTrack(PassRefPtr<MediaStreamTrack> prpTrack, ExceptionCode& ec) { if (ended()) { ec = INVALID_STATE_ERR; return; } if (!prpTrack) { ec = TYPE_MISMATCH_ERR; return; } RefPtr<MediaStreamTrack> track = prpTrack; size_t pos = notFound; switch (track->source()->type()) { case MediaStreamSource::Audio: pos = m_audioTracks.find(track); if (pos != notFound) m_audioTracks.remove(pos); break; case MediaStreamSource::Video: pos = m_videoTracks.find(track); if (pos != notFound) m_videoTracks.remove(pos); break; } if (pos == notFound) return; m_descriptor->removeSource(track->source()); if (!m_audioTracks.size() && !m_videoTracks.size()) setEnded(); MediaStreamCenter::shared().didRemoveMediaStreamTrack(track->source()); }