Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1541)

Unified Diff: content/renderer/media/media_stream_video_capturer_source.cc

Issue 1873293002: Report if video capturing meets output protection requirement. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/media_stream_video_capturer_source.cc
diff --git a/content/renderer/media/media_stream_video_capturer_source.cc b/content/renderer/media/media_stream_video_capturer_source.cc
index b080ec826df549babe74356c95e481e190ab809c..38d5a2db916ccb610d89fdeb9ee1169117fd179f 100644
--- a/content/renderer/media/media_stream_video_capturer_source.cc
+++ b/content/renderer/media/media_stream_video_capturer_source.cc
@@ -212,6 +212,7 @@ class LocalVideoCapturerSource final : public media::VideoCapturerSource {
const RunningCallback& running_callback) override;
void RequestRefreshFrame() override;
void StopCapture() override;
+ void SetCapturingLinkSecured(bool is_secure);
private:
void OnStateUpdate(VideoCaptureState state);
@@ -222,6 +223,8 @@ class LocalVideoCapturerSource final : public media::VideoCapturerSource {
// |session_id_| identifies the capture device used for this capture session.
const media::VideoCaptureSessionId session_id_;
+ const std::string stream_device_id_;
+
VideoCaptureImplManager* const manager_;
const base::Closure release_device_cb_;
@@ -250,6 +253,7 @@ class LocalVideoCapturerSource final : public media::VideoCapturerSource {
LocalVideoCapturerSource::LocalVideoCapturerSource(
const StreamDeviceInfo& device_info)
: session_id_(device_info.session_id),
+ stream_device_id_(device_info.device.id),
manager_(RenderThreadImpl::current()->video_capture_impl_manager()),
release_device_cb_(manager_->UseDevice(session_id_)),
is_content_capture_(IsContentVideoCaptureDevice(device_info)),
@@ -318,6 +322,10 @@ void LocalVideoCapturerSource::RequestRefreshFrame() {
manager_->RequestRefreshFrame(session_id_);
}
+void LocalVideoCapturerSource::SetCapturingLinkSecured(bool is_secure) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+ manager_->SetCapturingLinkSecured(session_id_, stream_device_id_, is_secure);
+}
void LocalVideoCapturerSource::StopCapture() {
DVLOG(3) << __FUNCTION__;
@@ -393,14 +401,15 @@ void LocalVideoCapturerSource::OnDeviceSupportedFormatsEnumerated(
MediaStreamVideoCapturerSource::MediaStreamVideoCapturerSource(
const SourceStoppedCallback& stop_callback,
std::unique_ptr<media::VideoCapturerSource> source)
- : source_(std::move(source)) {
+ : source_(std::move(source)), is_local_video_capturer_source_(false) {
SetStopCallback(stop_callback);
}
MediaStreamVideoCapturerSource::MediaStreamVideoCapturerSource(
const SourceStoppedCallback& stop_callback,
const StreamDeviceInfo& device_info)
- : source_(new LocalVideoCapturerSource(device_info)) {
+ : source_(new LocalVideoCapturerSource(device_info)),
+ is_local_video_capturer_source_(true) {
SetStopCallback(stop_callback);
SetDeviceInfo(device_info);
}
@@ -412,6 +421,12 @@ void MediaStreamVideoCapturerSource::RequestRefreshFrame() {
source_->RequestRefreshFrame();
}
+void MediaStreamVideoCapturerSource::SetCapturingLinkSecured(bool is_secure) {
+ if (source_ && is_local_video_capturer_source_)
+ static_cast<LocalVideoCapturerSource*>(source_.get())
+ ->SetCapturingLinkSecured(is_secure);
+}
+
void MediaStreamVideoCapturerSource::GetCurrentSupportedFormats(
int max_requested_width,
int max_requested_height,

Powered by Google App Engine
This is Rietveld 408576698