diff options
author | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-04 21:12:15 +0000 |
---|---|---|
committer | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-04 21:12:15 +0000 |
commit | 274f591d35c8cedbb4cf5a27135a93733b021076 (patch) | |
tree | e609b5da96a5810a46429a05dc05ec9135754e3c /media/base | |
parent | 9bae02c23cc4881423e3a3d5f4f751e7a6262dca (diff) | |
download | chromium_src-274f591d35c8cedbb4cf5a27135a93733b021076.zip chromium_src-274f591d35c8cedbb4cf5a27135a93733b021076.tar.gz chromium_src-274f591d35c8cedbb4cf5a27135a93733b021076.tar.bz2 |
Create media.dll
Review URL: http://codereview.chromium.org/7523051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95496 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base')
29 files changed, 103 insertions, 50 deletions
diff --git a/media/base/async_filter_factory_base.h b/media/base/async_filter_factory_base.h index 34ff831..c4a76a2 100644 --- a/media/base/async_filter_factory_base.h +++ b/media/base/async_filter_factory_base.h @@ -46,7 +46,7 @@ namespace media { // the BuildRequest should be in a state where it can be deleted from inside // this call. If an error occurs during the build process, RequestComplete() // can also be called to signal the error. -class AsyncDataSourceFactoryBase : public DataSourceFactory { +class MEDIA_EXPORT AsyncDataSourceFactoryBase : public DataSourceFactory { public: AsyncDataSourceFactoryBase(); virtual ~AsyncDataSourceFactoryBase(); @@ -64,7 +64,7 @@ class AsyncDataSourceFactoryBase : public DataSourceFactory { virtual DataSourceFactory* Clone() const = 0; protected: - class BuildRequest { + class MEDIA_EXPORT BuildRequest { public: BuildRequest(const std::string& url, BuildCallback* callback); virtual ~BuildRequest(); diff --git a/media/base/buffers.h b/media/base/buffers.h index 8c5c219..a97d8dd 100644 --- a/media/base/buffers.h +++ b/media/base/buffers.h @@ -30,13 +30,15 @@ #include "base/basictypes.h" #include "base/memory/ref_counted.h" #include "base/time.h" +#include "media/base/media_export.h" namespace media { // Indicates an invalid or missing timestamp. -extern const base::TimeDelta kNoTimestamp; +MEDIA_EXPORT extern const base::TimeDelta kNoTimestamp; -class StreamSample : public base::RefCountedThreadSafe<StreamSample> { +class MEDIA_EXPORT StreamSample + : public base::RefCountedThreadSafe<StreamSample> { public: // Returns the timestamp of this buffer in microseconds. base::TimeDelta GetTimestamp() const { @@ -76,7 +78,7 @@ class StreamSample : public base::RefCountedThreadSafe<StreamSample> { }; -class Buffer : public StreamSample { +class MEDIA_EXPORT Buffer : public StreamSample { public: // Returns a read only pointer to the buffer data. virtual const uint8* GetData() const = 0; diff --git a/media/base/callback.h b/media/base/callback.h index 4948829..336ffb7 100644 --- a/media/base/callback.h +++ b/media/base/callback.h @@ -24,10 +24,11 @@ #include "base/callback_old.h" #include "base/memory/scoped_ptr.h" #include "base/task.h" +#include "media/base/media_export.h" namespace media { -class AutoCallbackRunner { +class MEDIA_EXPORT AutoCallbackRunner { public: // Takes ownership of the callback. explicit AutoCallbackRunner(Callback0::Type* callback) diff --git a/media/base/channel_layout.h b/media/base/channel_layout.h index 3fa84ba..7dd1ec8 100644 --- a/media/base/channel_layout.h +++ b/media/base/channel_layout.h @@ -5,6 +5,8 @@ #ifndef MEDIA_BASE_CHANNEL_LAYOUT_H_ #define MEDIA_BASE_CHANNEL_LAYOUT_H_ +#include "media/base/media_export.h" + enum ChannelLayout { CHANNEL_LAYOUT_NONE = 0, CHANNEL_LAYOUT_UNSUPPORTED, @@ -84,6 +86,6 @@ enum Channels { extern const int kChannelOrderings[CHANNEL_LAYOUT_MAX][CHANNELS_MAX]; // Returns the number of channels in a given ChannelLayout. -int ChannelLayoutToChannelCount(ChannelLayout layout); +MEDIA_EXPORT int ChannelLayoutToChannelCount(ChannelLayout layout); #endif // MEDIA_BASE_CHANNEL_LAYOUT_H_ diff --git a/media/base/clock.h b/media/base/clock.h index fb45b95..0acf71b 100644 --- a/media/base/clock.h +++ b/media/base/clock.h @@ -8,6 +8,7 @@ #include "base/basictypes.h" #include "base/memory/scoped_ptr.h" #include "base/time.h" +#include "media/base/media_export.h" namespace media { @@ -24,7 +25,7 @@ namespace media { // TODO(scherkus): Clock will some day be responsible for executing callbacks // given a media time. This will be used primarily by video renderers. For now // we'll keep using a poll-and-sleep solution. -class Clock { +class MEDIA_EXPORT Clock { public: // Type for a static function pointer that acts as a time source. typedef base::Time(TimeProvider)(); diff --git a/media/base/composite_data_source_factory.h b/media/base/composite_data_source_factory.h index 799960d..d2ead5b 100644 --- a/media/base/composite_data_source_factory.h +++ b/media/base/composite_data_source_factory.h @@ -13,7 +13,8 @@ namespace media { -class CompositeDataSourceFactory : public AsyncDataSourceFactoryBase { +class MEDIA_EXPORT CompositeDataSourceFactory + : public AsyncDataSourceFactoryBase { public: CompositeDataSourceFactory(); virtual ~CompositeDataSourceFactory(); diff --git a/media/base/composite_filter.h b/media/base/composite_filter.h index 38d52c8..8e1ec4a 100644 --- a/media/base/composite_filter.h +++ b/media/base/composite_filter.h @@ -15,7 +15,7 @@ class MessageLoop; namespace media { -class CompositeFilter : public Filter { +class MEDIA_EXPORT CompositeFilter : public Filter { public: explicit CompositeFilter(MessageLoop* message_loop); diff --git a/media/base/data_buffer.h b/media/base/data_buffer.h index 2e9551a..de1eb35 100644 --- a/media/base/data_buffer.h +++ b/media/base/data_buffer.h @@ -15,7 +15,7 @@ namespace media { -class DataBuffer : public Buffer { +class MEDIA_EXPORT DataBuffer : public Buffer { public: // Takes ownership of the passed |buffer|, assumes valid data of size // |buffer_size|. diff --git a/media/base/djb2.h b/media/base/djb2.h index 2b696fa..598f9d1 100644 --- a/media/base/djb2.h +++ b/media/base/djb2.h @@ -1,4 +1,4 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 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. @@ -6,6 +6,7 @@ #define MEDIA_BASE_DJB2_H_ #include "base/basictypes.h" +#include "media/base/media_export.h" // DJB2 is a hash algorithm with excellent distribution and speed // on many different sets. @@ -34,7 +35,7 @@ static const uint32 kDJB2HashSeed = 5381u; // For the given buffer of data, compute the DJB2 hash of // the data. You can call this any number of times during the computation. -uint32 DJB2Hash(const void* buf, size_t len, uint32 seed); +MEDIA_EXPORT uint32 DJB2Hash(const void* buf, size_t len, uint32 seed); #endif // MEDIA_BASE_DJB2_H_ diff --git a/media/base/filter_collection.h b/media/base/filter_collection.h index aadd2f1d..97e7232 100644 --- a/media/base/filter_collection.h +++ b/media/base/filter_collection.h @@ -15,7 +15,7 @@ namespace media { // This is a collection of Filter objects used to form a media playback // pipeline. See src/media/base/pipeline.h for more information. -class FilterCollection { +class MEDIA_EXPORT FilterCollection { public: FilterCollection(); ~FilterCollection(); diff --git a/media/base/filter_factories.h b/media/base/filter_factories.h index 5286b3f..4e34c0f 100644 --- a/media/base/filter_factories.h +++ b/media/base/filter_factories.h @@ -8,6 +8,7 @@ #include<string> #include "base/callback_old.h" +#include "media/base/media_export.h" #include "media/base/pipeline_status.h" namespace media { @@ -15,7 +16,7 @@ namespace media { class DataSource; // Asynchronous factory interface for building DataSource objects. -class DataSourceFactory { +class MEDIA_EXPORT DataSourceFactory { public: // Ownership of the DataSource is transferred through this callback. typedef Callback2<PipelineStatus, DataSource*>::Type BuildCallback; @@ -33,7 +34,7 @@ class DataSourceFactory { class Demuxer; // Asynchronous factory interface for building Demuxer objects. -class DemuxerFactory { +class MEDIA_EXPORT DemuxerFactory { public: // Ownership of the Demuxer is transferred through this callback. typedef Callback2<PipelineStatus, Demuxer*>::Type BuildCallback; diff --git a/media/base/filter_host.h b/media/base/filter_host.h index 4bdad9f..510e333 100644 --- a/media/base/filter_host.h +++ b/media/base/filter_host.h @@ -22,7 +22,7 @@ namespace media { -class FilterHost { +class MEDIA_EXPORT FilterHost { public: // Stops execution of the pipeline due to a fatal error. Do not call this // method with PIPELINE_OK. diff --git a/media/base/filters.h b/media/base/filters.h index 1ce8682..f0c95ff 100644 --- a/media/base/filters.h +++ b/media/base/filters.h @@ -32,6 +32,7 @@ #include "base/memory/scoped_ptr.h" #include "base/time.h" #include "media/base/audio_decoder_config.h" +#include "media/base/media_export.h" #include "media/base/pipeline_status.h" #include "media/base/video_frame.h" @@ -67,12 +68,12 @@ typedef base::Callback<void(PipelineStatus)> FilterStatusCB; // This function copies |cb|, calls Reset() on |cb|, and then calls Run() // on the copy. This is used in the common case where you need to clear // a callback member variable before running the callback. -void ResetAndRunCB(FilterStatusCB* cb, PipelineStatus status); +MEDIA_EXPORT void ResetAndRunCB(FilterStatusCB* cb, PipelineStatus status); // Used for updating pipeline statistics. typedef Callback1<const PipelineStatistics&>::Type StatisticsCallback; -class Filter : public base::RefCountedThreadSafe<Filter> { +class MEDIA_EXPORT Filter : public base::RefCountedThreadSafe<Filter> { public: Filter(); @@ -130,7 +131,7 @@ class Filter : public base::RefCountedThreadSafe<Filter> { DISALLOW_COPY_AND_ASSIGN(Filter); }; -class DataSource : public Filter { +class MEDIA_EXPORT DataSource : public Filter { public: typedef Callback1<size_t>::Type ReadCallback; static const size_t kReadError = static_cast<size_t>(-1); @@ -155,7 +156,8 @@ class DataSource : public Filter { virtual void SetPreload(Preload preload) = 0; }; -class DemuxerStream : public base::RefCountedThreadSafe<DemuxerStream> { +class MEDIA_EXPORT DemuxerStream + : public base::RefCountedThreadSafe<DemuxerStream> { public: typedef base::Callback<void(Buffer*)> ReadCallback; @@ -183,7 +185,7 @@ class DemuxerStream : public base::RefCountedThreadSafe<DemuxerStream> { virtual ~DemuxerStream(); }; -class Demuxer : public Filter { +class MEDIA_EXPORT Demuxer : public Filter { public: // Returns the given stream type, or NULL if that type is not present. virtual scoped_refptr<DemuxerStream> GetStream(DemuxerStream::Type type) = 0; @@ -196,7 +198,7 @@ class Demuxer : public Filter { }; -class VideoDecoder : public Filter { +class MEDIA_EXPORT VideoDecoder : public Filter { public: // Initialize a VideoDecoder with the given DemuxerStream, executing the // callback upon completion. @@ -245,7 +247,7 @@ class VideoDecoder : public Filter { }; -class AudioDecoder : public Filter { +class MEDIA_EXPORT AudioDecoder : public Filter { public: // Initialize a AudioDecoder with the given DemuxerStream, executing the // callback upon completion. @@ -280,7 +282,7 @@ class AudioDecoder : public Filter { }; -class VideoRenderer : public Filter { +class MEDIA_EXPORT VideoRenderer : public Filter { public: // Initialize a VideoRenderer with the given VideoDecoder, executing the // callback upon completion. @@ -293,7 +295,7 @@ class VideoRenderer : public Filter { }; -class AudioRenderer : public Filter { +class MEDIA_EXPORT AudioRenderer : public Filter { public: // Initialize a AudioRenderer with the given AudioDecoder, executing the // callback upon completion. diff --git a/media/base/h264_bitstream_converter.h b/media/base/h264_bitstream_converter.h index bce1e23b..4ef0966 100644 --- a/media/base/h264_bitstream_converter.h +++ b/media/base/h264_bitstream_converter.h @@ -6,13 +6,14 @@ #define MEDIA_BASE_H264_BITSTREAM_CONVERTER_H_ #include "base/basictypes.h" +#include "media/base/media_export.h" namespace media { // H264BitstreamConverter is a class to convert H.264 bitstream from // MP4 format (as specified in ISO/IEC 14496-15) into H.264 bytestream // (as specified in ISO/IEC 14496-10 Annex B). -class H264BitstreamConverter { +class MEDIA_EXPORT H264BitstreamConverter { public: H264BitstreamConverter(); ~H264BitstreamConverter(); diff --git a/media/base/media.h b/media/base/media.h index 6bbad4c..54e9662 100644 --- a/media/base/media.h +++ b/media/base/media.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 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. @@ -8,6 +8,8 @@ #ifndef MEDIA_BASE_MEDIA_H_ #define MEDIA_BASE_MEDIA_H_ +#include "media/base/media_export.h" + class FilePath; namespace media { @@ -23,11 +25,11 @@ namespace media { // of the process. // // Returns true if everything was successfully initialized, false otherwise. -bool InitializeMediaLibrary(const FilePath& module_dir); +MEDIA_EXPORT bool InitializeMediaLibrary(const FilePath& module_dir); // Use this if you need to check whether the media library is initialized // for the this process, without actually trying to initialize it. -bool IsMediaLibraryInitialized(); +MEDIA_EXPORT bool IsMediaLibraryInitialized(); // Attempts to initialize OpenMAX library. // diff --git a/media/base/media_export.h b/media/base/media_export.h new file mode 100644 index 0000000..58a99d3 --- /dev/null +++ b/media/base/media_export.h @@ -0,0 +1,29 @@ +// Copyright (c) 2011 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. + +#ifndef MEDIA_BASE_MEDIA_EXPORT_H_ +#define MEDIA_BASE_MEDIA_EXPORT_H_ +#pragma once + +// Defines MEDIA_EXPORT so that functionality implemented by the Media module +// can be exported to consumers. + +#if defined(COMPONENT_BUILD) +#if defined(WIN32) + +#if defined(MEDIA_IMPLEMENTATION) +#define MEDIA_EXPORT __declspec(dllexport) +#else +#define MEDIA_EXPORT __declspec(dllimport) +#endif // defined(MEDIA_IMPLEMENTATION) + +#else // defined(WIN32) +#define MEDIA_EXPORT __attribute__((visibility("default"))) +#endif + +#else // defined(COMPONENT_BUILD) +#define MEDIA_EXPORT +#endif + +#endif // MEDIA_BASE_MEDIA_EXPORT_H_ diff --git a/media/base/media_switches.h b/media/base/media_switches.h index dcef120..72005df 100644 --- a/media/base/media_switches.h +++ b/media/base/media_switches.h @@ -8,6 +8,7 @@ #define MEDIA_BASE_MEDIA_SWITCHES_H_ #include "build/build_config.h" +#include "media/base/media_export.h" namespace switches { @@ -16,8 +17,8 @@ extern const char kAlsaOutputDevice[]; extern const char kAlsaInputDevice[]; #endif -extern const char kEnableAdaptive[]; -extern const char kVideoThreads[]; +MEDIA_EXPORT extern const char kEnableAdaptive[]; +MEDIA_EXPORT extern const char kVideoThreads[]; } // namespace switches diff --git a/media/base/message_loop_factory.h b/media/base/message_loop_factory.h index 35078ed..7227840 100644 --- a/media/base/message_loop_factory.h +++ b/media/base/message_loop_factory.h @@ -10,13 +10,14 @@ #include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" #include "base/message_loop_proxy.h" +#include "media/base/media_export.h" class MessageLoop; namespace media { // Factory object that manages named MessageLoops. -class MessageLoopFactory { +class MEDIA_EXPORT MessageLoopFactory { public: // Get the message loop associated with |name|. A new MessageLoop // is created if the factory doesn't have one associated with |name|. diff --git a/media/base/message_loop_factory_impl.h b/media/base/message_loop_factory_impl.h index 821cd66..f5b5c06 100644 --- a/media/base/message_loop_factory_impl.h +++ b/media/base/message_loop_factory_impl.h @@ -13,7 +13,7 @@ namespace media { -class MessageLoopFactoryImpl : public MessageLoopFactory { +class MEDIA_EXPORT MessageLoopFactoryImpl : public MessageLoopFactory { public: MessageLoopFactoryImpl(); diff --git a/media/base/pipeline.h b/media/base/pipeline.h index 9686bb6..9488526 100644 --- a/media/base/pipeline.h +++ b/media/base/pipeline.h @@ -21,7 +21,7 @@ class TimeDelta; namespace media { -extern const char kRawMediaScheme[]; +MEDIA_EXPORT extern const char kRawMediaScheme[]; struct PipelineStatistics { PipelineStatistics() : @@ -39,7 +39,7 @@ struct PipelineStatistics { class FilterCollection; -class Pipeline : public base::RefCountedThreadSafe<Pipeline> { +class MEDIA_EXPORT Pipeline : public base::RefCountedThreadSafe<Pipeline> { public: // Initializes pipeline. Pipeline takes ownership of all callbacks passed // into this method. diff --git a/media/base/pipeline_impl.h b/media/base/pipeline_impl.h index caf4e19f..d8b4da2 100644 --- a/media/base/pipeline_impl.h +++ b/media/base/pipeline_impl.h @@ -33,7 +33,7 @@ namespace media { // the callback to get fired and call status() to see what the callback's // argument was. This object is for one-time use; call |Callback()| exactly // once. -class PipelineStatusNotification { +class MEDIA_EXPORT PipelineStatusNotification { public: PipelineStatusNotification(); ~PipelineStatusNotification(); @@ -91,7 +91,7 @@ class PipelineStatusNotification { // If any error ever happens, this object will transition to the "Error" state // from any state. If Stop() is ever called, this object will transition to // "Stopped" state. -class PipelineImpl : public Pipeline, public FilterHost { +class MEDIA_EXPORT PipelineImpl : public Pipeline, public FilterHost { public: explicit PipelineImpl(MessageLoop* message_loop); diff --git a/media/base/pts_heap.h b/media/base/pts_heap.h index 11a3dbc..5e7f3be 100644 --- a/media/base/pts_heap.h +++ b/media/base/pts_heap.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 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. @@ -31,10 +31,11 @@ #include <vector> #include "base/time.h" +#include "media/base/media_export.h" namespace media { -class PtsHeap { +class MEDIA_EXPORT PtsHeap { public: PtsHeap(); ~PtsHeap(); diff --git a/media/base/pts_stream.h b/media/base/pts_stream.h index f3a6e95..095ae7f 100644 --- a/media/base/pts_stream.h +++ b/media/base/pts_stream.h @@ -25,7 +25,7 @@ namespace media { class StreamSample; -class PtsStream { +class MEDIA_EXPORT PtsStream { public: PtsStream(); ~PtsStream(); diff --git a/media/base/seekable_buffer.h b/media/base/seekable_buffer.h index cad9be5..b32abfe 100644 --- a/media/base/seekable_buffer.h +++ b/media/base/seekable_buffer.h @@ -41,7 +41,7 @@ namespace media { -class SeekableBuffer { +class MEDIA_EXPORT SeekableBuffer { public: // Constructs an instance with |forward_capacity| and |backward_capacity|. // The values are in bytes. diff --git a/media/base/state_matrix.h b/media/base/state_matrix.h index 779646f..07ce514 100644 --- a/media/base/state_matrix.h +++ b/media/base/state_matrix.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 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. @@ -8,10 +8,11 @@ #include <map> #include "base/logging.h" +#include "media/base/media_export.h" namespace media { -class StateMatrix { +class MEDIA_EXPORT StateMatrix { public: StateMatrix(); ~StateMatrix(); diff --git a/media/base/video_decoder_config.h b/media/base/video_decoder_config.h index a077312..31aa12c 100644 --- a/media/base/video_decoder_config.h +++ b/media/base/video_decoder_config.h @@ -7,6 +7,7 @@ #include "base/basictypes.h" #include "base/memory/scoped_ptr.h" +#include "media/base/media_export.h" namespace media { @@ -25,7 +26,7 @@ enum VideoCodec { // that uses said codec in the same CL. }; -class VideoDecoderConfig { +class MEDIA_EXPORT VideoDecoderConfig { public: VideoDecoderConfig(VideoCodec codec, int width, int height, int surface_width, int surface_height, diff --git a/media/base/video_frame.h b/media/base/video_frame.h index 529b9ee..50ea32b 100644 --- a/media/base/video_frame.h +++ b/media/base/video_frame.h @@ -9,7 +9,7 @@ namespace media { -class VideoFrame : public StreamSample { +class MEDIA_EXPORT VideoFrame : public StreamSample { public: static const size_t kMaxPlanes = 3; diff --git a/media/base/video_util.h b/media/base/video_util.h index fa40984..7ffef74 100644 --- a/media/base/video_util.h +++ b/media/base/video_util.h @@ -6,6 +6,7 @@ #define MEDIA_BASE_VIDEO_UTIL_H_ #include "base/basictypes.h" +#include "media/base/media_export.h" namespace media { @@ -15,9 +16,12 @@ class VideoFrame; // source and destinations dimensions. // // NOTE: rows is *not* the same as height! -void CopyYPlane(const uint8* source, int stride, int rows, VideoFrame* frame); -void CopyUPlane(const uint8* source, int stride, int rows, VideoFrame* frame); -void CopyVPlane(const uint8* source, int stride, int rows, VideoFrame* frame); +MEDIA_EXPORT void CopyYPlane(const uint8* source, int stride, int rows, + VideoFrame* frame); +MEDIA_EXPORT void CopyUPlane(const uint8* source, int stride, int rows, + VideoFrame* frame); +MEDIA_EXPORT void CopyVPlane(const uint8* source, int stride, int rows, + VideoFrame* frame); } // namespace media diff --git a/media/base/yuv_convert.h b/media/base/yuv_convert.h index 12dab83..20ba0aa 100644 --- a/media/base/yuv_convert.h +++ b/media/base/yuv_convert.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 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. @@ -93,6 +93,7 @@ void ConvertYUY2ToYUV(const uint8* src, uint8* vplane, int width, int height); + } // namespace media #endif // MEDIA_BASE_YUV_CONVERT_H_ |