summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorerg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-23 22:43:53 +0000
committererg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-23 22:43:53 +0000
commitdec76e804867ced17b032571f440adf4945c4d99 (patch)
treefd798a848d7967b28d89350a55f48285057e2739 /media
parent0695ef4d095a441148ae80a08576c25c2ab8bc40 (diff)
downloadchromium_src-dec76e804867ced17b032571f440adf4945c4d99.zip
chromium_src-dec76e804867ced17b032571f440adf4945c4d99.tar.gz
chromium_src-dec76e804867ced17b032571f440adf4945c4d99.tar.bz2
FBTF: Move virtual methods to implementation files.
Remove logging.h and other headers where possible. BUG=none TEST=none Review URL: http://codereview.chromium.org/3461019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60369 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media')
-rw-r--r--media/base/factory.h1
-rw-r--r--media/base/filters.cc80
-rw-r--r--media/base/filters.h72
-rw-r--r--media/filters/ffmpeg_demuxer.cc1
-rw-r--r--media/media.gyp1
-rw-r--r--media/tools/player_x11/x11_video_renderer.cc1
6 files changed, 99 insertions, 57 deletions
diff --git a/media/base/factory.h b/media/base/factory.h
index 49bd868..b9e637d 100644
--- a/media/base/factory.h
+++ b/media/base/factory.h
@@ -32,6 +32,7 @@
#include <vector>
+#include "base/logging.h"
#include "base/ref_counted.h"
#include "media/base/filters.h"
diff --git a/media/base/filters.cc b/media/base/filters.cc
new file mode 100644
index 0000000..0a428b9
--- /dev/null
+++ b/media/base/filters.cc
@@ -0,0 +1,80 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "media/base/filters.h"
+
+#include "base/logging.h"
+#include "base/message_loop.h"
+
+namespace media {
+
+MediaFilter::MediaFilter() : host_(NULL), message_loop_(NULL) {}
+
+void MediaFilter::set_host(FilterHost* host) {
+ DCHECK(host);
+ DCHECK(!host_);
+ host_ = host;
+}
+
+FilterHost* MediaFilter::host() {
+ return host_;
+}
+
+void MediaFilter::set_message_loop(MessageLoop* message_loop) {
+ DCHECK(message_loop);
+ DCHECK(!message_loop_);
+ message_loop_ = message_loop;
+}
+
+MessageLoop* MediaFilter::message_loop() {
+ return message_loop_;
+}
+
+void MediaFilter::Play(FilterCallback* callback) {
+ DCHECK(callback);
+ if (callback) {
+ callback->Run();
+ delete callback;
+ }
+}
+
+void MediaFilter::Pause(FilterCallback* callback) {
+ DCHECK(callback);
+ if (callback) {
+ callback->Run();
+ delete callback;
+ }
+}
+
+void MediaFilter::Flush(FilterCallback* callback) {
+ DCHECK(callback);
+ if (callback) {
+ callback->Run();
+ delete callback;
+ }
+}
+
+void MediaFilter::Stop(FilterCallback* callback) {
+ DCHECK(callback);
+ if (callback) {
+ callback->Run();
+ delete callback;
+ }
+}
+
+void MediaFilter::SetPlaybackRate(float playback_rate) {}
+
+void MediaFilter::Seek(base::TimeDelta time, FilterCallback* callback) {
+ scoped_ptr<FilterCallback> seek_callback(callback);
+ if (seek_callback.get()) {
+ seek_callback->Run();
+ }
+}
+
+void MediaFilter::OnAudioRendererDisabled() {
+}
+
+MediaFilter::~MediaFilter() {}
+
+} // namespace media
diff --git a/media/base/filters.h b/media/base/filters.h
index 0fdf6cf..30e86a6 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_; }
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
index c871343..1752a4d 100644
--- a/media/filters/ffmpeg_demuxer.cc
+++ b/media/filters/ffmpeg_demuxer.cc
@@ -4,6 +4,7 @@
#include "base/callback.h"
#include "base/command_line.h"
+#include "base/message_loop.h"
#include "base/scoped_ptr.h"
#include "base/stl_util-inl.h"
#include "base/string_util.h"
diff --git a/media/media.gyp b/media/media.gyp
index 21f0dc1..5685729 100644
--- a/media/media.gyp
+++ b/media/media.gyp
@@ -75,6 +75,7 @@
'base/djb2.h',
'base/factory.h',
'base/filter_host.h',
+ 'base/filters.cc',
'base/filters.h',
'base/media.h',
'base/media_format.cc',
diff --git a/media/tools/player_x11/x11_video_renderer.cc b/media/tools/player_x11/x11_video_renderer.cc
index 707a578..6819468 100644
--- a/media/tools/player_x11/x11_video_renderer.cc
+++ b/media/tools/player_x11/x11_video_renderer.cc
@@ -9,6 +9,7 @@
#include <X11/extensions/Xrender.h>
#include <X11/extensions/Xcomposite.h>
+#include "base/message_loop.h"
#include "media/base/video_frame.h"
#include "media/base/yuv_convert.h"