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

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

Issue 976233002: MediaStreamVideo*/VideoTrackAdapter and RTCVideoRenderer (small) cleanup (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: tommi@ comments Created 5 years, 9 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
« no previous file with comments | « content/renderer/media/media_stream_video_track.h ('k') | content/renderer/media/rtc_video_renderer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/media/media_stream_video_track.cc
diff --git a/content/renderer/media/media_stream_video_track.cc b/content/renderer/media/media_stream_video_track.cc
index 8a049a6db17d5e5fd93f762ee8f0d51b3949c4bb..248e44d6cae6405dc2843a6eb44c492c46035d6a 100644
--- a/content/renderer/media/media_stream_video_track.cc
+++ b/content/renderer/media/media_stream_video_track.cc
@@ -26,6 +26,8 @@ void ResetCallback(scoped_ptr<VideoCaptureDeliverFrameCB> callback) {
class MediaStreamVideoTrack::FrameDeliverer
: public base::RefCountedThreadSafe<FrameDeliverer> {
public:
+ typedef MediaStreamVideoSink* VideoSinkId;
+
FrameDeliverer(
const scoped_refptr<base::MessageLoopProxy>& io_message_loop,
bool enabled);
@@ -34,13 +36,13 @@ class MediaStreamVideoTrack::FrameDeliverer
// Add |callback| to receive video frames on the IO-thread.
// Must be called on the main render thread.
- void AddCallback(void* id, const VideoCaptureDeliverFrameCB& callback);
+ void AddCallback(VideoSinkId id, const VideoCaptureDeliverFrameCB& callback);
// Removes |callback| associated with |id| from receiving video frames if |id|
// has been added. It is ok to call RemoveCallback even if the |id| has not
// been added. Note that the added callback will be reset on the main thread.
// Must be called on the main render thread.
- void RemoveCallback(void* id);
+ void RemoveCallback(VideoSinkId id);
// Triggers all registered callbacks with |frame|, |format| and
// |estimated_capture_time| as parameters. Must be called on the IO-thread.
@@ -50,9 +52,11 @@ class MediaStreamVideoTrack::FrameDeliverer
private:
friend class base::RefCountedThreadSafe<FrameDeliverer>;
virtual ~FrameDeliverer();
- void AddCallbackOnIO(void* id, const VideoCaptureDeliverFrameCB& callback);
+ void AddCallbackOnIO(VideoSinkId id,
+ const VideoCaptureDeliverFrameCB& callback);
void RemoveCallbackOnIO(
- void* id, const scoped_refptr<base::MessageLoopProxy>& message_loop);
+ VideoSinkId id,
+ const scoped_refptr<base::MessageLoopProxy>& message_loop);
void SetEnabledOnIO(bool enabled);
// Returns |black_frame_| where the size and time stamp is set to the same as
@@ -61,14 +65,15 @@ class MediaStreamVideoTrack::FrameDeliverer
const scoped_refptr<media::VideoFrame>& reference_frame);
// Used to DCHECK that AddCallback and RemoveCallback are called on the main
- // render thread.
- base::ThreadChecker thread_checker_;
- scoped_refptr<base::MessageLoopProxy> io_message_loop_;
+ // Render Thread.
+ base::ThreadChecker main_render_thread_checker_;
+ const scoped_refptr<base::MessageLoopProxy> io_message_loop_;
bool enabled_;
scoped_refptr<media::VideoFrame> black_frame_;
- typedef std::pair<void*, VideoCaptureDeliverFrameCB> VideoIdCallbackPair;
+ typedef std::pair<VideoSinkId, VideoCaptureDeliverFrameCB>
+ VideoIdCallbackPair;
std::vector<VideoIdCallbackPair> callbacks_;
DISALLOW_COPY_AND_ASSIGN(FrameDeliverer);
@@ -86,9 +91,9 @@ MediaStreamVideoTrack::FrameDeliverer::~FrameDeliverer() {
}
void MediaStreamVideoTrack::FrameDeliverer::AddCallback(
- void* id,
+ VideoSinkId id,
const VideoCaptureDeliverFrameCB& callback) {
- DCHECK(thread_checker_.CalledOnValidThread());
+ DCHECK(main_render_thread_checker_.CalledOnValidThread());
io_message_loop_->PostTask(
FROM_HERE,
base::Bind(&FrameDeliverer::AddCallbackOnIO,
@@ -96,14 +101,14 @@ void MediaStreamVideoTrack::FrameDeliverer::AddCallback(
}
void MediaStreamVideoTrack::FrameDeliverer::AddCallbackOnIO(
- void* id,
+ VideoSinkId id,
const VideoCaptureDeliverFrameCB& callback) {
DCHECK(io_message_loop_->BelongsToCurrentThread());
callbacks_.push_back(std::make_pair(id, callback));
}
-void MediaStreamVideoTrack::FrameDeliverer::RemoveCallback(void* id) {
- DCHECK(thread_checker_.CalledOnValidThread());
+void MediaStreamVideoTrack::FrameDeliverer::RemoveCallback(VideoSinkId id) {
+ DCHECK(main_render_thread_checker_.CalledOnValidThread());
io_message_loop_->PostTask(
FROM_HERE,
base::Bind(&FrameDeliverer::RemoveCallbackOnIO,
@@ -111,7 +116,8 @@ void MediaStreamVideoTrack::FrameDeliverer::RemoveCallback(void* id) {
}
void MediaStreamVideoTrack::FrameDeliverer::RemoveCallbackOnIO(
- void* id, const scoped_refptr<base::MessageLoopProxy>& message_loop) {
+ VideoSinkId id,
+ const scoped_refptr<base::MessageLoopProxy>& message_loop) {
DCHECK(io_message_loop_->BelongsToCurrentThread());
std::vector<VideoIdCallbackPair>::iterator it = callbacks_.begin();
for (; it != callbacks_.end(); ++it) {
@@ -128,7 +134,7 @@ void MediaStreamVideoTrack::FrameDeliverer::RemoveCallbackOnIO(
}
void MediaStreamVideoTrack::FrameDeliverer::SetEnabled(bool enabled) {
- DCHECK(thread_checker_.CalledOnValidThread());
+ DCHECK(main_render_thread_checker_.CalledOnValidThread());
io_message_loop_->PostTask(
FROM_HERE,
base::Bind(&FrameDeliverer::SetEnabledOnIO,
@@ -206,7 +212,7 @@ MediaStreamVideoTrack::MediaStreamVideoTrack(
}
MediaStreamVideoTrack::~MediaStreamVideoTrack() {
- DCHECK(thread_checker_.CalledOnValidThread());
+ DCHECK(main_render_thread_checker_.CalledOnValidThread());
DCHECK(sinks_.empty());
Stop();
DVLOG(3) << "~MediaStreamVideoTrack()";
@@ -214,14 +220,14 @@ MediaStreamVideoTrack::~MediaStreamVideoTrack() {
void MediaStreamVideoTrack::AddSink(
MediaStreamVideoSink* sink, const VideoCaptureDeliverFrameCB& callback) {
- DCHECK(thread_checker_.CalledOnValidThread());
+ DCHECK(main_render_thread_checker_.CalledOnValidThread());
DCHECK(std::find(sinks_.begin(), sinks_.end(), sink) == sinks_.end());
sinks_.push_back(sink);
frame_deliverer_->AddCallback(sink, callback);
}
void MediaStreamVideoTrack::RemoveSink(MediaStreamVideoSink* sink) {
- DCHECK(thread_checker_.CalledOnValidThread());
+ DCHECK(main_render_thread_checker_.CalledOnValidThread());
std::vector<MediaStreamVideoSink*>::iterator it =
std::find(sinks_.begin(), sinks_.end(), sink);
DCHECK(it != sinks_.end());
@@ -230,16 +236,14 @@ void MediaStreamVideoTrack::RemoveSink(MediaStreamVideoSink* sink) {
}
void MediaStreamVideoTrack::SetEnabled(bool enabled) {
- DCHECK(thread_checker_.CalledOnValidThread());
+ DCHECK(main_render_thread_checker_.CalledOnValidThread());
frame_deliverer_->SetEnabled(enabled);
- for (std::vector<MediaStreamVideoSink*>::const_iterator it = sinks_.begin();
- it != sinks_.end(); ++it) {
- (*it)->OnEnabledChanged(enabled);
- }
+ for (auto* sink : sinks_)
+ sink->OnEnabledChanged(enabled);
}
void MediaStreamVideoTrack::Stop() {
- DCHECK(thread_checker_.CalledOnValidThread());
+ DCHECK(main_render_thread_checker_.CalledOnValidThread());
if (source_) {
source_->RemoveTrack(this);
source_ = NULL;
@@ -249,11 +253,9 @@ void MediaStreamVideoTrack::Stop() {
void MediaStreamVideoTrack::OnReadyStateChanged(
blink::WebMediaStreamSource::ReadyState state) {
- DCHECK(thread_checker_.CalledOnValidThread());
- for (std::vector<MediaStreamVideoSink*>::const_iterator it = sinks_.begin();
- it != sinks_.end(); ++it) {
- (*it)->OnReadyStateChanged(state);
- }
+ DCHECK(main_render_thread_checker_.CalledOnValidThread());
+ for (auto* sink : sinks_)
+ sink->OnReadyStateChanged(state);
}
} // namespace content
« no previous file with comments | « content/renderer/media/media_stream_video_track.h ('k') | content/renderer/media/rtc_video_renderer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698