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

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

Issue 20646003: To dropp the decode done callback in RTCVideoDecoderBridgeTv. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: resolve Ami's comment Created 7 years, 5 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/rtc_video_decoder_factory_tv.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/media/rtc_video_decoder_factory_tv.cc
diff --git a/content/renderer/media/rtc_video_decoder_factory_tv.cc b/content/renderer/media/rtc_video_decoder_factory_tv.cc
index dd30bb740adf9caafdef1b31e98beaffc8d952dc..58db5c383fee317358ee9c82be8a79f6018ae767 100644
--- a/content/renderer/media/rtc_video_decoder_factory_tv.cc
+++ b/content/renderer/media/rtc_video_decoder_factory_tv.cc
@@ -31,21 +31,17 @@ class RTCDemuxerStream : public DemuxerStream {
virtual void EnableBitstreamConverter() OVERRIDE;
void QueueBuffer(scoped_refptr<media::DecoderBuffer> buffer,
- const base::Closure& done_cb,
const gfx::Size& new_size);
void Destroy();
private:
struct BufferEntry {
BufferEntry(const scoped_refptr<media::DecoderBuffer>& decoder_buffer_param,
- const base::Closure& done_cb_param,
const gfx::Size& new_size_param)
: decoder_buffer(decoder_buffer_param),
- done_cb(done_cb_param),
new_size(new_size_param) {}
scoped_refptr<media::DecoderBuffer> decoder_buffer;
- base::Closure done_cb;
// When |!new_size.isEmpty()|, it means that config change with new size
// |new_size| happened.
gfx::Size new_size;
@@ -57,7 +53,6 @@ class RTCDemuxerStream : public DemuxerStream {
bool is_destroyed_;
std::queue<BufferEntry> buffer_queue_;
ReadCB read_cb_;
- base::Closure pending_done_cb_;
media::AudioDecoderConfig dummy_audio_decoder_config_;
media::VideoDecoderConfig video_decoder_config_;
@@ -93,12 +88,11 @@ DemuxerStream::Type RTCDemuxerStream::type() { return DemuxerStream::VIDEO; }
void RTCDemuxerStream::EnableBitstreamConverter() { NOTREACHED(); }
void RTCDemuxerStream::QueueBuffer(scoped_refptr<media::DecoderBuffer> buffer,
- const base::Closure& done_cb,
const gfx::Size& new_size) {
base::AutoLock lock(lock_);
if (is_destroyed_)
return;
- buffer_queue_.push(BufferEntry(buffer, done_cb, new_size));
+ buffer_queue_.push(BufferEntry(buffer, new_size));
if (buffer)
frame_rate_tracker_.Update(1);
DVLOG(1) << "frame rate received : " << frame_rate_tracker_.units_second();
@@ -113,10 +107,6 @@ void RTCDemuxerStream::Read(const ReadCB& read_cb) {
.Run(DemuxerStream::kAborted, NULL);
return;
}
- // A call to |Read| operation means that |MediaSourceDelegate| is done with
- // the previous buffer.
- if (!pending_done_cb_.is_null())
- base::ResetAndReturn(&pending_done_cb_).Run();
read_cb_ = media::BindToLoop(base::MessageLoopProxy::current(), read_cb);
RunReadCallback_Locked();
}
@@ -127,7 +117,6 @@ void RTCDemuxerStream::Destroy() {
is_destroyed_ = true;
if (!read_cb_.is_null())
base::ResetAndReturn(&read_cb_).Run(DemuxerStream::kAborted, NULL);
- pending_done_cb_.Reset();
while (!buffer_queue_.empty())
buffer_queue_.pop();
}
@@ -154,8 +143,6 @@ void RTCDemuxerStream::RunReadCallback_Locked() {
front.new_size.SetSize(0, 0);
return;
}
- DCHECK(pending_done_cb_.is_null());
- pending_done_cb_ = front.done_cb;
base::ResetAndReturn(&read_cb_).Run(DemuxerStream::kOk, front.decoder_buffer);
buffer_queue_.pop();
}
@@ -182,7 +169,7 @@ webrtc::VideoDecoder* RTCVideoDecoderFactoryTv::CreateVideoDecoder(
void RTCVideoDecoderFactoryTv::DestroyVideoDecoder(
webrtc::VideoDecoder* decoder) {
base::AutoLock lock(lock_);
- DCHECK(decoder_.get() == decoder);
+ DCHECK_EQ(decoder_.get(), decoder);
decoder_.reset();
}
@@ -235,11 +222,10 @@ void RTCVideoDecoderFactoryTv::InitializeStream(const gfx::Size& size) {
void RTCVideoDecoderFactoryTv::QueueBuffer(
scoped_refptr<media::DecoderBuffer> buffer,
- const base::Closure& done_cb,
const gfx::Size& new_size) {
base::AutoLock lock(lock_);
DCHECK(stream_);
- stream_->QueueBuffer(buffer, done_cb, new_size);
+ stream_->QueueBuffer(buffer, new_size);
}
} // namespace content
« no previous file with comments | « content/renderer/media/rtc_video_decoder_factory_tv.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698