From d4799a3bf70ecc62ab702150cae1d1e925b14938 Mon Sep 17 00:00:00 2001 From: "erg@google.com" Date: Tue, 28 Sep 2010 22:54:58 +0000 Subject: FBTF: Moves code to the headers. One of the big things is starting to move/declare ctors/dtors that derive from RefCounted<> to/in the implementation file. (Saves 4 megabytes from libglue.a alone. 1 meg off libbrowser.a. Hundred of kilobyte savings in a large number of .a files; only libmedia.a grew and it's only 100k.) BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3452030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60863 0039d316-1c4b-4281-b951-d872f2087c98 --- media/base/buffers.cc | 7 +++++++ media/base/buffers.h | 6 ++---- media/base/factory.cc | 33 +++++++++++++++++++++++++++++++++ media/base/factory.h | 21 ++++++--------------- media/base/filters.cc | 2 ++ media/base/filters.h | 2 +- 6 files changed, 51 insertions(+), 20 deletions(-) create mode 100644 media/base/factory.cc (limited to 'media/base') diff --git a/media/base/buffers.cc b/media/base/buffers.cc index 4247e39..18401d4 100644 --- a/media/base/buffers.cc +++ b/media/base/buffers.cc @@ -10,4 +10,11 @@ namespace media { const base::TimeDelta StreamSample::kInvalidTimestamp = base::TimeDelta::FromMicroseconds(kint64min); +StreamSample::StreamSample() + : discontinuous_(false) { +} + +StreamSample::~StreamSample() { +} + } // namespace media diff --git a/media/base/buffers.h b/media/base/buffers.h index 438799b2..1b33415 100644 --- a/media/base/buffers.h +++ b/media/base/buffers.h @@ -76,10 +76,8 @@ class StreamSample : public base::RefCountedThreadSafe { protected: friend class base::RefCountedThreadSafe; - StreamSample() - : discontinuous_(false) { - } - virtual ~StreamSample() {} + StreamSample(); + virtual ~StreamSample(); base::TimeDelta timestamp_; base::TimeDelta duration_; diff --git a/media/base/factory.cc b/media/base/factory.cc new file mode 100644 index 0000000..685d1e7 --- /dev/null +++ b/media/base/factory.cc @@ -0,0 +1,33 @@ +// 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/factory.h" + +namespace media { + +FilterFactory::FilterFactory() {} + +FilterFactory::~FilterFactory() {} + +FilterFactoryCollection::FilterFactoryCollection() {} + +void FilterFactoryCollection::AddFactory(FilterFactory* factory) { + factories_.push_back(factory); +} + +MediaFilter* FilterFactoryCollection::Create(FilterType filter_type, + const MediaFormat& media_format) { + MediaFilter* filter = NULL; + for (FactoryVector::iterator factory = factories_.begin(); + !filter && factory != factories_.end(); + ++factory) { + filter = (*factory)->Create(filter_type, media_format); + } + return filter; +} + +FilterFactoryCollection::~FilterFactoryCollection() {} + + +} // namespace media diff --git a/media/base/factory.h b/media/base/factory.h index b9e637d..d5dd9a7 100644 --- a/media/base/factory.h +++ b/media/base/factory.h @@ -67,34 +67,25 @@ class FilterFactory : public base::RefCountedThreadSafe { const MediaFormat& media_format) = 0; friend class base::RefCountedThreadSafe; - virtual ~FilterFactory() {} + FilterFactory(); + virtual ~FilterFactory(); }; // Maintains a collection of FilterFactories. class FilterFactoryCollection : public FilterFactory { public: - FilterFactoryCollection() {} + FilterFactoryCollection(); // Adds a factory to the end of the collection. - void AddFactory(FilterFactory* factory) { - factories_.push_back(factory); - } + void AddFactory(FilterFactory* factory); protected: // Attempts to create a filter by walking down the list of filter factories. - MediaFilter* Create(FilterType filter_type, const MediaFormat& media_format) { - MediaFilter* filter = NULL; - for (FactoryVector::iterator factory = factories_.begin(); - !filter && factory != factories_.end(); - ++factory) { - filter = (*factory)->Create(filter_type, media_format); - } - return filter; - } + MediaFilter* Create(FilterType filter_type, const MediaFormat& media_format); private: - ~FilterFactoryCollection() {} + ~FilterFactoryCollection(); typedef std::vector< scoped_refptr > FactoryVector; FactoryVector factories_; diff --git a/media/base/filters.cc b/media/base/filters.cc index 0a428b9..d6fb31e 100644 --- a/media/base/filters.cc +++ b/media/base/filters.cc @@ -77,4 +77,6 @@ void MediaFilter::OnAudioRendererDisabled() { MediaFilter::~MediaFilter() {} +DemuxerStream::~DemuxerStream() {} + } // namespace media diff --git a/media/base/filters.h b/media/base/filters.h index 30e86a6..65a33ee 100644 --- a/media/base/filters.h +++ b/media/base/filters.h @@ -226,7 +226,7 @@ class DemuxerStream : public base::RefCountedThreadSafe { virtual void* QueryInterface(const char* interface_id) { return NULL; } friend class base::RefCountedThreadSafe; - virtual ~DemuxerStream() {} + virtual ~DemuxerStream(); }; -- cgit v1.1