summaryrefslogtreecommitdiffstats
path: root/media/base
diff options
context:
space:
mode:
authorhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-05 08:34:49 +0000
committerhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-05 08:34:49 +0000
commitc3c9af1cbf896627bc9dfcc224ee83c23b79b6be (patch)
treeeb2170260e899732a17df200d79f3fe1e7c1fff2 /media/base
parentbfe0d724ef301309eceb431767658f4cbe7b08c1 (diff)
downloadchromium_src-c3c9af1cbf896627bc9dfcc224ee83c23b79b6be.zip
chromium_src-c3c9af1cbf896627bc9dfcc224ee83c23b79b6be.tar.gz
chromium_src-c3c9af1cbf896627bc9dfcc224ee83c23b79b6be.tar.bz2
Rename all FillThisBuffer and EmptyThisBuffer to something more meaningful
The FillThisBuffer and EmptyThisBuffer names are very confusing. Anyone new working on the code probably won't understand the code at all. I'm changing the names to something more meaningful, which state the actual action taken by the methods. It is also easier to tell whether the method is for input pin or for output pin by their names. Review URL: http://codereview.chromium.org/3201013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58604 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base')
-rw-r--r--media/base/filters.h43
-rw-r--r--media/base/mock_filters.h15
2 files changed, 34 insertions, 24 deletions
diff --git a/media/base/filters.h b/media/base/filters.h
index 62fab2d..0fdf6cf 100644
--- a/media/base/filters.h
+++ b/media/base/filters.h
@@ -33,6 +33,7 @@
#include "base/time.h"
#include "base/scoped_ptr.h"
#include "media/base/media_format.h"
+#include "media/base/video_frame.h"
namespace media {
@@ -40,7 +41,6 @@ class Buffer;
class Decoder;
class DemuxerStream;
class FilterHost;
-class VideoFrame;
class WritableBuffer;
// Identifies the type of filter implementation. Used in conjunction with some
@@ -292,24 +292,28 @@ class VideoDecoder : public MediaFilter {
// |set_fill_buffer_done_callback| install permanent callback from downstream
// filter (i.e. Renderer). The callback is used to deliver video frames at
// runtime to downstream filter
- typedef Callback1<scoped_refptr<VideoFrame> >::Type FillBufferDoneCallback;
- void set_fill_buffer_done_callback(FillBufferDoneCallback* callback) {
- fill_buffer_done_callback_.reset(callback);
- }
- FillBufferDoneCallback* fill_buffer_done_callback() {
- return fill_buffer_done_callback_.get();
+ typedef Callback1<scoped_refptr<VideoFrame> >::Type ConsumeVideoFrameCallback;
+ void set_consume_video_frame_callback(ConsumeVideoFrameCallback* callback) {
+ consume_video_frame_callback_.reset(callback);
}
- // Render provides an output buffer for Decoder to write to. These buffers
- // will be recycled to renderer by fill_buffer_done_callback_;
+ // Renderer provides an output buffer for Decoder to write to. These buffers
+ // will be recycled to renderer by |fill_buffer_done_callback_|.
// We could also pass empty pointer here to let decoder provide buffers pool.
- virtual void FillThisBuffer(scoped_refptr<VideoFrame> frame) = 0;
+ virtual void ProduceVideoFrame(scoped_refptr<VideoFrame> frame) = 0;
// Indicate whether decoder provides its own output buffers
virtual bool ProvidesBuffer() = 0;
+ protected:
+ // A video frame is ready to be consumed. This method invoke
+ // |consume_video_frame_callback_| internally.
+ void VideoFrameReady(scoped_refptr<VideoFrame> frame) {
+ consume_video_frame_callback_->Run(frame);
+ }
+
private:
- scoped_ptr<FillBufferDoneCallback> fill_buffer_done_callback_;
+ scoped_ptr<ConsumeVideoFrameCallback> consume_video_frame_callback_;
};
@@ -333,21 +337,22 @@ class AudioDecoder : public MediaFilter {
// |set_fill_buffer_done_callback| install permanent callback from downstream
// filter (i.e. Renderer). The callback is used to deliver buffers at
// runtime to downstream filter.
- typedef Callback1<scoped_refptr<Buffer> >::Type FillBufferDoneCallback;
- void set_fill_buffer_done_callback(FillBufferDoneCallback* callback) {
- fill_buffer_done_callback_.reset(callback);
+ typedef Callback1<scoped_refptr<Buffer> >::Type ConsumeAudioSamplesCallback;
+ void set_consume_audio_samples_callback(
+ ConsumeAudioSamplesCallback* callback) {
+ consume_audio_samples_callback_.reset(callback);
}
- FillBufferDoneCallback* fill_buffer_done_callback() {
- return fill_buffer_done_callback_.get();
+ ConsumeAudioSamplesCallback* consume_audio_samples_callback() {
+ return consume_audio_samples_callback_.get();
}
- // Render provides an output buffer for Decoder to write to. These buffers
+ // Renderer provides an output buffer for Decoder to write to. These buffers
// will be recycled to renderer by fill_buffer_done_callback_;
// We could also pass empty pointer here to let decoder provide buffers pool.
- virtual void FillThisBuffer(scoped_refptr<Buffer> buffer) = 0;
+ virtual void ProduceAudioSamples(scoped_refptr<Buffer> buffer) = 0;
private:
- scoped_ptr<FillBufferDoneCallback> fill_buffer_done_callback_;
+ scoped_ptr<ConsumeAudioSamplesCallback> consume_audio_samples_callback_;
};
diff --git a/media/base/mock_filters.h b/media/base/mock_filters.h
index 6438916..fe5a58d 100644
--- a/media/base/mock_filters.h
+++ b/media/base/mock_filters.h
@@ -172,9 +172,14 @@ class MockVideoDecoder : public VideoDecoder {
MOCK_METHOD2(Initialize, void(DemuxerStream* stream,
FilterCallback* callback));
MOCK_METHOD0(media_format, const MediaFormat&());
- MOCK_METHOD1(FillThisBuffer, void(scoped_refptr<VideoFrame>));
+ MOCK_METHOD1(ProduceVideoFrame, void(scoped_refptr<VideoFrame>));
MOCK_METHOD0(ProvidesBuffer, bool());
+ // Make this method public so that tests can make use of it.
+ void VideoFrameReady(scoped_refptr<VideoFrame> frame) {
+ VideoDecoder::VideoFrameReady(frame);
+ }
+
protected:
virtual ~MockVideoDecoder() {}
@@ -196,11 +201,11 @@ class MockAudioDecoder : public AudioDecoder {
MOCK_METHOD2(Initialize, void(DemuxerStream* stream,
FilterCallback* callback));
MOCK_METHOD0(media_format, const MediaFormat&());
- MOCK_METHOD1(FillThisBuffer, void(scoped_refptr<Buffer>));
+ MOCK_METHOD1(ProduceAudioSamples, void(scoped_refptr<Buffer>));
// change to public to allow unittest for access;
- FillBufferDoneCallback* fill_buffer_done_callback() {
- return AudioDecoder::fill_buffer_done_callback();
+ ConsumeAudioSamplesCallback* consume_audio_samples_callback() {
+ return AudioDecoder::consume_audio_samples_callback();
}
protected:
@@ -224,7 +229,7 @@ class MockVideoRenderer : public VideoRenderer {
MOCK_METHOD2(Initialize, void(VideoDecoder* decoder,
FilterCallback* callback));
MOCK_METHOD0(HasEnded, bool());
- MOCK_METHOD1(FillThisBufferDone, void(scoped_refptr<VideoFrame> frame));
+ MOCK_METHOD1(ConsumeVideoFrame, void(scoped_refptr<VideoFrame> frame));
protected:
virtual ~MockVideoRenderer() {}