blob: 3334bfd57120d66fa4bbd13cac1a12a50d968479 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/renderer/media/media_stream_source.h"
#include "base/callback_helpers.h"
namespace content {
const char MediaStreamSource::kSourceId[] = "sourceId";
MediaStreamSource::MediaStreamSource() {
}
MediaStreamSource::~MediaStreamSource() {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(stop_callback_.is_null());
}
void MediaStreamSource::StopSource() {
DCHECK(thread_checker_.CalledOnValidThread());
DoStopSource();
if (!stop_callback_.is_null())
base::ResetAndReturn(&stop_callback_).Run(Owner());
Owner().SetReadyState(blink::WebMediaStreamSource::kReadyStateEnded);
}
void MediaStreamSource::SetDeviceInfo(const StreamDeviceInfo& device_info) {
DCHECK(thread_checker_.CalledOnValidThread());
device_info_ = device_info;
}
void MediaStreamSource::SetStopCallback(
const SourceStoppedCallback& stop_callback) {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(stop_callback_.is_null());
stop_callback_ = stop_callback;
}
void MediaStreamSource::ResetSourceStoppedCallback() {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(!stop_callback_.is_null());
stop_callback_.Reset();
}
} // namespace content