Example #1
0
void MediaStreamCenter::stopLocalMediaStream(const WebMediaStream& webStream)
{
    MediaStreamDescriptor* stream = webStream;
    MediaStreamDescriptorClient* client = stream->client();
    if (client)
        client->streamEnded();
    else
        stream->setEnded();
}
Example #2
0
void RTCPeerConnection::didRemoveRemoteStream(const blink::WebMediaStream& remoteStream)
{
    ASSERT(executionContext()->isContextThread());

    MediaStreamDescriptor* streamDescriptor = remoteStream;
    ASSERT(streamDescriptor->client());

    RefPtr<MediaStream> stream = static_cast<MediaStream*>(streamDescriptor->client());
    stream->streamEnded();

    if (m_signalingState == SignalingStateClosed)
        return;

    size_t pos = m_remoteStreams.find(stream);
    ASSERT(pos != kNotFound);
    m_remoteStreams.remove(pos);

    scheduleDispatchEvent(MediaStreamEvent::create(EventTypeNames::removestream, false, false, stream.release()));
}