Index: media/base/filters.h |
diff --git a/media/base/filters.h b/media/base/filters.h |
index 0fdf6cf0e5697edb0405261aec845fead09dc2d9..30e86a617d655588bcc626e466abd69e1048286d 100644 |
--- a/media/base/filters.h |
+++ b/media/base/filters.h |
@@ -27,14 +27,14 @@ |
#include <string> |
#include "base/callback.h" |
-#include "base/logging.h" |
-#include "base/message_loop.h" |
#include "base/ref_counted.h" |
#include "base/time.h" |
#include "base/scoped_ptr.h" |
#include "media/base/media_format.h" |
#include "media/base/video_frame.h" |
+class MessageLoop; |
+ |
namespace media { |
class Buffer; |
@@ -60,103 +60,61 @@ typedef Callback0::Type FilterCallback; |
class MediaFilter : public base::RefCountedThreadSafe<MediaFilter> { |
public: |
- MediaFilter() : host_(NULL), message_loop_(NULL) {} |
+ MediaFilter(); |
// Sets the private member |host_|. This is the first method called by |
// the FilterHost after a filter is created. The host holds a strong |
// reference to the filter. The reference held by the host is guaranteed |
// to be released before the host object is destroyed by the pipeline. |
- virtual void set_host(FilterHost* host) { |
- DCHECK(host); |
- DCHECK(!host_); |
- host_ = host; |
- } |
+ virtual void set_host(FilterHost* host); |
- virtual FilterHost* host() { |
- return host_; |
- } |
+ virtual FilterHost* host(); |
// Sets the private member |message_loop_|, which is used by filters for |
// processing asynchronous tasks and maintaining synchronized access to |
// internal data members. The message loop should be running and exceed the |
// lifetime of the filter. |
- virtual void set_message_loop(MessageLoop* message_loop) { |
- DCHECK(message_loop); |
- DCHECK(!message_loop_); |
- message_loop_ = message_loop; |
- } |
+ virtual void set_message_loop(MessageLoop* message_loop); |
- virtual MessageLoop* message_loop() { |
- return message_loop_; |
- } |
+ virtual MessageLoop* message_loop(); |
// The pipeline has resumed playback. Filters can continue requesting reads. |
// Filters may implement this method if they need to respond to this call. |
// TODO(boliu): Check that callback is not NULL in subclasses. |
- virtual void Play(FilterCallback* callback) { |
- DCHECK(callback); |
- if (callback) { |
- callback->Run(); |
- delete callback; |
- } |
- } |
+ virtual void Play(FilterCallback* callback); |
// The pipeline has paused playback. Filters should stop buffer exchange. |
// Filters may implement this method if they need to respond to this call. |
// TODO(boliu): Check that callback is not NULL in subclasses. |
- virtual void Pause(FilterCallback* callback) { |
- DCHECK(callback); |
- if (callback) { |
- callback->Run(); |
- delete callback; |
- } |
- } |
+ virtual void Pause(FilterCallback* callback); |
// The pipeline has been flushed. Filters should return buffer to owners. |
// Filters may implement this method if they need to respond to this call. |
// TODO(boliu): Check that callback is not NULL in subclasses. |
- virtual void Flush(FilterCallback* callback) { |
- DCHECK(callback); |
- if (callback) { |
- callback->Run(); |
- delete callback; |
- } |
- } |
+ virtual void Flush(FilterCallback* callback); |
// The pipeline is being stopped either as a result of an error or because |
// the client called Stop(). |
// TODO(boliu): Check that callback is not NULL in subclasses. |
- virtual void Stop(FilterCallback* callback) { |
- DCHECK(callback); |
- if (callback) { |
- callback->Run(); |
- delete callback; |
- } |
- } |
+ virtual void Stop(FilterCallback* callback); |
// The pipeline playback rate has been changed. Filters may implement this |
// method if they need to respond to this call. |
- virtual void SetPlaybackRate(float playback_rate) {} |
+ virtual void SetPlaybackRate(float playback_rate); |
// Carry out any actions required to seek to the given time, executing the |
// callback upon completion. |
- virtual void Seek(base::TimeDelta time, FilterCallback* callback) { |
- scoped_ptr<FilterCallback> seek_callback(callback); |
- if (seek_callback.get()) { |
- seek_callback->Run(); |
- } |
- } |
+ virtual void Seek(base::TimeDelta time, FilterCallback* callback); |
// This method is called from the pipeline when the audio renderer |
// is disabled. Filters can ignore the notification if they do not |
// need to react to this event. |
- virtual void OnAudioRendererDisabled() { |
- } |
+ virtual void OnAudioRendererDisabled(); |
protected: |
// Only allow scoped_refptr<> to delete filters. |
friend class base::RefCountedThreadSafe<MediaFilter>; |
- virtual ~MediaFilter() {} |
+ virtual ~MediaFilter(); |
FilterHost* host() const { return host_; } |
MessageLoop* message_loop() const { return message_loop_; } |