summaryrefslogtreecommitdiffstats
path: root/media/base
diff options
context:
space:
mode:
authordarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-04 21:12:15 +0000
committerdarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-04 21:12:15 +0000
commit274f591d35c8cedbb4cf5a27135a93733b021076 (patch)
treee609b5da96a5810a46429a05dc05ec9135754e3c /media/base
parent9bae02c23cc4881423e3a3d5f4f751e7a6262dca (diff)
downloadchromium_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')
-rw-r--r--media/base/async_filter_factory_base.h4
-rw-r--r--media/base/buffers.h8
-rw-r--r--media/base/callback.h3
-rw-r--r--media/base/channel_layout.h4
-rw-r--r--media/base/clock.h3
-rw-r--r--media/base/composite_data_source_factory.h3
-rw-r--r--media/base/composite_filter.h2
-rw-r--r--media/base/data_buffer.h2
-rw-r--r--media/base/djb2.h5
-rw-r--r--media/base/filter_collection.h2
-rw-r--r--media/base/filter_factories.h5
-rw-r--r--media/base/filter_host.h2
-rw-r--r--media/base/filters.h20
-rw-r--r--media/base/h264_bitstream_converter.h3
-rw-r--r--media/base/media.h8
-rw-r--r--media/base/media_export.h29
-rw-r--r--media/base/media_switches.h5
-rw-r--r--media/base/message_loop_factory.h3
-rw-r--r--media/base/message_loop_factory_impl.h2
-rw-r--r--media/base/pipeline.h4
-rw-r--r--media/base/pipeline_impl.h4
-rw-r--r--media/base/pts_heap.h5
-rw-r--r--media/base/pts_stream.h2
-rw-r--r--media/base/seekable_buffer.h2
-rw-r--r--media/base/state_matrix.h5
-rw-r--r--media/base/video_decoder_config.h3
-rw-r--r--media/base/video_frame.h2
-rw-r--r--media/base/video_util.h10
-rw-r--r--media/base/yuv_convert.h3
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_