summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
Diffstat (limited to 'content')
-rw-r--r--content/browser/renderer_host/media/audio_renderer_host.cc3
-rw-r--r--content/common/gpu/media/omx_video_decode_accelerator.cc26
-rw-r--r--content/common/gpu/media/omx_video_decode_accelerator.h2
-rw-r--r--content/common/gpu/media/omx_video_decode_accelerator_unittest.cc1
-rw-r--r--content/renderer/media/audio_renderer_impl.cc4
-rw-r--r--content/renderer/media/audio_renderer_impl.h4
-rw-r--r--content/renderer/media/capture_video_decoder.cc40
-rw-r--r--content/renderer/media/capture_video_decoder.h30
-rw-r--r--content/renderer/media/capture_video_decoder_unittest.cc6
-rw-r--r--content/renderer/media/rtc_video_decoder.cc25
-rw-r--r--content/renderer/media/rtc_video_decoder.h13
-rw-r--r--content/renderer/media/rtc_video_decoder_unittest.cc6
12 files changed, 74 insertions, 86 deletions
diff --git a/content/browser/renderer_host/media/audio_renderer_host.cc b/content/browser/renderer_host/media/audio_renderer_host.cc
index ca8fd30..4865cf5 100644
--- a/content/browser/renderer_host/media/audio_renderer_host.cc
+++ b/content/browser/renderer_host/media/audio_renderer_host.cc
@@ -4,6 +4,7 @@
#include "content/browser/renderer_host/media/audio_renderer_host.h"
+#include "base/bind.h"
#include "base/metrics/histogram.h"
#include "base/process.h"
#include "base/shared_memory.h"
@@ -402,7 +403,7 @@ void AudioRendererHost::DeleteEntries() {
void AudioRendererHost::CloseAndDeleteStream(AudioEntry* entry) {
if (!entry->pending_close) {
entry->controller->Close(
- NewRunnableMethod(this, &AudioRendererHost::OnStreamClosed, entry));
+ base::Bind(&AudioRendererHost::OnStreamClosed, this, entry));
entry->pending_close = true;
}
}
diff --git a/content/common/gpu/media/omx_video_decode_accelerator.cc b/content/common/gpu/media/omx_video_decode_accelerator.cc
index 3f1ee3b..21c1d92 100644
--- a/content/common/gpu/media/omx_video_decode_accelerator.cc
+++ b/content/common/gpu/media/omx_video_decode_accelerator.cc
@@ -4,6 +4,7 @@
#include "content/common/gpu/media/omx_video_decode_accelerator.h"
+#include "base/bind.h"
#include "base/debug/trace_event.h"
#include "base/logging.h"
#include "base/stl_util.h"
@@ -565,8 +566,8 @@ void OmxVideoDecodeAccelerator::BusyLoopInDestroying() {
// tasks. Instead we sleep for 5ms. Really.
base::PlatformThread::Sleep(5);
message_loop_->PostTask(
- FROM_HERE, NewRunnableMethod(
- this, &OmxVideoDecodeAccelerator::BusyLoopInDestroying));
+ FROM_HERE, base::Bind(
+ &OmxVideoDecodeAccelerator::BusyLoopInDestroying, this));
}
void OmxVideoDecodeAccelerator::OnReachedIdleInDestroying() {
@@ -968,10 +969,9 @@ OMX_ERRORTYPE OmxVideoDecodeAccelerator::EventHandler(OMX_HANDLETYPE component,
OmxVideoDecodeAccelerator* decoder =
static_cast<OmxVideoDecodeAccelerator*>(priv_data);
DCHECK_EQ(component, decoder->component_handle_);
- decoder->message_loop_->PostTask(
- FROM_HERE, NewRunnableMethod(
- decoder, &OmxVideoDecodeAccelerator::EventHandlerCompleteTask,
- event, data1, data2));
+ decoder->message_loop_->PostTask(FROM_HERE, base::Bind(
+ &OmxVideoDecodeAccelerator::EventHandlerCompleteTask, decoder,
+ event, data1, data2));
return OMX_ErrorNone;
}
@@ -986,11 +986,8 @@ OMX_ERRORTYPE OmxVideoDecodeAccelerator::EmptyBufferCallback(
OmxVideoDecodeAccelerator* decoder =
static_cast<OmxVideoDecodeAccelerator*>(priv_data);
DCHECK_EQ(component, decoder->component_handle_);
- decoder->message_loop_->PostTask(
- FROM_HERE,
- NewRunnableMethod(decoder,
- &OmxVideoDecodeAccelerator::EmptyBufferDoneTask,
- buffer));
+ decoder->message_loop_->PostTask(FROM_HERE, base::Bind(
+ &OmxVideoDecodeAccelerator::EmptyBufferDoneTask, decoder, buffer));
return OMX_ErrorNone;
}
@@ -1009,11 +1006,8 @@ OMX_ERRORTYPE OmxVideoDecodeAccelerator::FillBufferCallback(
OmxVideoDecodeAccelerator* decoder =
static_cast<OmxVideoDecodeAccelerator*>(priv_data);
DCHECK_EQ(component, decoder->component_handle_);
- decoder->message_loop_->PostTask(
- FROM_HERE,
- NewRunnableMethod(decoder,
- &OmxVideoDecodeAccelerator::FillBufferDoneTask,
- buffer));
+ decoder->message_loop_->PostTask(FROM_HERE, base::Bind(
+ &OmxVideoDecodeAccelerator::FillBufferDoneTask, decoder, buffer));
return OMX_ErrorNone;
}
diff --git a/content/common/gpu/media/omx_video_decode_accelerator.h b/content/common/gpu/media/omx_video_decode_accelerator.h
index d76cc5e..aa52889 100644
--- a/content/common/gpu/media/omx_video_decode_accelerator.h
+++ b/content/common/gpu/media/omx_video_decode_accelerator.h
@@ -13,8 +13,6 @@
#include <utility>
#include <vector>
-#include "base/bind.h"
-#include "base/callback.h"
#include "base/compiler_specific.h"
#include "base/logging.h"
#include "base/memory/ref_counted.h"
diff --git a/content/common/gpu/media/omx_video_decode_accelerator_unittest.cc b/content/common/gpu/media/omx_video_decode_accelerator_unittest.cc
index a2d4eb7..a259b31 100644
--- a/content/common/gpu/media/omx_video_decode_accelerator_unittest.cc
+++ b/content/common/gpu/media/omx_video_decode_accelerator_unittest.cc
@@ -25,6 +25,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "base/at_exit.h"
+#include "base/bind.h"
#include "base/command_line.h"
#include "base/file_util.h"
#include "base/stl_util.h"
diff --git a/content/renderer/media/audio_renderer_impl.cc b/content/renderer/media/audio_renderer_impl.cc
index 4abad2a..ac6aca0 100644
--- a/content/renderer/media/audio_renderer_impl.cc
+++ b/content/renderer/media/audio_renderer_impl.cc
@@ -168,7 +168,7 @@ void AudioRendererImpl::SetPlaybackRate(float rate) {
}
}
-void AudioRendererImpl::Pause(media::FilterCallback* callback) {
+void AudioRendererImpl::Pause(const base::Closure& callback) {
AudioRendererBase::Pause(callback);
base::AutoLock auto_lock(lock_);
if (stopped_)
@@ -192,7 +192,7 @@ void AudioRendererImpl::Seek(base::TimeDelta time,
}
-void AudioRendererImpl::Play(media::FilterCallback* callback) {
+void AudioRendererImpl::Play(const base::Closure& callback) {
AudioRendererBase::Play(callback);
base::AutoLock auto_lock(lock_);
if (stopped_)
diff --git a/content/renderer/media/audio_renderer_impl.h b/content/renderer/media/audio_renderer_impl.h
index 27b58fb..802e1ae 100644
--- a/content/renderer/media/audio_renderer_impl.h
+++ b/content/renderer/media/audio_renderer_impl.h
@@ -75,9 +75,9 @@ class AudioRendererImpl
// Methods called on pipeline thread ----------------------------------------
// media::Filter implementation.
virtual void SetPlaybackRate(float rate);
- virtual void Pause(media::FilterCallback* callback);
+ virtual void Pause(const base::Closure& callback);
virtual void Seek(base::TimeDelta time, const media::FilterStatusCB& cb);
- virtual void Play(media::FilterCallback* callback);
+ virtual void Play(const base::Closure& callback);
// media::AudioRenderer implementation.
virtual void SetVolume(float volume);
diff --git a/content/renderer/media/capture_video_decoder.cc b/content/renderer/media/capture_video_decoder.cc
index c7c0b5a..4a356a1 100644
--- a/content/renderer/media/capture_video_decoder.cc
+++ b/content/renderer/media/capture_video_decoder.cc
@@ -22,7 +22,6 @@ CaptureVideoDecoder::CaptureVideoDecoder(
vc_manager_(vc_manager),
capability_(capability),
state_(kUnInitialized),
- pending_stop_cb_(NULL),
video_stream_id_(video_stream_id),
capture_engine_(NULL) {
DCHECK(vc_manager);
@@ -30,9 +29,10 @@ CaptureVideoDecoder::CaptureVideoDecoder(
CaptureVideoDecoder::~CaptureVideoDecoder() {}
-void CaptureVideoDecoder::Initialize(media::DemuxerStream* demuxer_stream,
- media::FilterCallback* filter_callback,
- media::StatisticsCallback* stat_callback) {
+void CaptureVideoDecoder::Initialize(
+ media::DemuxerStream* demuxer_stream,
+ const base::Closure& filter_callback,
+ const media::StatisticsCallback& stat_callback) {
message_loop_proxy_->PostTask(
FROM_HERE,
NewRunnableMethod(this,
@@ -54,7 +54,7 @@ gfx::Size CaptureVideoDecoder::natural_size() {
return gfx::Size(capability_.width, capability_.height);
}
-void CaptureVideoDecoder::Play(media::FilterCallback* callback) {
+void CaptureVideoDecoder::Play(const base::Closure& callback) {
message_loop_proxy_->PostTask(
FROM_HERE,
NewRunnableMethod(this,
@@ -62,7 +62,7 @@ void CaptureVideoDecoder::Play(media::FilterCallback* callback) {
callback));
}
-void CaptureVideoDecoder::Pause(media::FilterCallback* callback) {
+void CaptureVideoDecoder::Pause(const base::Closure& callback) {
message_loop_proxy_->PostTask(
FROM_HERE,
NewRunnableMethod(this,
@@ -70,7 +70,7 @@ void CaptureVideoDecoder::Pause(media::FilterCallback* callback) {
callback));
}
-void CaptureVideoDecoder::Stop(media::FilterCallback* callback) {
+void CaptureVideoDecoder::Stop(const base::Closure& callback) {
message_loop_proxy_->PostTask(
FROM_HERE,
NewRunnableMethod(this,
@@ -133,8 +133,8 @@ void CaptureVideoDecoder::OnDeviceInfoReceived(
void CaptureVideoDecoder::InitializeOnDecoderThread(
media::DemuxerStream* demuxer_stream,
- media::FilterCallback* filter_callback,
- media::StatisticsCallback* stat_callback) {
+ const base::Closure& filter_callback,
+ const media::StatisticsCallback& stat_callback) {
VLOG(1) << "InitializeOnDecoderThread.";
DCHECK(message_loop_proxy_->BelongsToCurrentThread());
@@ -142,9 +142,8 @@ void CaptureVideoDecoder::InitializeOnDecoderThread(
available_frames_.clear();
- statistics_callback_.reset(stat_callback);
- filter_callback->Run();
- delete filter_callback;
+ statistics_callback_ = stat_callback;
+ filter_callback.Run();
state_ = kNormal;
}
@@ -154,22 +153,20 @@ void CaptureVideoDecoder::ProduceVideoFrameOnDecoderThread(
available_frames_.push_back(video_frame);
}
-void CaptureVideoDecoder::PlayOnDecoderThread(media::FilterCallback* callback) {
+void CaptureVideoDecoder::PlayOnDecoderThread(const base::Closure& callback) {
VLOG(1) << "PlayOnDecoderThread.";
DCHECK(message_loop_proxy_->BelongsToCurrentThread());
- callback->Run();
- delete callback;
+ callback.Run();
}
-void CaptureVideoDecoder::PauseOnDecoderThread(
- media::FilterCallback* callback) {
+void CaptureVideoDecoder::PauseOnDecoderThread(const base::Closure& callback) {
VLOG(1) << "PauseOnDecoderThread.";
DCHECK(message_loop_proxy_->BelongsToCurrentThread());
state_ = kPaused;
media::VideoDecoder::Pause(callback);
}
-void CaptureVideoDecoder::StopOnDecoderThread(media::FilterCallback* callback) {
+void CaptureVideoDecoder::StopOnDecoderThread(const base::Closure& callback) {
VLOG(1) << "StopOnDecoderThread.";
DCHECK(message_loop_proxy_->BelongsToCurrentThread());
pending_stop_cb_ = callback;
@@ -199,11 +196,8 @@ void CaptureVideoDecoder::OnStoppedOnDecoderThread(
media::VideoCapture* capture) {
VLOG(1) << "OnStoppedOnDecoderThread.";
DCHECK(message_loop_proxy_->BelongsToCurrentThread());
- if (pending_stop_cb_) {
- pending_stop_cb_->Run();
- delete pending_stop_cb_;
- pending_stop_cb_ = NULL;
- }
+ if (!pending_stop_cb_.is_null())
+ media::ResetAndRunCB(&pending_stop_cb_);
vc_manager_->RemoveDevice(video_stream_id_, this);
}
diff --git a/content/renderer/media/capture_video_decoder.h b/content/renderer/media/capture_video_decoder.h
index f491d5e..f616700 100644
--- a/content/renderer/media/capture_video_decoder.h
+++ b/content/renderer/media/capture_video_decoder.h
@@ -32,16 +32,17 @@ class CaptureVideoDecoder
virtual ~CaptureVideoDecoder();
// Filter implementation.
- virtual void Play(media::FilterCallback* callback) OVERRIDE;
+ virtual void Play(const base::Closure& callback) OVERRIDE;
virtual void Seek(base::TimeDelta time,
const media::FilterStatusCB& cb) OVERRIDE;
- virtual void Pause(media::FilterCallback* callback) OVERRIDE;
- virtual void Stop(media::FilterCallback* callback) OVERRIDE;
+ virtual void Pause(const base::Closure& callback) OVERRIDE;
+ virtual void Stop(const base::Closure& callback) OVERRIDE;
// Decoder implementation.
- virtual void Initialize(media::DemuxerStream* demuxer_stream,
- media::FilterCallback* filter_callback,
- media::StatisticsCallback* stat_callback) OVERRIDE;
+ virtual void Initialize(
+ media::DemuxerStream* demuxer_stream,
+ const base::Closure& filter_callback,
+ const media::StatisticsCallback& stat_callback) OVERRIDE;
virtual void ProduceVideoFrame(
scoped_refptr<media::VideoFrame> video_frame) OVERRIDE;
virtual gfx::Size natural_size() OVERRIDE;
@@ -70,15 +71,16 @@ class CaptureVideoDecoder
kPaused
};
- void PlayOnDecoderThread(media::FilterCallback* callback);
+ void PlayOnDecoderThread(const base::Closure& callback);
void SeekOnDecoderThread(base::TimeDelta time,
const media::FilterStatusCB& cb);
- void PauseOnDecoderThread(media::FilterCallback* callback);
- void StopOnDecoderThread(media::FilterCallback* callback);
+ void PauseOnDecoderThread(const base::Closure& callback);
+ void StopOnDecoderThread(const base::Closure& callback);
- void InitializeOnDecoderThread(media::DemuxerStream* demuxer_stream,
- media::FilterCallback* filter_callback,
- media::StatisticsCallback* stat_callback);
+ void InitializeOnDecoderThread(
+ media::DemuxerStream* demuxer_stream,
+ const base::Closure& filter_callback,
+ const media::StatisticsCallback& stat_callback);
void ProduceVideoFrameOnDecoderThread(
scoped_refptr<media::VideoFrame> video_frame);
@@ -92,8 +94,8 @@ class CaptureVideoDecoder
media::VideoCapture::VideoCaptureCapability capability_;
DecoderState state_;
std::deque<scoped_refptr<media::VideoFrame> > available_frames_;
- media::FilterCallback* pending_stop_cb_;
- scoped_ptr<media::StatisticsCallback> statistics_callback_;
+ base::Closure pending_stop_cb_;
+ media::StatisticsCallback statistics_callback_;
media::VideoCaptureSessionId video_stream_id_;
media::VideoCapture* capture_engine_;
diff --git a/content/renderer/media/capture_video_decoder_unittest.cc b/content/renderer/media/capture_video_decoder_unittest.cc
index 8e7be2a..a74c305 100644
--- a/content/renderer/media/capture_video_decoder_unittest.cc
+++ b/content/renderer/media/capture_video_decoder_unittest.cc
@@ -114,9 +114,9 @@ class CaptureVideoDecoderTest : public ::testing::Test {
message_loop_->RunAllPending();
}
- media::StatisticsCallback* NewStatisticsCallback() {
- return NewCallback(&statistics_callback_object_,
- &media::MockStatisticsCallback::OnStatistics);
+ media::StatisticsCallback NewStatisticsCallback() {
+ return base::Bind(&media::MockStatisticsCallback::OnStatistics,
+ base::Unretained(&statistics_callback_object_));
}
// Fixture members.
diff --git a/content/renderer/media/rtc_video_decoder.cc b/content/renderer/media/rtc_video_decoder.cc
index 4722f96..ef9973c 100644
--- a/content/renderer/media/rtc_video_decoder.cc
+++ b/content/renderer/media/rtc_video_decoder.cc
@@ -6,9 +6,10 @@
#include <deque>
+#include "base/bind.h"
+#include "base/callback.h"
#include "base/message_loop.h"
#include "base/task.h"
-#include "media/base/callback.h"
#include "media/base/demuxer.h"
#include "media/base/filter_host.h"
#include "media/base/filters.h"
@@ -21,7 +22,6 @@ using media::CopyUPlane;
using media::CopyVPlane;
using media::CopyYPlane;
using media::DemuxerStream;
-using media::FilterCallback;
using media::FilterStatusCB;
using media::kNoTimestamp;
using media::Limits;
@@ -41,15 +41,14 @@ RTCVideoDecoder::RTCVideoDecoder(MessageLoop* message_loop,
RTCVideoDecoder::~RTCVideoDecoder() {}
void RTCVideoDecoder::Initialize(DemuxerStream* demuxer_stream,
- FilterCallback* filter_callback,
- StatisticsCallback* stat_callback) {
+ const base::Closure& filter_callback,
+ const StatisticsCallback& stat_callback) {
if (MessageLoop::current() != message_loop_) {
message_loop_->PostTask(
FROM_HERE,
- NewRunnableMethod(this,
- &RTCVideoDecoder::Initialize,
- make_scoped_refptr(demuxer_stream),
- filter_callback, stat_callback));
+ base::Bind(&RTCVideoDecoder::Initialize, this,
+ make_scoped_refptr(demuxer_stream),
+ filter_callback, stat_callback));
return;
}
@@ -61,14 +60,12 @@ void RTCVideoDecoder::Initialize(DemuxerStream* demuxer_stream,
state_ = kNormal;
- filter_callback->Run();
- delete filter_callback;
+ filter_callback.Run();
// TODO(acolwell): Implement stats.
- delete stat_callback;
}
-void RTCVideoDecoder::Play(FilterCallback* callback) {
+void RTCVideoDecoder::Play(const base::Closure& callback) {
if (MessageLoop::current() != message_loop_) {
message_loop_->PostTask(FROM_HERE,
NewRunnableMethod(this,
@@ -82,7 +79,7 @@ void RTCVideoDecoder::Play(FilterCallback* callback) {
VideoDecoder::Play(callback);
}
-void RTCVideoDecoder::Pause(FilterCallback* callback) {
+void RTCVideoDecoder::Pause(const base::Closure& callback) {
if (MessageLoop::current() != message_loop_) {
message_loop_->PostTask(FROM_HERE,
NewRunnableMethod(this,
@@ -98,7 +95,7 @@ void RTCVideoDecoder::Pause(FilterCallback* callback) {
VideoDecoder::Pause(callback);
}
-void RTCVideoDecoder::Stop(FilterCallback* callback) {
+void RTCVideoDecoder::Stop(const base::Closure& callback) {
if (MessageLoop::current() != message_loop_) {
message_loop_->PostTask(FROM_HERE,
NewRunnableMethod(this,
diff --git a/content/renderer/media/rtc_video_decoder.h b/content/renderer/media/rtc_video_decoder.h
index d3b4196..d5ffb7b 100644
--- a/content/renderer/media/rtc_video_decoder.h
+++ b/content/renderer/media/rtc_video_decoder.h
@@ -30,16 +30,17 @@ class RTCVideoDecoder
virtual ~RTCVideoDecoder();
// Filter implementation.
- virtual void Play(media::FilterCallback* callback) OVERRIDE;
+ virtual void Play(const base::Closure& callback) OVERRIDE;
virtual void Seek(base::TimeDelta time,
const media::FilterStatusCB& cb) OVERRIDE;
- virtual void Pause(media::FilterCallback* callback) OVERRIDE;
- virtual void Stop(media::FilterCallback* callback) OVERRIDE;
+ virtual void Pause(const base::Closure& callback) OVERRIDE;
+ virtual void Stop(const base::Closure& callback) OVERRIDE;
// Decoder implementation.
- virtual void Initialize(media::DemuxerStream* demuxer_stream,
- media::FilterCallback* filter_callback,
- media::StatisticsCallback* stat_callback) OVERRIDE;
+ virtual void Initialize(
+ media::DemuxerStream* demuxer_stream,
+ const base::Closure& filter_callback,
+ const media::StatisticsCallback& stat_callback) OVERRIDE;
virtual void ProduceVideoFrame(
scoped_refptr<media::VideoFrame> video_frame) OVERRIDE;
virtual gfx::Size natural_size() OVERRIDE;
diff --git a/content/renderer/media/rtc_video_decoder_unittest.cc b/content/renderer/media/rtc_video_decoder_unittest.cc
index ce434fd..9e0968c 100644
--- a/content/renderer/media/rtc_video_decoder_unittest.cc
+++ b/content/renderer/media/rtc_video_decoder_unittest.cc
@@ -135,9 +135,9 @@ class RTCVideoDecoderTest : public testing::Test {
message_loop_.RunAllPending();
}
- StatisticsCallback* NewStatisticsCallback() {
- return NewCallback(&stats_callback_object_,
- &MockStatisticsCallback::OnStatistics);
+ StatisticsCallback NewStatisticsCallback() {
+ return base::Bind(&MockStatisticsCallback::OnStatistics,
+ base::Unretained(&stats_callback_object_));
}
// Fixture members.