summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoracolwell <acolwell@chromium.org>2014-09-06 12:01:32 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-06 19:06:46 +0000
commit9e0840d0672da96350a1f33d684f2c64d2574f46 (patch)
tree6d72e3d50fcfd66f70a58c5d3583358055de4d9a
parent87a3ebac6b26918b151151efed3311d0ddc20d73 (diff)
downloadchromium_src-9e0840d0672da96350a1f33d684f2c64d2574f46.zip
chromium_src-9e0840d0672da96350a1f33d684f2c64d2574f46.tar.gz
chromium_src-9e0840d0672da96350a1f33d684f2c64d2574f46.tar.bz2
Move WebMediaPlayerImpl and its dependencies to media/blink.
Moving WebMediaPlayerImpl and related classes in content/renderer/media to media/blink so that they can be reused by Mojo code. BUG=408338 Review URL: https://codereview.chromium.org/495353003 Cr-Commit-Position: refs/heads/master@{#293628}
-rw-r--r--BUILD.gn2
-rw-r--r--content/content_renderer.gypi32
-rw-r--r--content/content_shell.gypi1
-rw-r--r--content/content_tests.gypi9
-rw-r--r--content/renderer/BUILD.gn2
-rw-r--r--content/renderer/media/android/media_info_loader.cc2
-rw-r--r--content/renderer/media/android/media_info_loader.h4
-rw-r--r--content/renderer/media/android/media_source_delegate.cc10
-rw-r--r--content/renderer/media/android/webmediaplayer_android.cc12
-rw-r--r--content/renderer/media/android/webmediaplayer_android.h6
-rw-r--r--content/renderer/media/crypto/encrypted_media_player_support_impl.cc5
-rw-r--r--content/renderer/media/crypto/encrypted_media_player_support_impl.h4
-rw-r--r--content/renderer/media/webmediaplayer_ms.cc8
-rw-r--r--content/renderer/media/webmediaplayer_ms.h6
-rw-r--r--content/renderer/render_frame_impl.cc12
-rw-r--r--content/renderer/render_frame_impl.h4
-rw-r--r--media/DEPS1
-rw-r--r--media/base/data_source.cc3
-rw-r--r--media/base/data_source.h3
-rw-r--r--media/blink/BUILD.gn87
-rw-r--r--media/blink/DEPS10
-rw-r--r--media/blink/active_loader.cc (renamed from content/renderer/media/active_loader.cc)8
-rw-r--r--media/blink/active_loader.h (renamed from content/renderer/media/active_loader.h)13
-rw-r--r--media/blink/buffered_data_source.cc (renamed from content/renderer/media/buffered_data_source.cc)19
-rw-r--r--media/blink/buffered_data_source.h (renamed from content/renderer/media/buffered_data_source.h)27
-rw-r--r--media/blink/buffered_data_source_host_impl.cc (renamed from content/renderer/media/buffered_data_source_host_impl.cc)12
-rw-r--r--media/blink/buffered_data_source_host_impl.h (renamed from content/renderer/media/buffered_data_source_host_impl.h)20
-rw-r--r--media/blink/buffered_data_source_host_impl_unittest.cc (renamed from content/renderer/media/buffered_data_source_host_impl_unittest.cc)8
-rw-r--r--media/blink/buffered_data_source_unittest.cc (renamed from content/renderer/media/buffered_data_source_unittest.cc)17
-rw-r--r--media/blink/buffered_resource_loader.cc (renamed from content/renderer/media/buffered_resource_loader.cc)19
-rw-r--r--media/blink/buffered_resource_loader.h (renamed from content/renderer/media/buffered_resource_loader.h)25
-rw-r--r--media/blink/buffered_resource_loader_unittest.cc (renamed from content/renderer/media/buffered_resource_loader_unittest.cc)12
-rw-r--r--media/blink/cache_util.cc (renamed from content/renderer/media/cache_util.cc)6
-rw-r--r--media/blink/cache_util.h (renamed from content/renderer/media/cache_util.h)14
-rw-r--r--media/blink/cache_util_unittest.cc (renamed from content/renderer/media/cache_util_unittest.cc)6
-rw-r--r--media/blink/encrypted_media_player_support.cc (renamed from content/renderer/media/crypto/encrypted_media_player_support.cc)6
-rw-r--r--media/blink/encrypted_media_player_support.h (renamed from content/renderer/media/crypto/encrypted_media_player_support.h)17
-rw-r--r--media/blink/media_blink.gyp104
-rw-r--r--media/blink/mock_webframeclient.h16
-rw-r--r--media/blink/mock_weburlloader.cc18
-rw-r--r--media/blink/mock_weburlloader.h33
-rw-r--r--media/blink/run_all_unittests.cc85
-rw-r--r--media/blink/test_response_generator.cc (renamed from content/renderer/media/test_response_generator.cc)6
-rw-r--r--media/blink/test_response_generator.h (renamed from content/renderer/media/test_response_generator.h)10
-rw-r--r--media/blink/texttrack_impl.cc (renamed from content/renderer/media/texttrack_impl.cc)8
-rw-r--r--media/blink/texttrack_impl.h (renamed from content/renderer/media/texttrack_impl.h)12
-rw-r--r--media/blink/video_frame_compositor.cc (renamed from content/renderer/media/video_frame_compositor.cc)34
-rw-r--r--media/blink/video_frame_compositor.h (renamed from content/renderer/media/video_frame_compositor.h)23
-rw-r--r--media/blink/video_frame_compositor_unittest.cc (renamed from content/renderer/media/video_frame_compositor_unittest.cc)8
-rw-r--r--media/blink/webaudiosourceprovider_impl.cc (renamed from content/renderer/media/webaudiosourceprovider_impl.cc)28
-rw-r--r--media/blink/webaudiosourceprovider_impl.h (renamed from content/renderer/media/webaudiosourceprovider_impl.h)30
-rw-r--r--media/blink/webaudiosourceprovider_impl_unittest.cc (renamed from content/renderer/media/webaudiosourceprovider_impl_unittest.cc)24
-rw-r--r--media/blink/webinbandtexttrack_impl.cc (renamed from content/renderer/media/webinbandtexttrack_impl.cc)6
-rw-r--r--media/blink/webinbandtexttrack_impl.h (renamed from content/renderer/media/webinbandtexttrack_impl.h)10
-rw-r--r--media/blink/webmediaplayer_delegate.h (renamed from content/renderer/media/webmediaplayer_delegate.h)10
-rw-r--r--media/blink/webmediaplayer_impl.cc (renamed from content/renderer/media/webmediaplayer_impl.cc)132
-rw-r--r--media/blink/webmediaplayer_impl.h (renamed from content/renderer/media/webmediaplayer_impl.h)65
-rw-r--r--media/blink/webmediaplayer_params.cc (renamed from content/renderer/media/webmediaplayer_params.cc)14
-rw-r--r--media/blink/webmediaplayer_params.h (renamed from content/renderer/media/webmediaplayer_params.h)40
-rw-r--r--media/blink/webmediaplayer_util.cc (renamed from content/renderer/media/webmediaplayer_util.cc)47
-rw-r--r--media/blink/webmediaplayer_util.h (renamed from content/renderer/media/webmediaplayer_util.h)23
-rw-r--r--media/blink/webmediasource_impl.cc (renamed from content/renderer/media/webmediasource_impl.cc)18
-rw-r--r--media/blink/webmediasource_impl.h (renamed from content/renderer/media/webmediasource_impl.h)21
-rw-r--r--media/blink/websourcebuffer_impl.cc (renamed from content/renderer/media/websourcebuffer_impl.cc)14
-rw-r--r--media/blink/websourcebuffer_impl.h (renamed from content/renderer/media/websourcebuffer_impl.h)15
65 files changed, 807 insertions, 499 deletions
diff --git a/BUILD.gn b/BUILD.gn
index a980e85..36ec166 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -51,6 +51,7 @@ group("root") {
"//ipc/mojo",
"//jingle:notifier",
"//media",
+ "//media/blink",
"//media/cast",
"//mojo",
"//net",
@@ -194,6 +195,7 @@ group("root") {
"//extensions/common",
"//extensions/common/api",
"//extensions/renderer",
+ "//media/blink", # Blocked on blink
"//pdf", # Not compiled on Android in GYP yet, either.
"//ppapi:ppapi_c",
"//sandbox",
diff --git a/content/content_renderer.gypi b/content/content_renderer.gypi
index 733bb88..ee23601 100644
--- a/content/content_renderer.gypi
+++ b/content/content_renderer.gypi
@@ -12,6 +12,7 @@
'../gin/gin.gyp:gin',
'../gpu/gpu.gyp:gpu',
'../jingle/jingle.gyp:jingle_glue',
+ '../media/blink/media_blink.gyp:media_blink',
'../media/media.gyp:media',
'../mojo/mojo_base.gyp:mojo_application_bindings',
'../mojo/mojo_base.gyp:mojo_environment_chromium',
@@ -209,8 +210,6 @@
'renderer/java/gin_java_bridge_object.h',
'renderer/java/gin_java_bridge_value_converter.cc',
'renderer/java/gin_java_bridge_value_converter.h',
- 'renderer/media/active_loader.cc',
- 'renderer/media/active_loader.h',
'renderer/media/aec_dump_message_filter.cc',
'renderer/media/aec_dump_message_filter.h',
'renderer/media/android/audio_decoder_android.cc',
@@ -240,20 +239,10 @@
'renderer/media/audio_message_filter.h',
'renderer/media/audio_renderer_mixer_manager.cc',
'renderer/media/audio_renderer_mixer_manager.h',
- 'renderer/media/buffered_data_source.cc',
- 'renderer/media/buffered_data_source.h',
- 'renderer/media/buffered_data_source_host_impl.h',
- 'renderer/media/buffered_data_source_host_impl.cc',
- 'renderer/media/buffered_resource_loader.cc',
- 'renderer/media/buffered_resource_loader.h',
- 'renderer/media/cache_util.cc',
- 'renderer/media/cache_util.h',
'renderer/media/cdm_session_adapter.cc',
'renderer/media/cdm_session_adapter.h',
'renderer/media/crypto/content_decryption_module_factory.cc',
'renderer/media/crypto/content_decryption_module_factory.h',
- 'renderer/media/crypto/encrypted_media_player_support.cc',
- 'renderer/media/crypto/encrypted_media_player_support.h',
'renderer/media/crypto/encrypted_media_player_support_impl.cc',
'renderer/media/crypto/encrypted_media_player_support_impl.h',
'renderer/media/crypto/key_systems.cc',
@@ -291,39 +280,20 @@
'renderer/media/renderer_webaudiodevice_impl.h',
'renderer/media/renderer_webmidiaccessor_impl.cc',
'renderer/media/renderer_webmidiaccessor_impl.h',
- 'renderer/media/texttrack_impl.cc',
- 'renderer/media/texttrack_impl.h',
'renderer/media/video_capture_impl.cc',
'renderer/media/video_capture_impl.h',
'renderer/media/video_capture_impl_manager.cc',
'renderer/media/video_capture_impl_manager.h',
'renderer/media/video_capture_message_filter.cc',
'renderer/media/video_capture_message_filter.h',
- 'renderer/media/video_frame_compositor.cc',
- 'renderer/media/video_frame_compositor.h',
'renderer/media/video_frame_provider.cc',
'renderer/media/video_frame_provider.h',
- 'renderer/media/webaudiosourceprovider_impl.cc',
- 'renderer/media/webaudiosourceprovider_impl.h',
'renderer/media/webcontentdecryptionmodule_impl.cc',
'renderer/media/webcontentdecryptionmodule_impl.h',
'renderer/media/webcontentdecryptionmodulesession_impl.cc',
'renderer/media/webcontentdecryptionmodulesession_impl.h',
- 'renderer/media/webinbandtexttrack_impl.cc',
- 'renderer/media/webinbandtexttrack_impl.h',
- 'renderer/media/webmediaplayer_delegate.h',
- 'renderer/media/webmediaplayer_impl.cc',
- 'renderer/media/webmediaplayer_impl.h',
'renderer/media/webmediaplayer_ms.cc',
'renderer/media/webmediaplayer_ms.h',
- 'renderer/media/webmediaplayer_params.cc',
- 'renderer/media/webmediaplayer_params.h',
- 'renderer/media/webmediaplayer_util.cc',
- 'renderer/media/webmediaplayer_util.h',
- 'renderer/media/webmediasource_impl.cc',
- 'renderer/media/webmediasource_impl.h',
- 'renderer/media/websourcebuffer_impl.cc',
- 'renderer/media/websourcebuffer_impl.h',
'renderer/memory_benchmarking_extension.cc',
'renderer/memory_benchmarking_extension.h',
'renderer/menu_item_builder.cc',
diff --git a/content/content_shell.gypi b/content/content_shell.gypi
index f530e5a..000c6e3 100644
--- a/content/content_shell.gypi
+++ b/content/content_shell.gypi
@@ -50,6 +50,7 @@
'../gin/gin.gyp:gin',
'../gpu/gpu.gyp:gpu',
'../ipc/ipc.gyp:ipc',
+ '../media/blink/media_blink.gyp:media_blink',
'../media/media.gyp:media',
'../net/net.gyp:net',
'../net/net.gyp:net_resources',
diff --git a/content/content_tests.gypi b/content/content_tests.gypi
index dfca6c5..77fb2d7 100644
--- a/content/content_tests.gypi
+++ b/content/content_tests.gypi
@@ -272,6 +272,7 @@
'../cc/blink/cc_blink.gyp:cc_blink',
'../cc/cc.gyp:cc',
'../cc/cc_tests.gyp:cc_test_support',
+ '../media/blink/media_blink.gyp:media_blink',
'../media/media.gyp:media',
'../ppapi/ppapi_internal.gyp:ppapi_host',
'../ppapi/ppapi_internal.gyp:ppapi_proxy',
@@ -702,19 +703,11 @@
'renderer/media/android/media_info_loader_unittest.cc',
'renderer/media/audio_message_filter_unittest.cc',
'renderer/media/audio_renderer_mixer_manager_unittest.cc',
- 'renderer/media/buffered_data_source_unittest.cc',
- 'renderer/media/buffered_data_source_host_impl_unittest.cc',
- 'renderer/media/buffered_resource_loader_unittest.cc',
- 'renderer/media/cache_util_unittest.cc',
'renderer/media/crypto/key_systems_unittest.cc',
'renderer/media/render_media_log_unittest.cc',
- 'renderer/media/test_response_generator.cc',
- 'renderer/media/test_response_generator.h',
'renderer/media/video_capture_impl_manager_unittest.cc',
'renderer/media/video_capture_impl_unittest.cc',
'renderer/media/video_capture_message_filter_unittest.cc',
- 'renderer/media/video_frame_compositor_unittest.cc',
- 'renderer/media/webaudiosourceprovider_impl_unittest.cc',
'renderer/media/webrtc/video_destination_handler_unittest.cc',
'renderer/npapi/webplugin_impl_unittest.cc',
'renderer/pepper/host_var_tracker_unittest.cc',
diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn
index e59e108..1f0e307 100644
--- a/content/renderer/BUILD.gn
+++ b/content/renderer/BUILD.gn
@@ -29,6 +29,7 @@ source_set("renderer") {
"//gin",
"//jingle:jingle_glue",
"//media",
+ "//media/blink",
"//mojo/bindings/js",
"//mojo/environment:chromium",
"//mojo/public/js/bindings",
@@ -71,7 +72,6 @@ source_set("renderer") {
sources -= [
"accessibility/renderer_accessibility_focus_only.cc",
"media/audio_decoder.cc",
- "media/webmediaplayer_impl.cc",
]
sources += [
"external_popup_menu.cc",
diff --git a/content/renderer/media/android/media_info_loader.cc b/content/renderer/media/android/media_info_loader.cc
index ce3a299..95fed0b 100644
--- a/content/renderer/media/android/media_info_loader.cc
+++ b/content/renderer/media/android/media_info_loader.cc
@@ -83,7 +83,7 @@ void MediaInfoLoader::Start(blink::WebFrame* frame) {
// Start the resource loading.
loader->loadAsynchronously(request, this);
- active_loader_.reset(new ActiveLoader(loader.Pass()));
+ active_loader_.reset(new media::ActiveLoader(loader.Pass()));
}
/////////////////////////////////////////////////////////////////////////////
diff --git a/content/renderer/media/android/media_info_loader.h b/content/renderer/media/android/media_info_loader.h
index caefc9d..b421fb3 100644
--- a/content/renderer/media/android/media_info_loader.h
+++ b/content/renderer/media/android/media_info_loader.h
@@ -11,7 +11,7 @@
#include "base/memory/scoped_ptr.h"
#include "base/time/time.h"
#include "content/common/content_export.h"
-#include "content/renderer/media/active_loader.h"
+#include "media/blink/active_loader.h"
#include "third_party/WebKit/public/platform/WebMediaPlayer.h"
#include "third_party/WebKit/public/platform/WebURLLoaderClient.h"
#include "third_party/WebKit/public/web/WebDocument.h"
@@ -113,7 +113,7 @@ class CONTENT_EXPORT MediaInfoLoader : private blink::WebURLLoaderClient {
scoped_ptr<blink::WebURLLoader> test_loader_;
// Keeps track of an active WebURLLoader and associated state.
- scoped_ptr<ActiveLoader> active_loader_;
+ scoped_ptr<media::ActiveLoader> active_loader_;
bool loader_failed_;
GURL url_;
diff --git a/content/renderer/media/android/media_source_delegate.cc b/content/renderer/media/android/media_source_delegate.cc
index 9e6d954..6b1f206 100644
--- a/content/renderer/media/android/media_source_delegate.cc
+++ b/content/renderer/media/android/media_source_delegate.cc
@@ -11,12 +11,12 @@
#include "base/message_loop/message_loop_proxy.h"
#include "base/strings/string_number_conversions.h"
#include "content/renderer/media/android/renderer_demuxer_android.h"
-#include "content/renderer/media/webmediaplayer_util.h"
-#include "content/renderer/media/webmediasource_impl.h"
#include "media/base/android/demuxer_stream_player_params.h"
#include "media/base/bind_to_current_loop.h"
#include "media/base/demuxer_stream.h"
#include "media/base/media_log.h"
+#include "media/blink/webmediaplayer_util.h"
+#include "media/blink/webmediasource_impl.h"
#include "media/filters/chunk_demuxer.h"
#include "media/filters/decrypting_demuxer_stream.h"
#include "third_party/WebKit/public/platform/WebString.h"
@@ -189,7 +189,7 @@ void MediaSourceDelegate::InitializeDemuxer() {
}
blink::WebTimeRanges MediaSourceDelegate::Buffered() const {
- return ConvertToWebTimeRanges(buffered_time_ranges_);
+ return media::ConvertToWebTimeRanges(buffered_time_ranges_);
}
size_t MediaSourceDelegate::DecodedFrameCount() const {
@@ -662,7 +662,7 @@ base::TimeDelta MediaSourceDelegate::GetDuration() const {
if (duration == std::numeric_limits<double>::infinity())
return media::kInfiniteDuration();
- return ConvertSecondsToTimestamp(duration);
+ return media::ConvertSecondsToTimestamp(duration);
}
void MediaSourceDelegate::OnDemuxerOpened() {
@@ -670,7 +670,7 @@ void MediaSourceDelegate::OnDemuxerOpened() {
if (media_source_opened_cb_.is_null())
return;
- media_source_opened_cb_.Run(new WebMediaSourceImpl(
+ media_source_opened_cb_.Run(new media::WebMediaSourceImpl(
chunk_demuxer_.get(), base::Bind(&LogMediaSourceError, media_log_)));
}
diff --git a/content/renderer/media/android/webmediaplayer_android.cc b/content/renderer/media/android/webmediaplayer_android.cc
index 6b3a589..67aa9b0 100644
--- a/content/renderer/media/android/webmediaplayer_android.cc
+++ b/content/renderer/media/android/webmediaplayer_android.cc
@@ -26,8 +26,6 @@
#include "content/renderer/media/crypto/key_systems.h"
#include "content/renderer/media/crypto/renderer_cdm_manager.h"
#include "content/renderer/media/webcontentdecryptionmodule_impl.h"
-#include "content/renderer/media/webmediaplayer_delegate.h"
-#include "content/renderer/media/webmediaplayer_util.h"
#include "content/renderer/render_frame_impl.h"
#include "content/renderer/render_thread_impl.h"
#include "gpu/GLES2/gl2extchromium.h"
@@ -40,6 +38,8 @@
#include "media/base/media_log.h"
#include "media/base/media_switches.h"
#include "media/base/video_frame.h"
+#include "media/blink/webmediaplayer_delegate.h"
+#include "media/blink/webmediaplayer_util.h"
#include "net/base/mime_util.h"
#include "third_party/WebKit/public/platform/Platform.h"
#include "third_party/WebKit/public/platform/WebContentDecryptionModuleResult.h"
@@ -111,7 +111,7 @@ namespace content {
WebMediaPlayerAndroid::WebMediaPlayerAndroid(
blink::WebFrame* frame,
blink::WebMediaPlayerClient* client,
- base::WeakPtr<WebMediaPlayerDelegate> delegate,
+ base::WeakPtr<media::WebMediaPlayerDelegate> delegate,
RendererMediaPlayerManager* player_manager,
RendererCdmManager* cdm_manager,
scoped_refptr<StreamTextureFactory> factory,
@@ -200,7 +200,7 @@ void WebMediaPlayerAndroid::load(LoadType load_type,
const blink::WebURL& url,
CORSMode cors_mode) {
DCHECK(main_thread_checker_.CalledOnValidThread());
- ReportMediaSchemeUma(GURL(url));
+ media::ReportMediaSchemeUma(GURL(url));
switch (load_type) {
case LoadTypeURL:
@@ -331,7 +331,7 @@ void WebMediaPlayerAndroid::seek(double seconds) {
DCHECK(main_thread_checker_.CalledOnValidThread());
DVLOG(1) << __FUNCTION__ << "(" << seconds << ")";
- base::TimeDelta new_seek_time = ConvertSecondsToTimestamp(seconds);
+ base::TimeDelta new_seek_time = media::ConvertSecondsToTimestamp(seconds);
if (seeking_) {
if (new_seek_time == seek_time_) {
@@ -672,7 +672,7 @@ bool WebMediaPlayerAndroid::didPassCORSAccessCheck() const {
}
double WebMediaPlayerAndroid::mediaTimeForTimeValue(double timeValue) const {
- return ConvertSecondsToTimestamp(timeValue).InSecondsF();
+ return media::ConvertSecondsToTimestamp(timeValue).InSecondsF();
}
unsigned WebMediaPlayerAndroid::decodedFrameCount() const {
diff --git a/content/renderer/media/android/webmediaplayer_android.h b/content/renderer/media/android/webmediaplayer_android.h
index b3864e6..bf290b7 100644
--- a/content/renderer/media/android/webmediaplayer_android.h
+++ b/content/renderer/media/android/webmediaplayer_android.h
@@ -56,13 +56,13 @@ struct MailboxHolder;
namespace media {
class MediaLog;
+class WebMediaPlayerDelegate;
}
namespace content {
class RendererCdmManager;
class RendererMediaPlayerManager;
class WebContentDecryptionModuleImpl;
-class WebMediaPlayerDelegate;
// This class implements blink::WebMediaPlayer by keeping the android
// media player in the browser process. It listens to all the status changes
@@ -81,7 +81,7 @@ class WebMediaPlayerAndroid : public blink::WebMediaPlayer,
WebMediaPlayerAndroid(
blink::WebFrame* frame,
blink::WebMediaPlayerClient* client,
- base::WeakPtr<WebMediaPlayerDelegate> delegate,
+ base::WeakPtr<media::WebMediaPlayerDelegate> delegate,
RendererMediaPlayerManager* player_manager,
RendererCdmManager* cdm_manager,
scoped_refptr<StreamTextureFactory> factory,
@@ -331,7 +331,7 @@ class WebMediaPlayerAndroid : public blink::WebMediaPlayer,
// TODO(qinmin): Currently android mediaplayer takes care of the screen
// lock. So this is only used for media source. Will apply this to regular
// media tag once http://crbug.com/247892 is fixed.
- base::WeakPtr<WebMediaPlayerDelegate> delegate_;
+ base::WeakPtr<media::WebMediaPlayerDelegate> delegate_;
// Save the list of buffered time ranges.
blink::WebTimeRanges buffered_;
diff --git a/content/renderer/media/crypto/encrypted_media_player_support_impl.cc b/content/renderer/media/crypto/encrypted_media_player_support_impl.cc
index b15cd81..c884cd6 100644
--- a/content/renderer/media/crypto/encrypted_media_player_support_impl.cc
+++ b/content/renderer/media/crypto/encrypted_media_player_support_impl.cc
@@ -16,6 +16,7 @@
#include "content/renderer/media/webcontentdecryptionmodule_impl.h"
#include "content/renderer/pepper/pepper_webplugin_impl.h"
#include "media/base/bind_to_current_loop.h"
+#include "media/blink/encrypted_media_player_support.h"
#include "third_party/WebKit/public/platform/WebContentDecryptionModule.h"
#include "third_party/WebKit/public/platform/WebContentDecryptionModuleResult.h"
#include "third_party/WebKit/public/platform/WebMediaPlayerClient.h"
@@ -123,8 +124,8 @@ static std::string GuessInitDataType(const unsigned char* init_data,
return "video/mp4";
}
-scoped_ptr<EncryptedMediaPlayerSupport> EncryptedMediaPlayerSupportImpl::Create(
- blink::WebMediaPlayerClient* client) {
+scoped_ptr<media::EncryptedMediaPlayerSupport>
+EncryptedMediaPlayerSupportImpl::Create(blink::WebMediaPlayerClient* client) {
return scoped_ptr<EncryptedMediaPlayerSupport>(
new EncryptedMediaPlayerSupportImpl(client));
}
diff --git a/content/renderer/media/crypto/encrypted_media_player_support_impl.h b/content/renderer/media/crypto/encrypted_media_player_support_impl.h
index 76063e6..f0299d8 100644
--- a/content/renderer/media/crypto/encrypted_media_player_support_impl.h
+++ b/content/renderer/media/crypto/encrypted_media_player_support_impl.h
@@ -9,8 +9,8 @@
#include <vector>
#include "base/memory/weak_ptr.h"
-#include "content/renderer/media/crypto/encrypted_media_player_support.h"
#include "content/renderer/media/crypto/proxy_decryptor.h"
+#include "media/blink/encrypted_media_player_support.h"
namespace blink {
class WebMediaPlayerClient;
@@ -21,7 +21,7 @@ namespace content {
class WebContentDecryptionModuleImpl;
class EncryptedMediaPlayerSupportImpl
- : public EncryptedMediaPlayerSupport,
+ : public media::EncryptedMediaPlayerSupport,
public base::SupportsWeakPtr<EncryptedMediaPlayerSupportImpl> {
public:
static scoped_ptr<EncryptedMediaPlayerSupport> Create(
diff --git a/content/renderer/media/webmediaplayer_ms.cc b/content/renderer/media/webmediaplayer_ms.cc
index b8ecc14..5aefdd9 100644
--- a/content/renderer/media/webmediaplayer_ms.cc
+++ b/content/renderer/media/webmediaplayer_ms.cc
@@ -16,13 +16,13 @@
#include "content/renderer/media/media_stream_audio_renderer.h"
#include "content/renderer/media/media_stream_renderer_factory.h"
#include "content/renderer/media/video_frame_provider.h"
-#include "content/renderer/media/webmediaplayer_delegate.h"
-#include "content/renderer/media/webmediaplayer_util.h"
#include "content/renderer/render_frame_impl.h"
#include "media/base/media_log.h"
#include "media/base/video_frame.h"
#include "media/base/video_rotation.h"
#include "media/base/video_util.h"
+#include "media/blink/webmediaplayer_delegate.h"
+#include "media/blink/webmediaplayer_util.h"
#include "third_party/WebKit/public/platform/WebMediaPlayerClient.h"
#include "third_party/WebKit/public/platform/WebRect.h"
#include "third_party/WebKit/public/platform/WebSize.h"
@@ -81,7 +81,7 @@ namespace content {
WebMediaPlayerMS::WebMediaPlayerMS(
blink::WebFrame* frame,
blink::WebMediaPlayerClient* client,
- base::WeakPtr<WebMediaPlayerDelegate> delegate,
+ base::WeakPtr<media::WebMediaPlayerDelegate> delegate,
media::MediaLog* media_log,
scoped_ptr<MediaStreamRendererFactory> factory)
: frame_(frame),
@@ -358,7 +358,7 @@ bool WebMediaPlayerMS::didPassCORSAccessCheck() const {
}
double WebMediaPlayerMS::mediaTimeForTimeValue(double timeValue) const {
- return ConvertSecondsToTimestamp(timeValue).InSecondsF();
+ return media::ConvertSecondsToTimestamp(timeValue).InSecondsF();
}
unsigned WebMediaPlayerMS::decodedFrameCount() const {
diff --git a/content/renderer/media/webmediaplayer_ms.h b/content/renderer/media/webmediaplayer_ms.h
index eea5c03..eb67d3d 100644
--- a/content/renderer/media/webmediaplayer_ms.h
+++ b/content/renderer/media/webmediaplayer_ms.h
@@ -23,6 +23,7 @@ class WebMediaPlayerClient;
namespace media {
class MediaLog;
+class WebMediaPlayerDelegate;
}
namespace cc_blink {
@@ -33,7 +34,6 @@ namespace content {
class MediaStreamAudioRenderer;
class MediaStreamRendererFactory;
class VideoFrameProvider;
-class WebMediaPlayerDelegate;
// WebMediaPlayerMS delegates calls from WebCore::MediaPlayerPrivate to
// Chrome's media player when "src" is from media stream.
@@ -58,7 +58,7 @@ class WebMediaPlayerMS
// a MediaStreamClient which provides VideoFrameProvider.
WebMediaPlayerMS(blink::WebFrame* frame,
blink::WebMediaPlayerClient* client,
- base::WeakPtr<WebMediaPlayerDelegate> delegate,
+ base::WeakPtr<media::WebMediaPlayerDelegate> delegate,
media::MediaLog* media_log,
scoped_ptr<MediaStreamRendererFactory> factory);
virtual ~WebMediaPlayerMS();
@@ -155,7 +155,7 @@ class WebMediaPlayerMS
blink::WebMediaPlayerClient* client_;
- base::WeakPtr<WebMediaPlayerDelegate> delegate_;
+ base::WeakPtr<media::WebMediaPlayerDelegate> delegate_;
// Specify content:: to disambiguate from cc::.
scoped_refptr<content::VideoFrameProvider> video_frame_provider_;
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 549004c..e2b1bfa 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -74,9 +74,7 @@
#include "content/renderer/media/render_media_log.h"
#include "content/renderer/media/user_media_client_impl.h"
#include "content/renderer/media/webcontentdecryptionmodule_impl.h"
-#include "content/renderer/media/webmediaplayer_impl.h"
#include "content/renderer/media/webmediaplayer_ms.h"
-#include "content/renderer/media/webmediaplayer_params.h"
#include "content/renderer/notification_permission_dispatcher.h"
#include "content/renderer/notification_provider.h"
#include "content/renderer/npapi/plugin_channel_host.h"
@@ -93,6 +91,8 @@
#include "content/renderer/v8_value_converter_impl.h"
#include "content/renderer/websharedworker_proxy.h"
#include "media/base/audio_renderer_mixer_input.h"
+#include "media/blink/webmediaplayer_impl.h"
+#include "media/blink/webmediaplayer_params.h"
#include "media/filters/gpu_video_accelerator_factories.h"
#include "net/base/data_url.h"
#include "net/base/net_errors.h"
@@ -1602,7 +1602,7 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
return CreateAndroidWebMediaPlayer(url, client);
#else
RenderThreadImpl* render_thread = RenderThreadImpl::current();
- WebMediaPlayerParams params(
+ media::WebMediaPlayerParams params(
base::Bind(&ContentRendererClient::DeferMediaLoad,
base::Unretained(GetContentClient()->renderer()),
static_cast<RenderFrame*>(this)),
@@ -1614,8 +1614,10 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
render_thread->GetMediaThreadTaskRunner(),
render_thread->compositor_message_loop_proxy(),
base::Bind(&EncryptedMediaPlayerSupportImpl::Create));
- return new WebMediaPlayerImpl(frame, client, weak_factory_.GetWeakPtr(),
- params);
+ return new media::WebMediaPlayerImpl(frame,
+ client,
+ weak_factory_.GetWeakPtr(),
+ params);
#endif // defined(OS_ANDROID)
}
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index 31f05cc..d8cdfc38 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -19,10 +19,10 @@
#include "content/public/common/javascript_message_type.h"
#include "content/public/common/referrer.h"
#include "content/public/renderer/render_frame.h"
-#include "content/renderer/media/webmediaplayer_delegate.h"
#include "content/renderer/render_frame_proxy.h"
#include "content/renderer/renderer_webcookiejar_impl.h"
#include "ipc/ipc_message.h"
+#include "media/blink/webmediaplayer_delegate.h"
#include "third_party/WebKit/public/web/WebAXObject.h"
#include "third_party/WebKit/public/web/WebDataSource.h"
#include "third_party/WebKit/public/web/WebFrameClient.h"
@@ -83,7 +83,7 @@ struct CustomContextMenuContext;
class CONTENT_EXPORT RenderFrameImpl
: public RenderFrame,
NON_EXPORTED_BASE(public blink::WebFrameClient),
- NON_EXPORTED_BASE(public WebMediaPlayerDelegate) {
+ NON_EXPORTED_BASE(public media::WebMediaPlayerDelegate) {
public:
// Creates a new RenderFrame. |render_view| is the RenderView object that this
// frame belongs to.
diff --git a/media/DEPS b/media/DEPS
index f723644..f9c29be 100644
--- a/media/DEPS
+++ b/media/DEPS
@@ -11,4 +11,5 @@ include_rules = [
"+ui/gfx",
"+ui/gl",
"+ui/ozone",
+ "-media/blink",
]
diff --git a/media/base/data_source.cc b/media/base/data_source.cc
index c8ab446..b6999c2 100644
--- a/media/base/data_source.cc
+++ b/media/base/data_source.cc
@@ -8,9 +8,6 @@
namespace media {
-// static
-const int DataSource::kReadError = -1;
-
DataSource::DataSource() {}
DataSource::~DataSource() {}
diff --git a/media/base/data_source.h b/media/base/data_source.h
index e0b7373..42566a9 100644
--- a/media/base/data_source.h
+++ b/media/base/data_source.h
@@ -15,7 +15,8 @@ class MEDIA_EXPORT DataSource {
public:
typedef base::Callback<void(int64, int64)> StatusCallback;
typedef base::Callback<void(int)> ReadCB;
- static const int kReadError;
+
+ enum { kReadError = -1 };
DataSource();
virtual ~DataSource();
diff --git a/media/blink/BUILD.gn b/media/blink/BUILD.gn
new file mode 100644
index 0000000..ad52f62
--- /dev/null
+++ b/media/blink/BUILD.gn
@@ -0,0 +1,87 @@
+# Copyright 2014 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.
+component("blink") {
+ output_name = "media_blink"
+
+ deps = [
+ "//base",
+ "//cc",
+ "//cc/blink",
+ "//media",
+ "//net",
+ "//third_party/WebKit/public:blink",
+ "//ui/gfx",
+ "//ui/gfx/geometry",
+ ]
+
+ defines = [ "MEDIA_IMPLEMENTATION" ]
+
+ sources = [
+ "active_loader.cc",
+ "active_loader.h",
+ "buffered_data_source.cc",
+ "buffered_data_source.h",
+ "buffered_data_source_host_impl.cc",
+ "buffered_data_source_host_impl.h",
+ "buffered_resource_loader.cc",
+ "buffered_resource_loader.h",
+ "encrypted_media_player_support.cc",
+ "encrypted_media_player_support.h",
+ "cache_util.cc",
+ "cache_util.h",
+ "texttrack_impl.cc",
+ "texttrack_impl.h",
+ "video_frame_compositor.cc",
+ "video_frame_compositor.h",
+ "webaudiosourceprovider_impl.cc",
+ "webaudiosourceprovider_impl.h",
+ "webinbandtexttrack_impl.cc",
+ "webinbandtexttrack_impl.h",
+ "webmediaplayer_delegate.h",
+ "webmediaplayer_impl.cc",
+ "webmediaplayer_impl.h",
+ "webmediaplayer_params.cc",
+ "webmediaplayer_params.h",
+ "webmediaplayer_util.cc",
+ "webmediaplayer_util.h",
+ "webmediasource_impl.cc",
+ "webmediasource_impl.h",
+ "websourcebuffer_impl.cc",
+ "websourcebuffer_impl.h",
+ ]
+}
+
+test("media_blink_unittests") {
+ deps = [
+ ":blink",
+ "//base",
+ "//base/test:test_support",
+ "//cc",
+ "//cc/blink",
+ "//media",
+ "//media/base:test_support",
+ "//net",
+ "//testing/gmock",
+ "//testing/gtest",
+ "//third_party/WebKit/public:blink",
+ "//ui/gfx/geometry",
+ "//ui/gfx:test_support",
+ "//url",
+ ]
+
+ sources = [
+ "buffered_data_source_host_impl_unittest.cc",
+ "buffered_data_source_unittest.cc",
+ "buffered_resource_loader_unittest.cc",
+ "cache_util_unittest.cc",
+ "mock_webframeclient.h",
+ "mock_weburlloader.cc",
+ "mock_weburlloader.h",
+ "run_all_unittests.cc",
+ "test_response_generator.cc",
+ "test_response_generator.h",
+ "video_frame_compositor_unittest.cc",
+ "webaudiosourceprovider_impl_unittest.cc",
+ ]
+}
diff --git a/media/blink/DEPS b/media/blink/DEPS
new file mode 100644
index 0000000..5c05816
--- /dev/null
+++ b/media/blink/DEPS
@@ -0,0 +1,10 @@
+include_rules = [
+ "+cc/layers/video_frame_provider.h",
+ "+cc/layers/video_layer.h",
+ "+cc/blink/web_layer_impl.h",
+ "+media",
+ "+net/base",
+ "+net/http",
+ "+third_party/WebKit/public/platform",
+ "+third_party/WebKit/public/web",
+] \ No newline at end of file
diff --git a/content/renderer/media/active_loader.cc b/media/blink/active_loader.cc
index 6951514..2f1e084 100644
--- a/content/renderer/media/active_loader.cc
+++ b/media/blink/active_loader.cc
@@ -2,12 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/active_loader.h"
+#include "media/blink/active_loader.h"
-#include "content/renderer/media/buffered_resource_loader.h"
+#include "media/blink/buffered_resource_loader.h"
#include "third_party/WebKit/public/platform/WebURLLoader.h"
-namespace content {
+namespace media {
ActiveLoader::ActiveLoader(scoped_ptr<blink::WebURLLoader> loader)
: loader_(loader.Pass()),
@@ -23,4 +23,4 @@ void ActiveLoader::SetDeferred(bool deferred) {
loader_->setDefersLoading(deferred);
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/active_loader.h b/media/blink/active_loader.h
index 1c30214..d8c60df 100644
--- a/content/renderer/media/active_loader.h
+++ b/media/blink/active_loader.h
@@ -2,22 +2,23 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_ACTIVE_LOADER_H_
-#define CONTENT_RENDERER_MEDIA_ACTIVE_LOADER_H_
+#ifndef MEDIA_BLINK_ACTIVE_LOADER_H_
+#define MEDIA_BLINK_ACTIVE_LOADER_H_
#include "base/basictypes.h"
#include "base/memory/scoped_ptr.h"
+#include "media/base/media_export.h"
namespace blink {
class WebURLLoader;
}
-namespace content {
+namespace media {
// Wraps an active WebURLLoader with some additional state.
//
// Handles deferring and deletion of loaders.
-class ActiveLoader {
+class MEDIA_EXPORT ActiveLoader {
public:
// Creates an ActiveLoader with the given loader. It is assumed that the
// initial state of |loader| is loading and not deferred.
@@ -37,6 +38,6 @@ class ActiveLoader {
DISALLOW_IMPLICIT_CONSTRUCTORS(ActiveLoader);
};
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_ACTIVE_LOADER_H_
+#endif // MEDIA_BLINK_ACTIVE_LOADER_H_
diff --git a/content/renderer/media/buffered_data_source.cc b/media/blink/buffered_data_source.cc
index 5fc0c59..91ed1a2 100644
--- a/content/renderer/media/buffered_data_source.cc
+++ b/media/blink/buffered_data_source.cc
@@ -2,12 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/buffered_data_source.h"
+#include "media/blink/buffered_data_source.h"
#include "base/bind.h"
#include "base/callback_helpers.h"
#include "base/single_thread_task_runner.h"
-#include "content/public/common/url_constants.h"
#include "media/base/media_log.h"
#include "net/base/net_errors.h"
@@ -26,12 +25,12 @@ const int kNumCacheMissRetries = 3;
} // namespace
-namespace content {
+namespace media {
class BufferedDataSource::ReadOperation {
public:
ReadOperation(int64 position, int size, uint8* data,
- const media::DataSource::ReadCB& callback);
+ const DataSource::ReadCB& callback);
~ReadOperation();
// Runs |callback_| with the given |result|, deleting the operation
@@ -52,14 +51,14 @@ class BufferedDataSource::ReadOperation {
const int64 position_;
const int size_;
uint8* data_;
- media::DataSource::ReadCB callback_;
+ DataSource::ReadCB callback_;
DISALLOW_IMPLICIT_CONSTRUCTORS(ReadOperation);
};
BufferedDataSource::ReadOperation::ReadOperation(
int64 position, int size, uint8* data,
- const media::DataSource::ReadCB& callback)
+ const DataSource::ReadCB& callback)
: retries_(0),
position_(position),
size_(size),
@@ -83,7 +82,7 @@ BufferedDataSource::BufferedDataSource(
BufferedResourceLoader::CORSMode cors_mode,
const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
WebFrame* frame,
- media::MediaLog* media_log,
+ MediaLog* media_log,
BufferedDataSourceHost* host,
const DownloadingCB& downloading_cb)
: url_(url),
@@ -206,7 +205,7 @@ void BufferedDataSource::MediaIsPaused() {
}
/////////////////////////////////////////////////////////////////////////////
-// media::DataSource implementation.
+// DataSource implementation.
void BufferedDataSource::Stop() {
{
base::AutoLock auto_lock(lock_);
@@ -227,7 +226,7 @@ void BufferedDataSource::SetBitrate(int bitrate) {
void BufferedDataSource::Read(
int64 position, int size, uint8* data,
- const media::DataSource::ReadCB& read_cb) {
+ const DataSource::ReadCB& read_cb) {
DVLOG(1) << "Read: " << position << " offset, " << size << " bytes";
DCHECK(!read_cb.is_null());
@@ -533,4 +532,4 @@ void BufferedDataSource::UpdateDeferStrategy(bool paused) {
loader_->UpdateDeferStrategy(BufferedResourceLoader::kCapacityDefer);
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/buffered_data_source.h b/media/blink/buffered_data_source.h
index c2fd174..5ae7d93 100644
--- a/content/renderer/media/buffered_data_source.h
+++ b/media/blink/buffered_data_source.h
@@ -2,18 +2,18 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_BUFFERED_DATA_SOURCE_H_
-#define CONTENT_RENDERER_MEDIA_BUFFERED_DATA_SOURCE_H_
+#ifndef MEDIA_BLINK_BUFFERED_DATA_SOURCE_H_
+#define MEDIA_BLINK_BUFFERED_DATA_SOURCE_H_
#include <string>
#include "base/callback.h"
#include "base/memory/scoped_ptr.h"
#include "base/synchronization/lock.h"
-#include "content/common/content_export.h"
-#include "content/renderer/media/buffered_resource_loader.h"
#include "media/base/data_source.h"
+#include "media/base/media_export.h"
#include "media/base/ranges.h"
+#include "media/blink/buffered_resource_loader.h"
#include "url/gurl.h"
namespace base {
@@ -22,11 +22,8 @@ class SingleThreadTaskRunner;
namespace media {
class MediaLog;
-}
-
-namespace content {
-class CONTENT_EXPORT BufferedDataSourceHost {
+class MEDIA_EXPORT BufferedDataSourceHost {
public:
// Notify the host of the total size of the media file.
virtual void SetTotalBytes(int64 total_bytes) = 0;
@@ -45,7 +42,7 @@ class CONTENT_EXPORT BufferedDataSourceHost {
//
// BufferedDataSource must be created and initialized on the render thread
// before being passed to other threads. It may be deleted on any thread.
-class CONTENT_EXPORT BufferedDataSource : public media::DataSource {
+class MEDIA_EXPORT BufferedDataSource : public DataSource {
public:
// Used to specify video preload states. They are "hints" to the browser about
// how aggressively the browser should load and buffer data.
@@ -69,7 +66,7 @@ class CONTENT_EXPORT BufferedDataSource : public media::DataSource {
BufferedResourceLoader::CORSMode cors_mode,
const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
blink::WebFrame* frame,
- media::MediaLog* media_log,
+ MediaLog* media_log,
BufferedDataSourceHost* host,
const DownloadingCB& downloading_cb);
virtual ~BufferedDataSource();
@@ -108,12 +105,12 @@ class CONTENT_EXPORT BufferedDataSource : public media::DataSource {
// Returns true if the resource is local.
bool assume_fully_buffered() { return !url_.SchemeIsHTTPOrHTTPS(); }
- // media::DataSource implementation.
+ // DataSource implementation.
// Called from demuxer thread.
virtual void Stop() OVERRIDE;
virtual void Read(int64 position, int size, uint8* data,
- const media::DataSource::ReadCB& read_cb) OVERRIDE;
+ const DataSource::ReadCB& read_cb) OVERRIDE;
virtual bool GetSize(int64* size_out) OVERRIDE;
virtual bool IsStreaming() OVERRIDE;
virtual void SetBitrate(int bitrate) OVERRIDE;
@@ -225,7 +222,7 @@ class CONTENT_EXPORT BufferedDataSource : public media::DataSource {
// Current playback rate.
float playback_rate_;
- scoped_refptr<media::MediaLog> media_log_;
+ scoped_refptr<MediaLog> media_log_;
// Host object to report buffered byte range changes to.
BufferedDataSourceHost* host_;
@@ -238,6 +235,6 @@ class CONTENT_EXPORT BufferedDataSource : public media::DataSource {
DISALLOW_COPY_AND_ASSIGN(BufferedDataSource);
};
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_BUFFERED_DATA_SOURCE_H_
+#endif // MEDIA_BLINK_BUFFERED_DATA_SOURCE_H_
diff --git a/content/renderer/media/buffered_data_source_host_impl.cc b/media/blink/buffered_data_source_host_impl.cc
index 3ffee07..42f9822 100644
--- a/content/renderer/media/buffered_data_source_host_impl.cc
+++ b/media/blink/buffered_data_source_host_impl.cc
@@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/buffered_data_source_host_impl.h"
+#include "media/blink/buffered_data_source_host_impl.h"
-namespace content {
+namespace media {
BufferedDataSourceHostImpl::BufferedDataSourceHostImpl()
: total_bytes_(0),
@@ -34,10 +34,10 @@ static base::TimeDelta TimeForByteOffset(
}
void BufferedDataSourceHostImpl::AddBufferedTimeRanges(
- media::Ranges<base::TimeDelta>* buffered_time_ranges,
+ Ranges<base::TimeDelta>* buffered_time_ranges,
base::TimeDelta media_duration) const {
- DCHECK(media_duration != media::kNoTimestamp());
- DCHECK(media_duration != media::kInfiniteDuration());
+ DCHECK(media_duration != kNoTimestamp());
+ DCHECK(media_duration != kInfiniteDuration());
if (total_bytes_ && buffered_byte_ranges_.size()) {
for (size_t i = 0; i < buffered_byte_ranges_.size(); ++i) {
int64 start = buffered_byte_ranges_.start(i);
@@ -55,4 +55,4 @@ bool BufferedDataSourceHostImpl::DidLoadingProgress() {
return ret;
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/buffered_data_source_host_impl.h b/media/blink/buffered_data_source_host_impl.h
index d04d467..fde5bb2 100644
--- a/content/renderer/media/buffered_data_source_host_impl.h
+++ b/media/blink/buffered_data_source_host_impl.h
@@ -2,19 +2,19 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_BUFFERED_DATA_SOURCE_HOST_IMPL_H_
-#define CONTENT_RENDERER_MEDIA_BUFFERED_DATA_SOURCE_HOST_IMPL_H_
+#ifndef MEDIA_BLINK_BUFFERED_DATA_SOURCE_HOST_IMPL_H_
+#define MEDIA_BLINK_BUFFERED_DATA_SOURCE_HOST_IMPL_H_
#include "base/time/time.h"
-#include "content/common/content_export.h"
-#include "content/renderer/media/buffered_data_source.h"
+#include "media/base/media_export.h"
#include "media/base/ranges.h"
+#include "media/blink/buffered_data_source.h"
-namespace content {
+namespace media {
// Provides an implementation of BufferedDataSourceHost that translates the
// buffered byte ranges into estimated time ranges.
-class CONTENT_EXPORT BufferedDataSourceHostImpl
+class MEDIA_EXPORT BufferedDataSourceHostImpl
: public BufferedDataSourceHost {
public:
BufferedDataSourceHostImpl();
@@ -27,7 +27,7 @@ class CONTENT_EXPORT BufferedDataSourceHostImpl
// Translate the byte ranges to time ranges and append them to the list.
// TODO(sandersd): This is a confusing name, find something better.
void AddBufferedTimeRanges(
- media::Ranges<base::TimeDelta>* buffered_time_ranges,
+ Ranges<base::TimeDelta>* buffered_time_ranges,
base::TimeDelta media_duration) const;
bool DidLoadingProgress();
@@ -37,7 +37,7 @@ class CONTENT_EXPORT BufferedDataSourceHostImpl
int64 total_bytes_;
// List of buffered byte ranges for estimating buffered time.
- media::Ranges<int64> buffered_byte_ranges_;
+ Ranges<int64> buffered_byte_ranges_;
// True when AddBufferedByteRange() has been called more recently than
// DidLoadingProgress().
@@ -46,6 +46,6 @@ class CONTENT_EXPORT BufferedDataSourceHostImpl
DISALLOW_COPY_AND_ASSIGN(BufferedDataSourceHostImpl);
};
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_BUFFERED_DATA_SOURCE_HOST_IMPL_H_
+#endif // MEDIA_BLINK_BUFFERED_DATA_SOURCE_HOST_IMPL_H_
diff --git a/content/renderer/media/buffered_data_source_host_impl_unittest.cc b/media/blink/buffered_data_source_host_impl_unittest.cc
index 6b5a5ec..ef0a461 100644
--- a/content/renderer/media/buffered_data_source_host_impl_unittest.cc
+++ b/media/blink/buffered_data_source_host_impl_unittest.cc
@@ -2,10 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/buffered_data_source_host_impl.h"
+#include "media/blink/buffered_data_source_host_impl.h"
#include "testing/gtest/include/gtest/gtest.h"
-namespace content {
+namespace media {
class BufferedDataSourceHostImplTest : public testing::Test {
public:
@@ -17,7 +17,7 @@ class BufferedDataSourceHostImplTest : public testing::Test {
protected:
BufferedDataSourceHostImpl host_;
- media::Ranges<base::TimeDelta> ranges_;
+ Ranges<base::TimeDelta> ranges_;
DISALLOW_COPY_AND_ASSIGN(BufferedDataSourceHostImplTest);
};
@@ -72,4 +72,4 @@ TEST_F(BufferedDataSourceHostImplTest, DidLoadingProgress) {
EXPECT_FALSE(host_.DidLoadingProgress());
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/buffered_data_source_unittest.cc b/media/blink/buffered_data_source_unittest.cc
index 9749991..a76beb0 100644
--- a/content/renderer/media/buffered_data_source_unittest.cc
+++ b/media/blink/buffered_data_source_unittest.cc
@@ -4,14 +4,13 @@
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
-#include "content/public/common/url_constants.h"
-#include "content/renderer/media/buffered_data_source.h"
-#include "content/renderer/media/test_response_generator.h"
-#include "content/test/mock_webframeclient.h"
-#include "content/test/mock_weburlloader.h"
#include "media/base/media_log.h"
#include "media/base/mock_filters.h"
#include "media/base/test_helpers.h"
+#include "media/blink/buffered_data_source.h"
+#include "media/blink/mock_webframeclient.h"
+#include "media/blink/mock_weburlloader.h"
+#include "media/blink/test_response_generator.h"
#include "third_party/WebKit/public/platform/WebURLResponse.h"
#include "third_party/WebKit/public/web/WebLocalFrame.h"
#include "third_party/WebKit/public/web/WebView.h"
@@ -29,7 +28,7 @@ using blink::WebURLLoader;
using blink::WebURLResponse;
using blink::WebView;
-namespace content {
+namespace media {
class MockBufferedDataSourceHost : public BufferedDataSourceHost {
public:
@@ -49,12 +48,12 @@ class MockBufferedDataSource : public BufferedDataSource {
public:
MockBufferedDataSource(
const GURL& url,
- const scoped_refptr<base::MessageLoopProxy>& message_loop,
+ const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
WebLocalFrame* frame,
BufferedDataSourceHost* host)
: BufferedDataSource(url,
BufferedResourceLoader::kUnspecified,
- message_loop,
+ task_runner,
frame,
new media::MediaLog(),
host,
@@ -777,4 +776,4 @@ TEST_F(BufferedDataSourceTest,
Stop();
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/buffered_resource_loader.cc b/media/blink/buffered_resource_loader.cc
index b43359c..d88266d 100644
--- a/content/renderer/media/buffered_resource_loader.cc
+++ b/media/blink/buffered_resource_loader.cc
@@ -2,16 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/buffered_resource_loader.h"
+#include "media/blink/buffered_resource_loader.h"
#include "base/bits.h"
#include "base/callback_helpers.h"
#include "base/metrics/histogram.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
-#include "content/public/common/url_constants.h"
-#include "content/renderer/media/cache_util.h"
#include "media/base/media_log.h"
+#include "media/blink/cache_util.h"
#include "net/http/http_byte_range.h"
#include "net/http/http_request_headers.h"
#include "third_party/WebKit/public/platform/WebString.h"
@@ -28,7 +27,7 @@ using blink::WebURLLoaderOptions;
using blink::WebURLRequest;
using blink::WebURLResponse;
-namespace content {
+namespace media {
static const int kHttpOK = 200;
static const int kHttpPartialContent = 206;
@@ -103,7 +102,7 @@ BufferedResourceLoader::BufferedResourceLoader(
DeferStrategy strategy,
int bitrate,
float playback_rate,
- media::MediaLog* media_log)
+ MediaLog* media_log)
: buffer_(kMinBufferCapacity, kMinBufferCapacity),
loader_failed_(false),
defer_strategy_(strategy),
@@ -376,8 +375,12 @@ void BufferedResourceLoader::didReceiveResponse(
int max_enum = base::bits::Log2Ceiling(kMaxReason);
while (reasons) {
DCHECK_LT(shift, max_enum); // Sanity check.
- if (reasons & 0x1)
- UMA_HISTOGRAM_ENUMERATION("Media.UncacheableReason", shift, max_enum);
+ if (reasons & 0x1) {
+ UMA_HISTOGRAM_ENUMERATION("Media.UncacheableReason",
+ shift,
+ max_enum); // PRESUBMIT_IGNORE_UMA_MAX
+ }
+
reasons >>= 1;
++shift;
}
@@ -784,4 +787,4 @@ void BufferedResourceLoader::Log() {
offset_ + buffer_.forward_bytes()));
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/buffered_resource_loader.h b/media/blink/buffered_resource_loader.h
index 3bdf138..fb633be 100644
--- a/content/renderer/media/buffered_resource_loader.h
+++ b/media/blink/buffered_resource_loader.h
@@ -2,17 +2,17 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_BUFFERED_RESOURCE_LOADER_H_
-#define CONTENT_RENDERER_MEDIA_BUFFERED_RESOURCE_LOADER_H_
+#ifndef MEDIA_BLINK_BUFFERED_RESOURCE_LOADER_H_
+#define MEDIA_BLINK_BUFFERED_RESOURCE_LOADER_H_
#include <string>
#include "base/callback.h"
#include "base/memory/scoped_ptr.h"
#include "base/timer/timer.h"
-#include "content/common/content_export.h"
-#include "content/renderer/media/active_loader.h"
+#include "media/base/media_export.h"
#include "media/base/seekable_buffer.h"
+#include "media/blink/active_loader.h"
#include "third_party/WebKit/public/platform/WebURLLoader.h"
#include "third_party/WebKit/public/platform/WebURLLoaderClient.h"
#include "third_party/WebKit/public/platform/WebURLRequest.h"
@@ -22,9 +22,6 @@
namespace media {
class MediaLog;
class SeekableBuffer;
-}
-
-namespace content {
const int64 kPositionNotSpecified = -1;
@@ -32,7 +29,7 @@ const int64 kPositionNotSpecified = -1;
// render thread. It wraps a WebURLLoader and does in-memory buffering,
// pausing resource loading when the in-memory buffer is full and resuming
// resource loading when there is available capacity.
-class CONTENT_EXPORT BufferedResourceLoader
+class MEDIA_EXPORT BufferedResourceLoader
: NON_EXPORTED_BASE(public blink::WebURLLoaderClient) {
public:
// kNeverDefer - Aggresively buffer; never defer loading while paused.
@@ -90,7 +87,7 @@ class CONTENT_EXPORT BufferedResourceLoader
DeferStrategy strategy,
int bitrate,
float playback_rate,
- media::MediaLog* media_log);
+ MediaLog* media_log);
virtual ~BufferedResourceLoader();
// Start the resource loading with the specified URL and range.
@@ -251,7 +248,7 @@ class CONTENT_EXPORT BufferedResourceLoader
void Log();
// A sliding window of buffer.
- media::SeekableBuffer buffer_;
+ SeekableBuffer buffer_;
// Keeps track of an active WebURLLoader and associated state.
scoped_ptr<ActiveLoader> active_loader_;
@@ -271,7 +268,7 @@ class CONTENT_EXPORT BufferedResourceLoader
bool range_supported_;
// Forward capacity to reset to after an extension.
- size_t saved_forward_capacity_;
+ int saved_forward_capacity_;
GURL url_;
CORSMode cors_mode_;
@@ -313,11 +310,11 @@ class CONTENT_EXPORT BufferedResourceLoader
// Playback rate of the media.
float playback_rate_;
- scoped_refptr<media::MediaLog> media_log_;
+ scoped_refptr<MediaLog> media_log_;
DISALLOW_COPY_AND_ASSIGN(BufferedResourceLoader);
};
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_BUFFERED_RESOURCE_LOADER_H_
+#endif // MEDIA_BLINK_BUFFERED_RESOURCE_LOADER_H_
diff --git a/content/renderer/media/buffered_resource_loader_unittest.cc b/media/blink/buffered_resource_loader_unittest.cc
index 7bd23de..3e7eaa8 100644
--- a/content/renderer/media/buffered_resource_loader_unittest.cc
+++ b/media/blink/buffered_resource_loader_unittest.cc
@@ -9,11 +9,11 @@
#include "base/format_macros.h"
#include "base/message_loop/message_loop.h"
#include "base/strings/stringprintf.h"
-#include "content/renderer/media/buffered_resource_loader.h"
-#include "content/test/mock_webframeclient.h"
-#include "content/test/mock_weburlloader.h"
#include "media/base/media_log.h"
#include "media/base/seekable_buffer.h"
+#include "media/blink/buffered_resource_loader.h"
+#include "media/blink/mock_webframeclient.h"
+#include "media/blink/mock_weburlloader.h"
#include "net/base/net_errors.h"
#include "net/http/http_request_headers.h"
#include "net/http/http_util.h"
@@ -36,7 +36,7 @@ using blink::WebURLError;
using blink::WebURLResponse;
using blink::WebView;
-namespace content {
+namespace media {
static const char* kHttpUrl = "http://test";
static const char kHttpRedirectToSameDomainUrl1[] = "http://test/ing";
@@ -86,7 +86,7 @@ class BufferedResourceLoaderTest : public testing::Test {
gurl_, BufferedResourceLoader::kUnspecified,
first_position_, last_position_,
BufferedResourceLoader::kCapacityDefer, 0, 0,
- new media::MediaLog()));
+ new MediaLog()));
// |test_loader_| will be used when Start() is called.
url_loader_ = new NiceMock<MockWebURLLoader>();
@@ -1128,4 +1128,4 @@ TEST(BufferedResourceLoaderStandaloneTest, ParseContentRange) {
kPositionNotSpecified);
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/cache_util.cc b/media/blink/cache_util.cc
index d79e692..65bed43 100644
--- a/content/renderer/media/cache_util.cc
+++ b/media/blink/cache_util.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/cache_util.h"
+#include "media/blink/cache_util.h"
#include <string>
@@ -20,7 +20,7 @@ using base::TimeDelta;
using net::HttpVersion;
using blink::WebURLResponse;
-namespace content {
+namespace media {
enum { kHttpOK = 200, kHttpPartialContent = 206 };
@@ -84,4 +84,4 @@ uint32 GetReasonsForUncacheability(const WebURLResponse& response) {
return reasons;
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/cache_util.h b/media/blink/cache_util.h
index aca8d8a..5c59f14 100644
--- a/content/renderer/media/cache_util.h
+++ b/media/blink/cache_util.h
@@ -2,19 +2,19 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_CACHE_UTIL_H_
-#define CONTENT_RENDERER_MEDIA_CACHE_UTIL_H_
+#ifndef MEDIA_BLINK_CACHE_UTIL_H_
+#define MEDIA_BLINK_CACHE_UTIL_H_
#include <vector>
#include "base/basictypes.h"
-#include "content/common/content_export.h"
+#include "media/base/media_export.h"
namespace blink {
class WebURLResponse;
}
-namespace content {
+namespace media {
// Reasons that a cached WebURLResponse will *not* prevent a future request to
// the server. Reported via UMA, so don't change/reuse previously-existing
@@ -33,9 +33,9 @@ enum UncacheableReason {
// Return the logical OR of the reasons "response" cannot be used for a future
// request (using the disk cache), or 0 if it might be useful.
-uint32 CONTENT_EXPORT GetReasonsForUncacheability(
+uint32 MEDIA_EXPORT GetReasonsForUncacheability(
const blink::WebURLResponse& response);
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_CACHE_UTIL_H_
+#endif // MEDIA_BLINK_CACHE_UTIL_H_
diff --git a/content/renderer/media/cache_util_unittest.cc b/media/blink/cache_util_unittest.cc
index 2db66b9..7ea2f13 100644
--- a/content/renderer/media/cache_util_unittest.cc
+++ b/media/blink/cache_util_unittest.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/cache_util.h"
+#include "media/blink/cache_util.h"
#include <string>
@@ -17,7 +17,7 @@
using blink::WebString;
using blink::WebURLResponse;
-namespace content {
+namespace media {
// Inputs & expected output for GetReasonsForUncacheability.
struct GRFUTestCase {
@@ -94,4 +94,4 @@ TEST(CacheUtilTest, GetReasonsForUncacheability) {
}
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/crypto/encrypted_media_player_support.cc b/media/blink/encrypted_media_player_support.cc
index 0414496..663141f 100644
--- a/content/renderer/media/crypto/encrypted_media_player_support.cc
+++ b/media/blink/encrypted_media_player_support.cc
@@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/crypto/encrypted_media_player_support.h"
+#include "media/blink/encrypted_media_player_support.h"
-namespace content {
+namespace media {
EncryptedMediaPlayerSupport::EncryptedMediaPlayerSupport() {
}
@@ -12,4 +12,4 @@ EncryptedMediaPlayerSupport::EncryptedMediaPlayerSupport() {
EncryptedMediaPlayerSupport::~EncryptedMediaPlayerSupport() {
}
-}
+} // namespace media
diff --git a/content/renderer/media/crypto/encrypted_media_player_support.h b/media/blink/encrypted_media_player_support.h
index 59a4e24..b387686 100644
--- a/content/renderer/media/crypto/encrypted_media_player_support.h
+++ b/media/blink/encrypted_media_player_support.h
@@ -2,11 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_CRYPTO_ENCRYPTED_MEDIA_PLAYER_SUPPORT_H_
-#define CONTENT_RENDERER_MEDIA_CRYPTO_ENCRYPTED_MEDIA_PLAYER_SUPPORT_H_
+#ifndef MEDIA_BLINK_ENCRYPTED_MEDIA_PLAYER_SUPPORT_H_
+#define MEDIA_BLINK_ENCRYPTED_MEDIA_PLAYER_SUPPORT_H_
#include "media/base/decryptor.h"
#include "media/base/demuxer.h"
+#include "media/base/media_export.h"
#include "third_party/WebKit/public/platform/WebMediaPlayer.h"
namespace blink {
@@ -17,9 +18,9 @@ class WebMediaPlayerClient;
class WebString;
}
-namespace content {
+namespace media {
-class EncryptedMediaPlayerSupport {
+class MEDIA_EXPORT EncryptedMediaPlayerSupport {
public:
EncryptedMediaPlayerSupport();
virtual ~EncryptedMediaPlayerSupport();
@@ -59,12 +60,12 @@ class EncryptedMediaPlayerSupport {
// Creates a callback that Demuxers can use to signal that the content
// requires a key. This method make sure the callback returned can be safely
// invoked from any thread.
- virtual media::Demuxer::NeedKeyCB CreateNeedKeyCB() = 0;
+ virtual Demuxer::NeedKeyCB CreateNeedKeyCB() = 0;
// Creates a callback that renderers can use to set decryptor
// ready callback. This method make sure the callback returned can be safely
// invoked from any thread.
- virtual media::SetDecryptorReadyCB CreateSetDecryptorReadyCB() = 0;
+ virtual SetDecryptorReadyCB CreateSetDecryptorReadyCB() = 0;
// Called to inform this object that the media pipeline encountered
// and handled a decryption error.
@@ -74,6 +75,6 @@ class EncryptedMediaPlayerSupport {
DISALLOW_COPY_AND_ASSIGN(EncryptedMediaPlayerSupport);
};
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_CRYPTO_ENCRYPTED_MEDIA_PLAYER_SUPPORT_H_
+#endif // MEDIA_BLINK_ENCRYPTED_MEDIA_PLAYER_SUPPORT_H_
diff --git a/media/blink/media_blink.gyp b/media/blink/media_blink.gyp
new file mode 100644
index 0000000..975a701
--- /dev/null
+++ b/media/blink/media_blink.gyp
@@ -0,0 +1,104 @@
+# Copyright 2014 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.
+
+{
+ 'targets': [
+ {
+ # GN version: //media/blink
+ 'target_name': 'media_blink',
+ 'type': '<(component)',
+ 'dependencies': [
+ '../../base/base.gyp:base',
+ '../../cc/cc.gyp:cc',
+ '../../cc/blink/cc_blink.gyp:cc_blink',
+ '../../ui/gfx/gfx.gyp:gfx_geometry',
+ '../../net/net.gyp:net',
+ '../../third_party/WebKit/public/blink.gyp:blink',
+ '../media.gyp:media',
+ '../media.gyp:shared_memory_support',
+ '../../url/url.gyp:url_lib',
+ ],
+ 'defines': [
+ 'MEDIA_IMPLEMENTATION',
+ ],
+ # This sources list is duplicated in //media/blink/BUILD.gn
+ 'sources': [
+ 'active_loader.cc',
+ 'active_loader.h',
+ 'buffered_data_source.cc',
+ 'buffered_data_source.h',
+ 'buffered_data_source_host_impl.cc',
+ 'buffered_data_source_host_impl.h',
+ 'buffered_resource_loader.cc',
+ 'buffered_resource_loader.h',
+ 'encrypted_media_player_support.cc',
+ 'encrypted_media_player_support.h',
+ 'cache_util.cc',
+ 'cache_util.h',
+ 'texttrack_impl.cc',
+ 'texttrack_impl.h',
+ 'video_frame_compositor.cc',
+ 'video_frame_compositor.h',
+ 'webaudiosourceprovider_impl.cc',
+ 'webaudiosourceprovider_impl.h',
+ 'webinbandtexttrack_impl.cc',
+ 'webinbandtexttrack_impl.h',
+ 'webmediaplayer_delegate.h',
+ 'webmediaplayer_impl.cc',
+ 'webmediaplayer_impl.h',
+ 'webmediaplayer_params.cc',
+ 'webmediaplayer_params.h',
+ 'webmediaplayer_util.cc',
+ 'webmediaplayer_util.h',
+ 'webmediasource_impl.cc',
+ 'webmediasource_impl.h',
+ 'websourcebuffer_impl.cc',
+ 'websourcebuffer_impl.h',
+ ],
+ 'conditions': [
+ ['OS=="android"', {
+ 'sources!': [
+ 'webmediaplayer_impl.cc',
+ ],
+ },
+ ],
+ ],
+ },
+ {
+ 'target_name': 'media_blink_unittests',
+ 'type': '<(gtest_target_type)',
+ 'dependencies': [
+ 'media_blink',
+ '../media.gyp:media',
+ '../media.gyp:media_test_support',
+ '../../base/base.gyp:base',
+ '../../base/base.gyp:test_support_base',
+ '../../cc/cc.gyp:cc',
+ '../../cc/blink/cc_blink.gyp:cc_blink',
+ '../../net/net.gyp:net',
+ '../../testing/gmock.gyp:gmock',
+ '../../testing/gtest.gyp:gtest',
+ '../../third_party/WebKit/public/blink.gyp:blink',
+ '../../ui/gfx/gfx.gyp:gfx',
+ '../../ui/gfx/gfx.gyp:gfx_geometry',
+ '../../ui/gfx/gfx.gyp:gfx_test_support',
+ '../../url/url.gyp:url_lib',
+ ],
+ 'sources': [
+ 'buffered_data_source_host_impl_unittest.cc',
+ 'buffered_data_source_unittest.cc',
+ 'buffered_resource_loader_unittest.cc',
+ 'cache_util_unittest.cc',
+ 'mock_webframeclient.h',
+ 'mock_weburlloader.cc',
+ 'mock_weburlloader.h',
+ 'run_all_unittests.cc',
+ 'test_response_generator.cc',
+ 'test_response_generator.h',
+ 'video_frame_compositor_unittest.cc',
+ 'webaudiosourceprovider_impl_unittest.cc',
+ ],
+ },
+ ]
+}
diff --git a/media/blink/mock_webframeclient.h b/media/blink/mock_webframeclient.h
new file mode 100644
index 0000000..7a63358
--- /dev/null
+++ b/media/blink/mock_webframeclient.h
@@ -0,0 +1,16 @@
+// Copyright 2014 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_BLINK_MOCK_WEBFRAMECLIENT_H_
+#define MEDIA_BLINK_MOCK_WEBFRAMECLIENT_H_
+
+#include "third_party/WebKit/public/web/WebFrameClient.h"
+
+namespace media {
+
+class MockWebFrameClient : public blink::WebFrameClient {};
+
+} // namespace media
+
+#endif // MEDIA_BLINK_MOCK_WEBFRAMECLIENT_H_
diff --git a/media/blink/mock_weburlloader.cc b/media/blink/mock_weburlloader.cc
new file mode 100644
index 0000000..578476a
--- /dev/null
+++ b/media/blink/mock_weburlloader.cc
@@ -0,0 +1,18 @@
+// Copyright 2014 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/blink/mock_weburlloader.h"
+
+#include "third_party/WebKit/public/platform/WebData.h"
+#include "third_party/WebKit/public/platform/WebURLError.h"
+#include "third_party/WebKit/public/platform/WebURLRequest.h"
+#include "third_party/WebKit/public/platform/WebURLResponse.h"
+
+namespace media {
+
+MockWebURLLoader::MockWebURLLoader() {}
+
+MockWebURLLoader::~MockWebURLLoader() {}
+
+} // namespace media
diff --git a/media/blink/mock_weburlloader.h b/media/blink/mock_weburlloader.h
new file mode 100644
index 0000000..70dd5a6
--- /dev/null
+++ b/media/blink/mock_weburlloader.h
@@ -0,0 +1,33 @@
+// Copyright 2014 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_BLINK_MOCK_WEBURLLOADER_H_
+#define MEDIA_BLINK_MOCK_WEBURLLOADER_H_
+
+#include "testing/gmock/include/gmock/gmock.h"
+#include "third_party/WebKit/public/platform/WebURLLoader.h"
+
+namespace media {
+
+class MockWebURLLoader : public blink::WebURLLoader {
+ public:
+ MockWebURLLoader();
+ virtual ~MockWebURLLoader();
+
+ MOCK_METHOD4(loadSynchronously, void(const blink::WebURLRequest& request,
+ blink::WebURLResponse& response,
+ blink::WebURLError& error,
+ blink::WebData& data));
+ MOCK_METHOD2(loadAsynchronously, void(const blink::WebURLRequest& request,
+ blink::WebURLLoaderClient* client));
+ MOCK_METHOD0(cancel, void());
+ MOCK_METHOD1(setDefersLoading, void(bool value));
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(MockWebURLLoader);
+};
+
+} // namespace media
+
+#endif // MEDIA_BLINK_MOCK_WEBURLLOADER_H_
diff --git a/media/blink/run_all_unittests.cc b/media/blink/run_all_unittests.cc
new file mode 100644
index 0000000..081a121
--- /dev/null
+++ b/media/blink/run_all_unittests.cc
@@ -0,0 +1,85 @@
+// Copyright 2014 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 "base/bind.h"
+#include "base/test/launcher/unit_test_launcher.h"
+#include "base/test/test_suite.h"
+#include "build/build_config.h"
+#include "media/base/media.h"
+#include "third_party/WebKit/public/web/WebKit.h"
+
+#if defined(OS_ANDROID)
+#include "base/android/jni_android.h"
+#include "media/base/android/media_jni_registrar.h"
+#include "ui/gl/android/gl_jni_registrar.h"
+#endif
+
+class TestBlinkPlatformSupport : NON_EXPORTED_BASE(public blink::Platform) {
+ public:
+ virtual ~TestBlinkPlatformSupport();
+
+ virtual void cryptographicallyRandomValues(unsigned char* buffer,
+ size_t length) OVERRIDE;
+ virtual const unsigned char* getTraceCategoryEnabledFlag(
+ const char* categoryName) OVERRIDE;
+};
+
+TestBlinkPlatformSupport::~TestBlinkPlatformSupport() {}
+
+void TestBlinkPlatformSupport::cryptographicallyRandomValues(
+ unsigned char* buffer,
+ size_t length) {
+}
+
+const unsigned char* TestBlinkPlatformSupport::getTraceCategoryEnabledFlag(
+ const char* categoryName) {
+ static const unsigned char tracingIsDisabled = 0;
+ return &tracingIsDisabled;
+}
+
+class BlinkMediaTestSuite : public base::TestSuite {
+ public:
+ BlinkMediaTestSuite(int argc, char** argv);
+ virtual ~BlinkMediaTestSuite();
+
+ protected:
+ virtual void Initialize() OVERRIDE;
+
+ private:
+ scoped_ptr<TestBlinkPlatformSupport> blink_platform_support_;
+};
+
+BlinkMediaTestSuite::BlinkMediaTestSuite(int argc, char** argv)
+ : TestSuite(argc, argv),
+ blink_platform_support_(new TestBlinkPlatformSupport()) {
+}
+
+BlinkMediaTestSuite::~BlinkMediaTestSuite() {}
+
+void BlinkMediaTestSuite::Initialize() {
+ // Run TestSuite::Initialize first so that logging is initialized.
+ base::TestSuite::Initialize();
+
+#if defined(OS_ANDROID)
+ // Register JNI bindings for android.
+ JNIEnv* env = base::android::AttachCurrentThread();
+ // Needed for surface texture support.
+ ui::gl::android::RegisterJni(env);
+ media::RegisterJni(env);
+#endif
+
+ // Run this here instead of main() to ensure an AtExitManager is already
+ // present.
+ media::InitializeMediaLibraryForTesting();
+
+ blink::initialize(blink_platform_support_.get());
+}
+
+int main(int argc, char** argv) {
+ BlinkMediaTestSuite test_suite(argc, argv);
+
+ return base::LaunchUnitTests(
+ argc, argv, base::Bind(&BlinkMediaTestSuite::Run,
+ base::Unretained(&test_suite)));
+}
diff --git a/content/renderer/media/test_response_generator.cc b/media/blink/test_response_generator.cc
index 64f82e7..aa3b748 100644
--- a/content/renderer/media/test_response_generator.cc
+++ b/media/blink/test_response_generator.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/test_response_generator.h"
+#include "media/blink/test_response_generator.h"
#include "base/format_macros.h"
#include "base/strings/string_number_conversions.h"
@@ -15,7 +15,7 @@ using blink::WebString;
using blink::WebURLError;
using blink::WebURLResponse;
-namespace content {
+namespace media {
TestResponseGenerator::TestResponseGenerator(const GURL& gurl,
int64 content_length)
@@ -98,4 +98,4 @@ WebURLResponse TestResponseGenerator::GenerateFileResponse(
return response;
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/test_response_generator.h b/media/blink/test_response_generator.h
index dcbcc05..7e3e98d 100644
--- a/content/renderer/media/test_response_generator.h
+++ b/media/blink/test_response_generator.h
@@ -2,15 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_TEST_RESPONSE_GENERATOR_H_
-#define CONTENT_RENDERER_MEDIA_TEST_RESPONSE_GENERATOR_H_
+#ifndef MEDIA_BLINK_TEST_RESPONSE_GENERATOR_H_
+#define MEDIA_BLINK_TEST_RESPONSE_GENERATOR_H_
#include "base/basictypes.h"
#include "third_party/WebKit/public/platform/WebURLError.h"
#include "third_party/WebKit/public/platform/WebURLResponse.h"
#include "url/gurl.h"
-namespace content {
+namespace media {
// Generates WebURLErrors and WebURLResponses suitable for testing purposes.
class TestResponseGenerator {
@@ -61,6 +61,6 @@ class TestResponseGenerator {
DISALLOW_COPY_AND_ASSIGN(TestResponseGenerator);
};
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_TEST_RESPONSE_GENERATOR_H_
+#endif // MEDIA_BLINK_TEST_RESPONSE_GENERATOR_H_
diff --git a/content/renderer/media/texttrack_impl.cc b/media/blink/texttrack_impl.cc
index 565689f..1d58af9 100644
--- a/content/renderer/media/texttrack_impl.cc
+++ b/media/blink/texttrack_impl.cc
@@ -2,17 +2,17 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/texttrack_impl.h"
+#include "media/blink/texttrack_impl.h"
#include "base/bind.h"
#include "base/location.h"
#include "base/single_thread_task_runner.h"
-#include "content/renderer/media/webinbandtexttrack_impl.h"
#include "media/base/bind_to_current_loop.h"
+#include "media/blink/webinbandtexttrack_impl.h"
#include "third_party/WebKit/public/platform/WebInbandTextTrackClient.h"
#include "third_party/WebKit/public/platform/WebMediaPlayerClient.h"
-namespace content {
+namespace media {
TextTrackImpl::TextTrackImpl(
const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
@@ -67,4 +67,4 @@ void TextTrackImpl::OnRemoveTrack(
client->removeTextTrack(text_track.get());
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/texttrack_impl.h b/media/blink/texttrack_impl.h
index 436d4ea..1d85bde 100644
--- a/content/renderer/media/texttrack_impl.h
+++ b/media/blink/texttrack_impl.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_TEXTTRACK_IMPL_H_
-#define CONTENT_RENDERER_MEDIA_TEXTTRACK_IMPL_H_
+#ifndef MEDIA_BLINK_TEXTTRACK_IMPL_H_
+#define MEDIA_BLINK_TEXTTRACK_IMPL_H_
#include <string>
@@ -20,11 +20,11 @@ class WebInbandTextTrackClient;
class WebMediaPlayerClient;
}
-namespace content {
+namespace media {
class WebInbandTextTrackImpl;
-class TextTrackImpl : public media::TextTrack {
+class TextTrackImpl : public TextTrack {
public:
// Constructor assumes ownership of the |text_track| object.
TextTrackImpl(const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
@@ -56,6 +56,6 @@ class TextTrackImpl : public media::TextTrack {
DISALLOW_COPY_AND_ASSIGN(TextTrackImpl);
};
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_TEXTTRACK_IMPL_H_
+#endif // MEDIA_BLINK_TEXTTRACK_IMPL_H_
diff --git a/content/renderer/media/video_frame_compositor.cc b/media/blink/video_frame_compositor.cc
index 50dd8c9..7f254d4 100644
--- a/content/renderer/media/video_frame_compositor.cc
+++ b/media/blink/video_frame_compositor.cc
@@ -2,28 +2,28 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/video_frame_compositor.h"
+#include "media/blink/video_frame_compositor.h"
#include "media/base/video_frame.h"
-namespace content {
+namespace media {
-static bool IsOpaque(const scoped_refptr<media::VideoFrame>& frame) {
+static bool IsOpaque(const scoped_refptr<VideoFrame>& frame) {
switch (frame->format()) {
- case media::VideoFrame::UNKNOWN:
- case media::VideoFrame::YV12:
- case media::VideoFrame::YV12J:
- case media::VideoFrame::YV16:
- case media::VideoFrame::I420:
- case media::VideoFrame::YV24:
- case media::VideoFrame::NV12:
+ case VideoFrame::UNKNOWN:
+ case VideoFrame::YV12:
+ case VideoFrame::YV12J:
+ case VideoFrame::YV16:
+ case VideoFrame::I420:
+ case VideoFrame::YV24:
+ case VideoFrame::NV12:
return true;
- case media::VideoFrame::YV12A:
+ case VideoFrame::YV12A:
#if defined(VIDEO_HOLE)
- case media::VideoFrame::HOLE:
+ case VideoFrame::HOLE:
#endif // defined(VIDEO_HOLE)
- case media::VideoFrame::NATIVE_TEXTURE:
+ case VideoFrame::NATIVE_TEXTURE:
break;
}
return false;
@@ -49,16 +49,16 @@ void VideoFrameCompositor::SetVideoFrameProviderClient(
client_ = client;
}
-scoped_refptr<media::VideoFrame> VideoFrameCompositor::GetCurrentFrame() {
+scoped_refptr<VideoFrame> VideoFrameCompositor::GetCurrentFrame() {
return current_frame_;
}
void VideoFrameCompositor::PutCurrentFrame(
- const scoped_refptr<media::VideoFrame>& frame) {
+ const scoped_refptr<VideoFrame>& frame) {
}
void VideoFrameCompositor::UpdateCurrentFrame(
- const scoped_refptr<media::VideoFrame>& frame) {
+ const scoped_refptr<VideoFrame>& frame) {
if (current_frame_.get() &&
current_frame_->natural_size() != frame->natural_size()) {
natural_size_changed_cb_.Run(frame->natural_size());
@@ -74,4 +74,4 @@ void VideoFrameCompositor::UpdateCurrentFrame(
client_->DidReceiveFrame();
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/video_frame_compositor.h b/media/blink/video_frame_compositor.h
index 91e5d0c..9fc8b6a 100644
--- a/content/renderer/media/video_frame_compositor.h
+++ b/media/blink/video_frame_compositor.h
@@ -2,20 +2,17 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_VIDEO_FRAME_COMPOSITOR_H_
-#define CONTENT_RENDERER_MEDIA_VIDEO_FRAME_COMPOSITOR_H_
+#ifndef MEDIA_BLINK_VIDEO_FRAME_COMPOSITOR_H_
+#define MEDIA_BLINK_VIDEO_FRAME_COMPOSITOR_H_
#include "base/callback.h"
#include "base/memory/ref_counted.h"
#include "cc/layers/video_frame_provider.h"
-#include "content/common/content_export.h"
+#include "media/base/media_export.h"
#include "ui/gfx/size.h"
namespace media {
class VideoFrame;
-}
-
-namespace content {
// VideoFrameCompositor handles incoming frames by notifying the compositor and
// dispatching callbacks when detecting changes in video frames.
@@ -25,7 +22,7 @@ namespace content {
// changes in video frames and firing callbacks as needed.
//
// VideoFrameCompositor must live on the same thread as the compositor.
-class CONTENT_EXPORT VideoFrameCompositor
+class MEDIA_EXPORT VideoFrameCompositor
: NON_EXPORTED_BASE(public cc::VideoFrameProvider) {
public:
// |natural_size_changed_cb| is run with the new natural size of the video
@@ -48,12 +45,12 @@ class CONTENT_EXPORT VideoFrameCompositor
// cc::VideoFrameProvider implementation.
virtual void SetVideoFrameProviderClient(
cc::VideoFrameProvider::Client* client) OVERRIDE;
- virtual scoped_refptr<media::VideoFrame> GetCurrentFrame() OVERRIDE;
+ virtual scoped_refptr<VideoFrame> GetCurrentFrame() OVERRIDE;
virtual void PutCurrentFrame(
- const scoped_refptr<media::VideoFrame>& frame) OVERRIDE;
+ const scoped_refptr<VideoFrame>& frame) OVERRIDE;
// Updates the current frame and notifies the compositor.
- void UpdateCurrentFrame(const scoped_refptr<media::VideoFrame>& frame);
+ void UpdateCurrentFrame(const scoped_refptr<VideoFrame>& frame);
private:
base::Callback<void(gfx::Size)> natural_size_changed_cb_;
@@ -61,11 +58,11 @@ class CONTENT_EXPORT VideoFrameCompositor
cc::VideoFrameProvider::Client* client_;
- scoped_refptr<media::VideoFrame> current_frame_;
+ scoped_refptr<VideoFrame> current_frame_;
DISALLOW_COPY_AND_ASSIGN(VideoFrameCompositor);
};
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_VIDEO_FRAME_COMPOSITOR_H_
+#endif // MEDIA_BLINK_VIDEO_FRAME_COMPOSITOR_H_
diff --git a/content/renderer/media/video_frame_compositor_unittest.cc b/media/blink/video_frame_compositor_unittest.cc
index 801c9e3..a7c46ca 100644
--- a/content/renderer/media/video_frame_compositor_unittest.cc
+++ b/media/blink/video_frame_compositor_unittest.cc
@@ -4,13 +4,11 @@
#include "base/bind.h"
#include "cc/layers/video_frame_provider.h"
-#include "content/renderer/media/video_frame_compositor.h"
#include "media/base/video_frame.h"
+#include "media/blink/video_frame_compositor.h"
#include "testing/gtest/include/gtest/gtest.h"
-namespace content {
-
-using media::VideoFrame;
+namespace media {
class VideoFrameCompositorTest : public testing::Test,
public cc::VideoFrameProvider::Client {
@@ -159,4 +157,4 @@ TEST_F(VideoFrameCompositorTest, OpacityChanged) {
EXPECT_EQ(2, opacity_changed_count());
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/webaudiosourceprovider_impl.cc b/media/blink/webaudiosourceprovider_impl.cc
index 4d878ce4..6637719 100644
--- a/content/renderer/media/webaudiosourceprovider_impl.cc
+++ b/media/blink/webaudiosourceprovider_impl.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/webaudiosourceprovider_impl.h"
+#include "media/blink/webaudiosourceprovider_impl.h"
#include <vector>
@@ -14,7 +14,7 @@
using blink::WebVector;
-namespace content {
+namespace media {
namespace {
@@ -47,7 +47,7 @@ class AutoTryLock {
} // namespace
WebAudioSourceProviderImpl::WebAudioSourceProviderImpl(
- const scoped_refptr<media::AudioRendererSink>& sink)
+ const scoped_refptr<AudioRendererSink>& sink)
: channels_(0),
sample_rate_(0),
volume_(1.0),
@@ -70,7 +70,7 @@ void WebAudioSourceProviderImpl::setClient(
// The client will now take control by calling provideInput() periodically.
client_ = client;
- set_format_cb_ = media::BindToCurrentLoop(base::Bind(
+ set_format_cb_ = BindToCurrentLoop(base::Bind(
&WebAudioSourceProviderImpl::OnSetFormat, weak_factory_.GetWeakPtr()));
// If |renderer_| is set, then run |set_format_cb_| to send |client_|
@@ -95,12 +95,12 @@ void WebAudioSourceProviderImpl::provideInput(
const WebVector<float*>& audio_data, size_t number_of_frames) {
if (!bus_wrapper_ ||
static_cast<size_t>(bus_wrapper_->channels()) != audio_data.size()) {
- bus_wrapper_ = media::AudioBus::CreateWrapper(audio_data.size());
+ bus_wrapper_ = AudioBus::CreateWrapper(static_cast<int>(audio_data.size()));
}
- bus_wrapper_->set_frames(number_of_frames);
+ bus_wrapper_->set_frames(static_cast<int>(number_of_frames));
for (size_t i = 0; i < audio_data.size(); ++i)
- bus_wrapper_->SetChannelData(i, audio_data[i]);
+ bus_wrapper_->SetChannelData(static_cast<int>(i), audio_data[i]);
// Use a try lock to avoid contention in the real-time audio thread.
AutoTryLock auto_try_lock(sink_lock_);
@@ -114,9 +114,13 @@ void WebAudioSourceProviderImpl::provideInput(
DCHECK(renderer_);
DCHECK(client_);
DCHECK_EQ(channels_, bus_wrapper_->channels());
- const size_t frames = renderer_->Render(bus_wrapper_.get(), 0);
- if (frames < number_of_frames)
- bus_wrapper_->ZeroFramesPartial(frames, number_of_frames - frames);
+ const int frames = renderer_->Render(bus_wrapper_.get(), 0);
+ if (frames < static_cast<int>(number_of_frames)) {
+ bus_wrapper_->ZeroFramesPartial(
+ frames,
+ static_cast<int>(number_of_frames - frames));
+ }
+
bus_wrapper_->Scale(volume_);
}
@@ -160,7 +164,7 @@ bool WebAudioSourceProviderImpl::SetVolume(double volume) {
}
void WebAudioSourceProviderImpl::Initialize(
- const media::AudioParameters& params,
+ const AudioParameters& params,
RenderCallback* renderer) {
base::AutoLock auto_lock(sink_lock_);
CHECK(!renderer_);
@@ -186,4 +190,4 @@ void WebAudioSourceProviderImpl::OnSetFormat() {
client_->setFormat(channels_, sample_rate_);
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/webaudiosourceprovider_impl.h b/media/blink/webaudiosourceprovider_impl.h
index aca9d83..e686e9d 100644
--- a/content/renderer/media/webaudiosourceprovider_impl.h
+++ b/media/blink/webaudiosourceprovider_impl.h
@@ -2,14 +2,14 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_WEBAUDIOSOURCEPROVIDER_IMPL_H_
-#define CONTENT_RENDERER_MEDIA_WEBAUDIOSOURCEPROVIDER_IMPL_H_
+#ifndef MEDIA_BLINK_WEBAUDIOSOURCEPROVIDER_IMPL_H_
+#define MEDIA_BLINK_WEBAUDIOSOURCEPROVIDER_IMPL_H_
#include "base/callback.h"
#include "base/memory/weak_ptr.h"
#include "base/synchronization/lock.h"
-#include "content/common/content_export.h"
#include "media/base/audio_renderer_sink.h"
+#include "media/base/media_export.h"
#include "third_party/WebKit/public/platform/WebAudioSourceProvider.h"
#include "third_party/WebKit/public/platform/WebVector.h"
@@ -17,10 +17,10 @@ namespace blink {
class WebAudioSourceProviderClient;
}
-namespace content {
+namespace media {
// WebAudioSourceProviderImpl provides a bridge between classes:
-// blink::WebAudioSourceProvider <---> media::AudioRendererSink
+// blink::WebAudioSourceProvider <---> AudioRendererSink
//
// WebAudioSourceProviderImpl wraps an existing audio sink that is used unless
// WebKit has set a client via setClient(). While a client is set WebKit will
@@ -28,25 +28,25 @@ namespace content {
// sample-frames using the sink's RenderCallback to get the data.
//
// All calls are protected by a lock.
-class CONTENT_EXPORT WebAudioSourceProviderImpl
+class MEDIA_EXPORT WebAudioSourceProviderImpl
: NON_EXPORTED_BASE(public blink::WebAudioSourceProvider),
- NON_EXPORTED_BASE(public media::AudioRendererSink) {
+ NON_EXPORTED_BASE(public AudioRendererSink) {
public:
explicit WebAudioSourceProviderImpl(
- const scoped_refptr<media::AudioRendererSink>& sink);
+ const scoped_refptr<AudioRendererSink>& sink);
// blink::WebAudioSourceProvider implementation.
virtual void setClient(blink::WebAudioSourceProviderClient* client);
virtual void provideInput(const blink::WebVector<float*>& audio_data,
size_t number_of_frames);
- // media::AudioRendererSink implementation.
+ // AudioRendererSink implementation.
virtual void Start() OVERRIDE;
virtual void Stop() OVERRIDE;
virtual void Play() OVERRIDE;
virtual void Pause() OVERRIDE;
virtual bool SetVolume(double volume) OVERRIDE;
- virtual void Initialize(const media::AudioParameters& params,
+ virtual void Initialize(const AudioParameters& params,
RenderCallback* renderer) OVERRIDE;
protected:
@@ -69,15 +69,15 @@ class CONTENT_EXPORT WebAudioSourceProviderImpl
PlaybackState state_;
// Where audio comes from.
- media::AudioRendererSink::RenderCallback* renderer_;
+ AudioRendererSink::RenderCallback* renderer_;
// When set via setClient() it overrides |sink_| for consuming audio.
blink::WebAudioSourceProviderClient* client_;
// Where audio ends up unless overridden by |client_|.
base::Lock sink_lock_;
- scoped_refptr<media::AudioRendererSink> sink_;
- scoped_ptr<media::AudioBus> bus_wrapper_;
+ scoped_refptr<AudioRendererSink> sink_;
+ scoped_ptr<AudioBus> bus_wrapper_;
// NOTE: Weak pointers must be invalidated before all other member variables.
base::WeakPtrFactory<WebAudioSourceProviderImpl> weak_factory_;
@@ -85,6 +85,6 @@ class CONTENT_EXPORT WebAudioSourceProviderImpl
DISALLOW_IMPLICIT_CONSTRUCTORS(WebAudioSourceProviderImpl);
};
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_WEBAUDIOSOURCEPROVIDER_IMPL_H_
+#endif // MEDIA_BLINK_WEBAUDIOSOURCEPROVIDER_IMPL_H_
diff --git a/content/renderer/media/webaudiosourceprovider_impl_unittest.cc b/media/blink/webaudiosourceprovider_impl_unittest.cc
index 8a59822..c1725fa 100644
--- a/content/renderer/media/webaudiosourceprovider_impl_unittest.cc
+++ b/media/blink/webaudiosourceprovider_impl_unittest.cc
@@ -4,15 +4,15 @@
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
-#include "content/renderer/media/webaudiosourceprovider_impl.h"
#include "media/audio/audio_parameters.h"
#include "media/base/fake_audio_render_callback.h"
#include "media/base/mock_audio_renderer_sink.h"
+#include "media/blink/webaudiosourceprovider_impl.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/WebKit/public/platform/WebAudioSourceProviderClient.h"
-namespace content {
+namespace media {
namespace {
const float kTestVolume = 0.25;
@@ -23,10 +23,10 @@ class WebAudioSourceProviderImplTest
public blink::WebAudioSourceProviderClient {
public:
WebAudioSourceProviderImplTest()
- : params_(media::AudioParameters::AUDIO_PCM_LINEAR,
- media::CHANNEL_LAYOUT_STEREO, 48000, 16, 64),
+ : params_(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_STEREO, 48000, 16, 64),
fake_callback_(0.1),
- mock_sink_(new media::MockAudioRendererSink()),
+ mock_sink_(new MockAudioRendererSink()),
wasp_impl_(new WebAudioSourceProviderImpl(mock_sink_)) {
}
@@ -67,7 +67,7 @@ class WebAudioSourceProviderImplTest
testing::Mock::VerifyAndClear(this);
}
- bool CompareBusses(const media::AudioBus* bus1, const media::AudioBus* bus2) {
+ bool CompareBusses(const AudioBus* bus1, const AudioBus* bus2) {
EXPECT_EQ(bus1->channels(), bus2->channels());
EXPECT_EQ(bus1->frames(), bus2->frames());
for (int ch = 0; ch < bus1->channels(); ++ch) {
@@ -83,9 +83,9 @@ class WebAudioSourceProviderImplTest
MOCK_METHOD2(setFormat, void(size_t numberOfChannels, float sampleRate));
protected:
- media::AudioParameters params_;
- media::FakeAudioRenderCallback fake_callback_;
- scoped_refptr<media::MockAudioRendererSink> mock_sink_;
+ AudioParameters params_;
+ FakeAudioRenderCallback fake_callback_;
+ scoped_refptr<MockAudioRendererSink> mock_sink_;
scoped_refptr<WebAudioSourceProviderImpl> wasp_impl_;
base::MessageLoop message_loop_;
@@ -156,8 +156,8 @@ TEST_F(WebAudioSourceProviderImplTest, SinkStateRestored) {
// Test the AudioRendererSink state machine and its effects on provideInput().
TEST_F(WebAudioSourceProviderImplTest, ProvideInput) {
- scoped_ptr<media::AudioBus> bus1 = media::AudioBus::Create(params_);
- scoped_ptr<media::AudioBus> bus2 = media::AudioBus::Create(params_);
+ scoped_ptr<AudioBus> bus1 = AudioBus::Create(params_);
+ scoped_ptr<AudioBus> bus2 = AudioBus::Create(params_);
// Point the WebVector into memory owned by |bus1|.
blink::WebVector<float*> audio_data(static_cast<size_t>(bus1->channels()));
@@ -237,4 +237,4 @@ TEST_F(WebAudioSourceProviderImplTest, ProvideInput) {
ASSERT_TRUE(CompareBusses(bus1.get(), bus2.get()));
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/webinbandtexttrack_impl.cc b/media/blink/webinbandtexttrack_impl.cc
index e83af8f..49a4880 100644
--- a/content/renderer/media/webinbandtexttrack_impl.cc
+++ b/media/blink/webinbandtexttrack_impl.cc
@@ -2,11 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/webinbandtexttrack_impl.h"
+#include "media/blink/webinbandtexttrack_impl.h"
#include "base/logging.h"
-namespace content {
+namespace media {
WebInbandTextTrackImpl::WebInbandTextTrackImpl(
Kind kind,
@@ -55,4 +55,4 @@ int WebInbandTextTrackImpl::textTrackIndex() const {
return index_;
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/webinbandtexttrack_impl.h b/media/blink/webinbandtexttrack_impl.h
index 293fbd3..c08bfad 100644
--- a/content/renderer/media/webinbandtexttrack_impl.h
+++ b/media/blink/webinbandtexttrack_impl.h
@@ -2,13 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_WEBINBANDTEXTTRACK_IMPL_H_
-#define CONTENT_RENDERER_MEDIA_WEBINBANDTEXTTRACK_IMPL_H_
+#ifndef MEDIA_BLINK_WEBINBANDTEXTTRACK_IMPL_H_
+#define MEDIA_BLINK_WEBINBANDTEXTTRACK_IMPL_H_
#include "third_party/WebKit/public/platform/WebInbandTextTrack.h"
#include "third_party/WebKit/public/platform/WebString.h"
-namespace content {
+namespace media {
class WebInbandTextTrackImpl : public blink::WebInbandTextTrack {
public:
@@ -40,6 +40,6 @@ class WebInbandTextTrackImpl : public blink::WebInbandTextTrack {
DISALLOW_COPY_AND_ASSIGN(WebInbandTextTrackImpl);
};
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_WEBINBANDTEXTTRACK_IMPL_H_
+#endif // MEDIA_BLINK_WEBINBANDTEXTTRACK_IMPL_H_
diff --git a/content/renderer/media/webmediaplayer_delegate.h b/media/blink/webmediaplayer_delegate.h
index 868abce..7139676 100644
--- a/content/renderer/media/webmediaplayer_delegate.h
+++ b/media/blink/webmediaplayer_delegate.h
@@ -2,13 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_DELEGATE_H_
-#define CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_DELEGATE_H_
+#ifndef MEDIA_BLINK_WEBMEDIAPLAYER_DELEGATE_H_
+#define MEDIA_BLINK_WEBMEDIAPLAYER_DELEGATE_H_
namespace blink {
class WebMediaPlayer;
}
-namespace content {
+namespace media {
// An interface to allow a WebMediaPlayerImpl to communicate changes of state
// to objects that need to know.
@@ -29,6 +29,6 @@ class WebMediaPlayerDelegate {
virtual ~WebMediaPlayerDelegate() {}
};
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_DELEGATE_H_
+#endif // MEDIA_BLINK_WEBMEDIAPLAYER_DELEGATE_H_
diff --git a/content/renderer/media/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc
index 83e6202..bed9299 100644
--- a/content/renderer/media/webmediaplayer_impl.cc
+++ b/media/blink/webmediaplayer_impl.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/webmediaplayer_impl.h"
+#include "media/blink/webmediaplayer_impl.h"
#include <algorithm>
#include <limits>
@@ -21,15 +21,6 @@
#include "base/synchronization/waitable_event.h"
#include "cc/blink/web_layer_impl.h"
#include "cc/layers/video_layer.h"
-#include "content/renderer/media/buffered_data_source.h"
-#include "content/renderer/media/crypto/encrypted_media_player_support.h"
-#include "content/renderer/media/texttrack_impl.h"
-#include "content/renderer/media/webaudiosourceprovider_impl.h"
-#include "content/renderer/media/webinbandtexttrack_impl.h"
-#include "content/renderer/media/webmediaplayer_delegate.h"
-#include "content/renderer/media/webmediaplayer_params.h"
-#include "content/renderer/media/webmediaplayer_util.h"
-#include "content/renderer/media/webmediasource_impl.h"
#include "gpu/GLES2/gl2extchromium.h"
#include "gpu/command_buffer/common/mailbox_holder.h"
#include "media/audio/null_audio_sink.h"
@@ -40,6 +31,15 @@
#include "media/base/pipeline.h"
#include "media/base/text_renderer.h"
#include "media/base/video_frame.h"
+#include "media/blink/buffered_data_source.h"
+#include "media/blink/encrypted_media_player_support.h"
+#include "media/blink/texttrack_impl.h"
+#include "media/blink/webaudiosourceprovider_impl.h"
+#include "media/blink/webinbandtexttrack_impl.h"
+#include "media/blink/webmediaplayer_delegate.h"
+#include "media/blink/webmediaplayer_params.h"
+#include "media/blink/webmediaplayer_util.h"
+#include "media/blink/webmediasource_impl.h"
#include "media/filters/audio_renderer_impl.h"
#include "media/filters/chunk_demuxer.h"
#include "media/filters/ffmpeg_audio_decoder.h"
@@ -65,7 +65,6 @@ using blink::WebMediaPlayer;
using blink::WebRect;
using blink::WebSize;
using blink::WebString;
-using media::PipelineStatus;
namespace {
@@ -107,7 +106,7 @@ class SyncPointClientImpl : public media::VideoFrame::SyncPointClient {
} // namespace
-namespace content {
+namespace media {
class BufferedDataSourceHostImpl;
@@ -122,13 +121,13 @@ COMPILE_ASSERT_MATCHING_ENUM(UseCredentials);
#define BIND_TO_RENDER_LOOP(function) \
(DCHECK(main_task_runner_->BelongsToCurrentThread()), \
- media::BindToCurrentLoop(base::Bind(function, AsWeakPtr())))
+ BindToCurrentLoop(base::Bind(function, AsWeakPtr())))
#define BIND_TO_RENDER_LOOP1(function, arg1) \
(DCHECK(main_task_runner_->BelongsToCurrentThread()), \
- media::BindToCurrentLoop(base::Bind(function, AsWeakPtr(), arg1)))
+ BindToCurrentLoop(base::Bind(function, AsWeakPtr(), arg1)))
-static void LogMediaSourceError(const scoped_refptr<media::MediaLog>& media_log,
+static void LogMediaSourceError(const scoped_refptr<MediaLog>& media_log,
const std::string& error) {
media_log->AddEvent(media_log->CreateMediaSourceErrorEvent(error));
}
@@ -176,7 +175,7 @@ WebMediaPlayerImpl::WebMediaPlayerImpl(
compositor_task_runner_ = base::MessageLoopProxy::current();
media_log_->AddEvent(
- media_log_->CreateEvent(media::MediaLogEvent::WEBMEDIAPLAYER_CREATED));
+ media_log_->CreateEvent(MediaLogEvent::WEBMEDIAPLAYER_CREATED));
// |gpu_factories_| requires that its entry points be called on its
// |GetTaskRunner()|. Since |pipeline_| will own decoders created from the
@@ -188,7 +187,7 @@ WebMediaPlayerImpl::WebMediaPlayerImpl(
audio_source_provider_ = new WebAudioSourceProviderImpl(
params.audio_renderer_sink().get()
? params.audio_renderer_sink()
- : new media::NullAudioSink(media_task_runner_));
+ : new NullAudioSink(media_task_runner_));
}
WebMediaPlayerImpl::~WebMediaPlayerImpl() {
@@ -196,7 +195,7 @@ WebMediaPlayerImpl::~WebMediaPlayerImpl() {
DCHECK(main_task_runner_->BelongsToCurrentThread());
media_log_->AddEvent(
- media_log_->CreateEvent(media::MediaLogEvent::WEBMEDIAPLAYER_DESTROYED));
+ media_log_->CreateEvent(MediaLogEvent::WEBMEDIAPLAYER_DESTROYED));
if (delegate_.get())
delegate_->PlayerGone(this);
@@ -280,7 +279,7 @@ void WebMediaPlayerImpl::play() {
if (data_source_)
data_source_->MediaIsPlaying();
- media_log_->AddEvent(media_log_->CreateEvent(media::MediaLogEvent::PLAY));
+ media_log_->AddEvent(media_log_->CreateEvent(MediaLogEvent::PLAY));
if (delegate_.get())
delegate_->DidPlay(this);
@@ -296,7 +295,7 @@ void WebMediaPlayerImpl::pause() {
data_source_->MediaIsPaused();
paused_time_ = pipeline_.GetMediaTime();
- media_log_->AddEvent(media_log_->CreateEvent(media::MediaLogEvent::PAUSE));
+ media_log_->AddEvent(media_log_->CreateEvent(MediaLogEvent::PAUSE));
if (delegate_.get())
delegate_->DidPause(this);
@@ -469,11 +468,11 @@ WebMediaPlayer::ReadyState WebMediaPlayerImpl::readyState() const {
blink::WebTimeRanges WebMediaPlayerImpl::buffered() const {
DCHECK(main_task_runner_->BelongsToCurrentThread());
- media::Ranges<base::TimeDelta> buffered_time_ranges =
+ Ranges<base::TimeDelta> buffered_time_ranges =
pipeline_.GetBufferedTimeRanges();
const base::TimeDelta duration = pipeline_.GetMediaDuration();
- if (duration != media::kInfiniteDuration()) {
+ if (duration != kInfiniteDuration()) {
buffered_data_source_host_.AddBufferedTimeRanges(
&buffered_time_ranges, duration);
}
@@ -519,7 +518,7 @@ void WebMediaPlayerImpl::paint(blink::WebCanvas* canvas,
// - We haven't reached HAVE_CURRENT_DATA and need to paint black
// - We're painting to a canvas
// See http://crbug.com/341225 http://crbug.com/342621 for details.
- scoped_refptr<media::VideoFrame> video_frame =
+ scoped_refptr<VideoFrame> video_frame =
GetCurrentFrameFromCompositor();
gfx::Rect gfx_rect(rect);
@@ -551,28 +550,28 @@ double WebMediaPlayerImpl::mediaTimeForTimeValue(double timeValue) const {
unsigned WebMediaPlayerImpl::decodedFrameCount() const {
DCHECK(main_task_runner_->BelongsToCurrentThread());
- media::PipelineStatistics stats = pipeline_.GetStatistics();
+ PipelineStatistics stats = pipeline_.GetStatistics();
return stats.video_frames_decoded;
}
unsigned WebMediaPlayerImpl::droppedFrameCount() const {
DCHECK(main_task_runner_->BelongsToCurrentThread());
- media::PipelineStatistics stats = pipeline_.GetStatistics();
+ PipelineStatistics stats = pipeline_.GetStatistics();
return stats.video_frames_dropped;
}
unsigned WebMediaPlayerImpl::audioDecodedByteCount() const {
DCHECK(main_task_runner_->BelongsToCurrentThread());
- media::PipelineStatistics stats = pipeline_.GetStatistics();
+ PipelineStatistics stats = pipeline_.GetStatistics();
return stats.audio_bytes_decoded;
}
unsigned WebMediaPlayerImpl::videoDecodedByteCount() const {
DCHECK(main_task_runner_->BelongsToCurrentThread());
- media::PipelineStatistics stats = pipeline_.GetStatistics();
+ PipelineStatistics stats = pipeline_.GetStatistics();
return stats.video_bytes_decoded;
}
@@ -586,12 +585,12 @@ bool WebMediaPlayerImpl::copyVideoTextureToPlatformTexture(
bool flip_y) {
TRACE_EVENT0("media", "WebMediaPlayerImpl:copyVideoTextureToPlatformTexture");
- scoped_refptr<media::VideoFrame> video_frame =
+ scoped_refptr<VideoFrame> video_frame =
GetCurrentFrameFromCompositor();
if (!video_frame.get())
return false;
- if (video_frame->format() != media::VideoFrame::NATIVE_TEXTURE)
+ if (video_frame->format() != VideoFrame::NATIVE_TEXTURE)
return false;
const gpu::MailboxHolder* mailbox_holder = video_frame->mailbox_holder();
@@ -693,7 +692,7 @@ void WebMediaPlayerImpl::OnPipelineSeeked(bool time_changed,
return;
}
- if (status != media::PIPELINE_OK) {
+ if (status != PIPELINE_OK) {
OnPipelineError(status);
return;
}
@@ -719,7 +718,7 @@ void WebMediaPlayerImpl::OnPipelineEnded() {
void WebMediaPlayerImpl::OnPipelineError(PipelineStatus error) {
DCHECK(main_task_runner_->BelongsToCurrentThread());
- DCHECK_NE(error, media::PIPELINE_OK);
+ DCHECK_NE(error, PIPELINE_OK);
if (ready_state_ == WebMediaPlayer::ReadyStateHaveNothing) {
// Any error that occurs before reaching ReadyStateHaveMetadata should
@@ -730,19 +729,19 @@ void WebMediaPlayerImpl::OnPipelineError(PipelineStatus error) {
SetNetworkState(PipelineErrorToNetworkState(error));
- if (error == media::PIPELINE_ERROR_DECRYPT)
+ if (error == PIPELINE_ERROR_DECRYPT)
encrypted_media_support_->OnPipelineDecryptError();
}
void WebMediaPlayerImpl::OnPipelineMetadata(
- media::PipelineMetadata metadata) {
+ PipelineMetadata metadata) {
DVLOG(1) << __FUNCTION__;
pipeline_metadata_ = metadata;
UMA_HISTOGRAM_ENUMERATION("Media.VideoRotation",
metadata.video_rotation,
- media::VIDEO_ROTATION_MAX + 1);
+ VIDEO_ROTATION_MAX + 1);
SetReadyState(WebMediaPlayer::ReadyStateHaveMetadata);
if (hasVideo()) {
@@ -750,8 +749,8 @@ void WebMediaPlayerImpl::OnPipelineMetadata(
scoped_refptr<cc::VideoLayer> layer =
cc::VideoLayer::Create(compositor_, pipeline_metadata_.video_rotation);
- if (pipeline_metadata_.video_rotation == media::VIDEO_ROTATION_90 ||
- pipeline_metadata_.video_rotation == media::VIDEO_ROTATION_270) {
+ if (pipeline_metadata_.video_rotation == VIDEO_ROTATION_90 ||
+ pipeline_metadata_.video_rotation == VIDEO_ROTATION_270) {
gfx::Size size = pipeline_metadata_.natural_size;
pipeline_metadata_.natural_size = gfx::Size(size.height(), size.width());
}
@@ -763,7 +762,7 @@ void WebMediaPlayerImpl::OnPipelineMetadata(
}
void WebMediaPlayerImpl::OnPipelineBufferingStateChanged(
- media::BufferingState buffering_state) {
+ BufferingState buffering_state) {
DVLOG(1) << __FUNCTION__ << "(" << buffering_state << ")";
// Ignore buffering state changes until we've completed all outstanding seeks.
@@ -772,7 +771,7 @@ void WebMediaPlayerImpl::OnPipelineBufferingStateChanged(
// TODO(scherkus): Handle other buffering states when Pipeline starts using
// them and translate them ready state changes http://crbug.com/144683
- DCHECK_EQ(buffering_state, media::BUFFERING_HAVE_ENOUGH);
+ DCHECK_EQ(buffering_state, BUFFERING_HAVE_ENOUGH);
SetReadyState(WebMediaPlayer::ReadyStateHaveEnoughData);
// Blink expects a timeChanged() in response to a seek().
@@ -787,8 +786,8 @@ void WebMediaPlayerImpl::OnDemuxerOpened() {
}
void WebMediaPlayerImpl::OnAddTextTrack(
- const media::TextTrackConfig& config,
- const media::AddTextTrackDoneCB& done_cb) {
+ const TextTrackConfig& config,
+ const AddTextTrackDoneCB& done_cb) {
DCHECK(main_task_runner_->BelongsToCurrentThread());
const WebInbandTextTrackImpl::Kind web_kind =
@@ -804,7 +803,7 @@ void WebMediaPlayerImpl::OnAddTextTrack(
new WebInbandTextTrackImpl(web_kind, web_label, web_language, web_id,
text_track_index_++));
- scoped_ptr<media::TextTrack> text_track(new TextTrackImpl(
+ scoped_ptr<TextTrack> text_track(new TextTrackImpl(
main_task_runner_, client_, web_inband_text_track.Pass()));
done_cb.Run(text_track.Pass());
@@ -828,25 +827,24 @@ void WebMediaPlayerImpl::NotifyDownloading(bool is_downloading) {
SetNetworkState(WebMediaPlayer::NetworkStateLoading);
media_log_->AddEvent(
media_log_->CreateBooleanEvent(
- media::MediaLogEvent::NETWORK_ACTIVITY_SET,
+ MediaLogEvent::NETWORK_ACTIVITY_SET,
"is_downloading_data", is_downloading));
}
// TODO(xhwang): Move this to a factory class so that we can create different
// renderers.
-scoped_ptr<media::Renderer> WebMediaPlayerImpl::CreateRenderer() {
- media::SetDecryptorReadyCB set_decryptor_ready_cb =
+scoped_ptr<Renderer> WebMediaPlayerImpl::CreateRenderer() {
+ SetDecryptorReadyCB set_decryptor_ready_cb =
encrypted_media_support_->CreateSetDecryptorReadyCB();
// Create our audio decoders and renderer.
- ScopedVector<media::AudioDecoder> audio_decoders;
+ ScopedVector<AudioDecoder> audio_decoders;
- media::LogCB log_cb = base::Bind(&LogMediaSourceError, media_log_);
- audio_decoders.push_back(new media::FFmpegAudioDecoder(media_task_runner_,
- log_cb));
- audio_decoders.push_back(new media::OpusAudioDecoder(media_task_runner_));
+ LogCB log_cb = base::Bind(&LogMediaSourceError, media_log_);
+ audio_decoders.push_back(new FFmpegAudioDecoder(media_task_runner_, log_cb));
+ audio_decoders.push_back(new OpusAudioDecoder(media_task_runner_));
- scoped_ptr<media::AudioRenderer> audio_renderer(new media::AudioRendererImpl(
+ scoped_ptr<AudioRenderer> audio_renderer(new AudioRendererImpl(
media_task_runner_,
audio_source_provider_.get(),
audio_decoders.Pass(),
@@ -854,21 +852,21 @@ scoped_ptr<media::Renderer> WebMediaPlayerImpl::CreateRenderer() {
audio_hardware_config_));
// Create our video decoders and renderer.
- ScopedVector<media::VideoDecoder> video_decoders;
+ ScopedVector<VideoDecoder> video_decoders;
if (gpu_factories_.get()) {
video_decoders.push_back(
- new media::GpuVideoDecoder(gpu_factories_, media_log_));
+ new GpuVideoDecoder(gpu_factories_, media_log_));
}
#if !defined(MEDIA_DISABLE_LIBVPX)
- video_decoders.push_back(new media::VpxVideoDecoder(media_task_runner_));
+ video_decoders.push_back(new VpxVideoDecoder(media_task_runner_));
#endif // !defined(MEDIA_DISABLE_LIBVPX)
- video_decoders.push_back(new media::FFmpegVideoDecoder(media_task_runner_));
+ video_decoders.push_back(new FFmpegVideoDecoder(media_task_runner_));
- scoped_ptr<media::VideoRenderer> video_renderer(
- new media::VideoRendererImpl(
+ scoped_ptr<VideoRenderer> video_renderer(
+ new VideoRendererImpl(
media_task_runner_,
video_decoders.Pass(),
set_decryptor_ready_cb,
@@ -876,7 +874,7 @@ scoped_ptr<media::Renderer> WebMediaPlayerImpl::CreateRenderer() {
true));
// Create renderer.
- return scoped_ptr<media::Renderer>(new media::RendererImpl(
+ return scoped_ptr<Renderer>(new RendererImpl(
media_task_runner_,
demuxer_.get(),
audio_renderer.Pass(),
@@ -890,8 +888,8 @@ void WebMediaPlayerImpl::StartPipeline() {
UMA_HISTOGRAM_BOOLEAN("Media.MSE.Playback",
(load_type_ == LoadTypeMediaSource));
- media::LogCB mse_log_cb;
- media::Demuxer::NeedKeyCB need_key_cb =
+ LogCB mse_log_cb;
+ Demuxer::NeedKeyCB need_key_cb =
encrypted_media_support_->CreateNeedKeyCB();
// Figure out which demuxer to use.
@@ -899,7 +897,7 @@ void WebMediaPlayerImpl::StartPipeline() {
DCHECK(!chunk_demuxer_);
DCHECK(data_source_);
- demuxer_.reset(new media::FFmpegDemuxer(
+ demuxer_.reset(new FFmpegDemuxer(
media_task_runner_, data_source_.get(),
need_key_cb,
media_log_));
@@ -909,7 +907,7 @@ void WebMediaPlayerImpl::StartPipeline() {
mse_log_cb = base::Bind(&LogMediaSourceError, media_log_);
- chunk_demuxer_ = new media::ChunkDemuxer(
+ chunk_demuxer_ = new ChunkDemuxer(
BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnDemuxerOpened),
need_key_cb,
mse_log_cb,
@@ -962,7 +960,7 @@ double WebMediaPlayerImpl::GetPipelineDuration() const {
// Return positive infinity if the resource is unbounded.
// http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#dom-media-duration
- if (duration == media::kInfiniteDuration())
+ if (duration == kInfiniteDuration())
return std::numeric_limits<double>::infinity();
return duration.InSecondsF();
@@ -997,7 +995,7 @@ void WebMediaPlayerImpl::OnOpacityChanged(bool opaque) {
}
void WebMediaPlayerImpl::FrameReady(
- const scoped_refptr<media::VideoFrame>& frame) {
+ const scoped_refptr<VideoFrame>& frame) {
compositor_task_runner_->PostTask(
FROM_HERE,
base::Bind(&VideoFrameCompositor::UpdateCurrentFrame,
@@ -1007,14 +1005,14 @@ void WebMediaPlayerImpl::FrameReady(
static void GetCurrentFrameAndSignal(
VideoFrameCompositor* compositor,
- scoped_refptr<media::VideoFrame>* video_frame_out,
+ scoped_refptr<VideoFrame>* video_frame_out,
base::WaitableEvent* event) {
TRACE_EVENT0("media", "GetCurrentFrameAndSignal");
*video_frame_out = compositor->GetCurrentFrame();
event->Signal();
}
-scoped_refptr<media::VideoFrame>
+scoped_refptr<VideoFrame>
WebMediaPlayerImpl::GetCurrentFrameFromCompositor() {
TRACE_EVENT0("media", "WebMediaPlayerImpl::GetCurrentFrameFromCompositor");
if (compositor_task_runner_->BelongsToCurrentThread())
@@ -1022,7 +1020,7 @@ WebMediaPlayerImpl::GetCurrentFrameFromCompositor() {
// Use a posted task and waitable event instead of a lock otherwise
// WebGL/Canvas can see different content than what the compositor is seeing.
- scoped_refptr<media::VideoFrame> video_frame;
+ scoped_refptr<VideoFrame> video_frame;
base::WaitableEvent event(false, false);
compositor_task_runner_->PostTask(FROM_HERE,
base::Bind(&GetCurrentFrameAndSignal,
@@ -1033,4 +1031,4 @@ WebMediaPlayerImpl::GetCurrentFrameFromCompositor() {
return video_frame;
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/webmediaplayer_impl.h b/media/blink/webmediaplayer_impl.h
index 7c2892b..bbdf080 100644
--- a/content/renderer/media/webmediaplayer_impl.h
+++ b/media/blink/webmediaplayer_impl.h
@@ -2,26 +2,28 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_IMPL_H_
-#define CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_IMPL_H_
+#ifndef MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_
+#define MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_
#include <string>
#include <vector>
#include "base/basictypes.h"
+#include "base/compiler_specific.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/threading/thread.h"
-#include "content/renderer/media/buffered_data_source_host_impl.h"
-#include "content/renderer/media/video_frame_compositor.h"
#include "media/base/audio_renderer_sink.h"
+#include "media/base/media_export.h"
// TODO(xhwang): Remove when we remove prefixed EME implementation.
#include "media/base/media_keys.h"
#include "media/base/pipeline.h"
#include "media/base/text_track.h"
+#include "media/blink/buffered_data_source.h"
+#include "media/blink/buffered_data_source_host_impl.h"
+#include "media/blink/video_frame_compositor.h"
#include "media/filters/skcanvas_video_renderer.h"
-#include "skia/ext/platform_canvas.h"
#include "third_party/WebKit/public/platform/WebAudioSourceProvider.h"
#include "third_party/WebKit/public/platform/WebContentDecryptionModuleResult.h"
#include "third_party/WebKit/public/platform/WebGraphicsContext3D.h"
@@ -44,14 +46,9 @@ class WebLayerImpl;
namespace media {
class AudioHardwareConfig;
class ChunkDemuxer;
+class EncryptedMediaPlayerSupport;
class GpuVideoAcceleratorFactories;
class MediaLog;
-}
-
-
-namespace content {
-class BufferedDataSource;
-class EncryptedMediaPlayerSupport;
class VideoFrameCompositor;
class WebAudioSourceProviderImpl;
class WebMediaPlayerDelegate;
@@ -59,10 +56,10 @@ class WebMediaPlayerParams;
class WebTextTrackImpl;
// The canonical implementation of blink::WebMediaPlayer that's backed by
-// media::Pipeline. Handles normal resource loading, Media Source, and
+// Pipeline. Handles normal resource loading, Media Source, and
// Encrypted Media.
-class WebMediaPlayerImpl
- : public blink::WebMediaPlayer,
+class MEDIA_EXPORT WebMediaPlayerImpl
+ : public NON_EXPORTED_BASE(blink::WebMediaPlayer),
public base::SupportsWeakPtr<WebMediaPlayerImpl> {
public:
// Constructs a WebMediaPlayer implementation using Chromium's media stack.
@@ -167,14 +164,14 @@ class WebMediaPlayerImpl
virtual void setContentDecryptionModuleSync(
blink::WebContentDecryptionModule* cdm);
- void OnPipelineSeeked(bool time_changed, media::PipelineStatus status);
+ void OnPipelineSeeked(bool time_changed, PipelineStatus status);
void OnPipelineEnded();
- void OnPipelineError(media::PipelineStatus error);
- void OnPipelineMetadata(media::PipelineMetadata metadata);
- void OnPipelineBufferingStateChanged(media::BufferingState buffering_state);
+ void OnPipelineError(PipelineStatus error);
+ void OnPipelineMetadata(PipelineMetadata metadata);
+ void OnPipelineBufferingStateChanged(BufferingState buffering_state);
void OnDemuxerOpened();
- void OnAddTextTrack(const media::TextTrackConfig& config,
- const media::AddTextTrackDoneCB& done_cb);
+ void OnAddTextTrack(const TextTrackConfig& config,
+ const AddTextTrackDoneCB& done_cb);
private:
// Called after |defer_load_cb_| has decided to allow the load. If
@@ -189,8 +186,8 @@ class WebMediaPlayerImpl
// Called when the data source is downloading or paused.
void NotifyDownloading(bool is_downloading);
- // Creates a media::Renderer that will be used by the |pipeline_|.
- scoped_ptr<media::Renderer> CreateRenderer();
+ // Creates a Renderer that will be used by the |pipeline_|.
+ scoped_ptr<Renderer> CreateRenderer();
// Finishes starting the pipeline due to a call to load().
void StartPipeline();
@@ -210,11 +207,11 @@ class WebMediaPlayerImpl
// Called by VideoRendererImpl on its internal thread with the new frame to be
// painted.
- void FrameReady(const scoped_refptr<media::VideoFrame>& frame);
+ void FrameReady(const scoped_refptr<VideoFrame>& frame);
// Returns the current video frame from |compositor_|. Blocks until the
// compositor can return the frame.
- scoped_refptr<media::VideoFrame> GetCurrentFrameFromCompositor();
+ scoped_refptr<VideoFrame> GetCurrentFrameFromCompositor();
blink::WebLocalFrame* frame_;
@@ -230,14 +227,14 @@ class WebMediaPlayerImpl
const scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_;
scoped_refptr<base::SingleThreadTaskRunner> media_task_runner_;
- scoped_refptr<media::MediaLog> media_log_;
- media::Pipeline pipeline_;
+ scoped_refptr<MediaLog> media_log_;
+ Pipeline pipeline_;
// The LoadType passed in the |load_type| parameter of the load() call.
LoadType load_type_;
// Cache of metadata for answering hasAudio(), hasVideo(), and naturalSize().
- media::PipelineMetadata pipeline_metadata_;
+ PipelineMetadata pipeline_metadata_;
// Whether the video is known to be opaque or not.
bool opaque_;
@@ -279,7 +276,7 @@ class WebMediaPlayerImpl
base::Callback<void(const base::Closure&)> defer_load_cb_;
// Factories for supporting video accelerators. May be null.
- scoped_refptr<media::GpuVideoAcceleratorFactories> gpu_factories_;
+ scoped_refptr<GpuVideoAcceleratorFactories> gpu_factories_;
// Routes audio playback to either AudioRendererSink or WebAudio.
scoped_refptr<WebAudioSourceProviderImpl> audio_source_provider_;
@@ -293,15 +290,15 @@ class WebMediaPlayerImpl
// |demuxer_| will contain the appropriate demuxer based on which resource
// load strategy we're using.
scoped_ptr<BufferedDataSource> data_source_;
- scoped_ptr<media::Demuxer> demuxer_;
- media::ChunkDemuxer* chunk_demuxer_;
+ scoped_ptr<Demuxer> demuxer_;
+ ChunkDemuxer* chunk_demuxer_;
BufferedDataSourceHostImpl buffered_data_source_host_;
// Video rendering members.
scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_;
VideoFrameCompositor* compositor_; // Deleted on |compositor_task_runner_|.
- media::SkCanvasVideoRenderer skcanvas_video_renderer_;
+ SkCanvasVideoRenderer skcanvas_video_renderer_;
// The compositor layer for displaying the video content when using composited
// playback.
@@ -312,11 +309,11 @@ class WebMediaPlayerImpl
scoped_ptr<EncryptedMediaPlayerSupport> encrypted_media_support_;
- const media::AudioHardwareConfig& audio_hardware_config_;
+ const AudioHardwareConfig& audio_hardware_config_;
DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl);
};
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_IMPL_H_
+#endif // MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_
diff --git a/content/renderer/media/webmediaplayer_params.cc b/media/blink/webmediaplayer_params.cc
index 5daa7d0..c157e34 100644
--- a/content/renderer/media/webmediaplayer_params.cc
+++ b/media/blink/webmediaplayer_params.cc
@@ -2,21 +2,21 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/webmediaplayer_params.h"
+#include "media/blink/webmediaplayer_params.h"
#include "base/single_thread_task_runner.h"
#include "media/base/audio_renderer_sink.h"
#include "media/base/media_log.h"
#include "media/filters/gpu_video_accelerator_factories.h"
-namespace content {
+namespace media {
WebMediaPlayerParams::WebMediaPlayerParams(
const base::Callback<void(const base::Closure&)>& defer_load_cb,
- const scoped_refptr<media::AudioRendererSink>& audio_renderer_sink,
- const media::AudioHardwareConfig& audio_hardware_config,
- const scoped_refptr<media::MediaLog>& media_log,
- const scoped_refptr<media::GpuVideoAcceleratorFactories>& gpu_factories,
+ const scoped_refptr<AudioRendererSink>& audio_renderer_sink,
+ const AudioHardwareConfig& audio_hardware_config,
+ const scoped_refptr<MediaLog>& media_log,
+ const scoped_refptr<GpuVideoAcceleratorFactories>& gpu_factories,
const scoped_refptr<base::SingleThreadTaskRunner>&
media_task_runner,
const scoped_refptr<base::SingleThreadTaskRunner>&
@@ -41,4 +41,4 @@ WebMediaPlayerParams::CreateEncryptedMediaPlayerSupport(
return encrypted_media_player_support_cb_.Run(client);
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/webmediaplayer_params.h b/media/blink/webmediaplayer_params.h
index cfaff62..5cdf95e 100644
--- a/content/renderer/media/webmediaplayer_params.h
+++ b/media/blink/webmediaplayer_params.h
@@ -2,12 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_PARAMS_H_
-#define CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_PARAMS_H_
+#ifndef MEDIA_BLINK_WEBMEDIAPLAYER_PARAMS_H_
+#define MEDIA_BLINK_WEBMEDIAPLAYER_PARAMS_H_
#include "base/callback.h"
#include "base/memory/ref_counted.h"
-#include "content/renderer/media/crypto/encrypted_media_player_support.h"
+#include "media/base/media_export.h"
+#include "media/blink/encrypted_media_player_support.h"
namespace base {
class SingleThreadTaskRunner;
@@ -22,13 +23,10 @@ class AudioHardwareConfig;
class AudioRendererSink;
class GpuVideoAcceleratorFactories;
class MediaLog;
-}
-
-namespace content {
// Holds parameters for constructing WebMediaPlayerImpl without having
// to plumb arguments through various abstraction layers.
-class WebMediaPlayerParams {
+class MEDIA_EXPORT WebMediaPlayerParams {
public:
// Callback used to create EncryptedMediaPlayerSupport instances. This
// callback must always return a valid EncryptedMediaPlayerSupport object.
@@ -39,10 +37,10 @@ class WebMediaPlayerParams {
// null.
WebMediaPlayerParams(
const base::Callback<void(const base::Closure&)>& defer_load_cb,
- const scoped_refptr<media::AudioRendererSink>& audio_renderer_sink,
- const media::AudioHardwareConfig& audio_hardware_config,
- const scoped_refptr<media::MediaLog>& media_log,
- const scoped_refptr<media::GpuVideoAcceleratorFactories>& gpu_factories,
+ const scoped_refptr<AudioRendererSink>& audio_renderer_sink,
+ const AudioHardwareConfig& audio_hardware_config,
+ const scoped_refptr<MediaLog>& media_log,
+ const scoped_refptr<GpuVideoAcceleratorFactories>& gpu_factories,
const scoped_refptr<base::SingleThreadTaskRunner>&
media_task_runner,
const scoped_refptr<base::SingleThreadTaskRunner>&
@@ -56,19 +54,19 @@ class WebMediaPlayerParams {
return defer_load_cb_;
}
- const scoped_refptr<media::AudioRendererSink>& audio_renderer_sink() const {
+ const scoped_refptr<AudioRendererSink>& audio_renderer_sink() const {
return audio_renderer_sink_;
}
- const media::AudioHardwareConfig& audio_hardware_config() const {
+ const AudioHardwareConfig& audio_hardware_config() const {
return audio_hardware_config_;
}
- const scoped_refptr<media::MediaLog>& media_log() const {
+ const scoped_refptr<MediaLog>& media_log() const {
return media_log_;
}
- const scoped_refptr<media::GpuVideoAcceleratorFactories>&
+ const scoped_refptr<GpuVideoAcceleratorFactories>&
gpu_factories() const {
return gpu_factories_;
}
@@ -88,10 +86,10 @@ class WebMediaPlayerParams {
private:
base::Callback<void(const base::Closure&)> defer_load_cb_;
- scoped_refptr<media::AudioRendererSink> audio_renderer_sink_;
- const media::AudioHardwareConfig& audio_hardware_config_;
- scoped_refptr<media::MediaLog> media_log_;
- scoped_refptr<media::GpuVideoAcceleratorFactories> gpu_factories_;
+ scoped_refptr<AudioRendererSink> audio_renderer_sink_;
+ const AudioHardwareConfig& audio_hardware_config_;
+ scoped_refptr<MediaLog> media_log_;
+ scoped_refptr<GpuVideoAcceleratorFactories> gpu_factories_;
scoped_refptr<base::SingleThreadTaskRunner> media_task_runner_;
scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_;
EncryptedMediaPlayerSupportCreateCB encrypted_media_player_support_cb_;
@@ -99,6 +97,6 @@ class WebMediaPlayerParams {
DISALLOW_IMPLICIT_CONSTRUCTORS(WebMediaPlayerParams);
};
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_PARAMS_H_
+#endif // MEDIA_BLINK_WEBMEDIAPLAYER_PARAMS_H_
diff --git a/content/renderer/media/webmediaplayer_util.cc b/media/blink/webmediaplayer_util.cc
index 6d1b1e2..bcaf135 100644
--- a/content/renderer/media/webmediaplayer_util.cc
+++ b/media/blink/webmediaplayer_util.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/webmediaplayer_util.h"
+#include "media/blink/webmediaplayer_util.h"
#include <math.h>
@@ -10,14 +10,14 @@
#include "media/base/media_keys.h"
#include "third_party/WebKit/public/platform/WebMediaPlayerClient.h"
-namespace content {
+namespace media {
// Compile asserts shared by all platforms.
#define COMPILE_ASSERT_MATCHING_ENUM(name) \
COMPILE_ASSERT( \
static_cast<int>(blink::WebMediaPlayerClient::MediaKeyErrorCode ## name) == \
- static_cast<int>(media::MediaKeys::k ## name ## Error), \
+ static_cast<int>(MediaKeys::k ## name ## Error), \
mismatching_enums)
COMPILE_ASSERT_MATCHING_ENUM(Unknown);
COMPILE_ASSERT_MATCHING_ENUM(Client);
@@ -30,7 +30,7 @@ base::TimeDelta ConvertSecondsToTimestamp(double seconds) {
}
blink::WebTimeRanges ConvertToWebTimeRanges(
- const media::Ranges<base::TimeDelta>& ranges) {
+ const Ranges<base::TimeDelta>& ranges) {
blink::WebTimeRanges result(ranges.size());
for (size_t i = 0; i < ranges.size(); ++i) {
result[i].start = ranges.start(i).InSecondsF();
@@ -40,38 +40,38 @@ blink::WebTimeRanges ConvertToWebTimeRanges(
}
blink::WebMediaPlayer::NetworkState PipelineErrorToNetworkState(
- media::PipelineStatus error) {
- DCHECK_NE(error, media::PIPELINE_OK);
+ PipelineStatus error) {
+ DCHECK_NE(error, PIPELINE_OK);
switch (error) {
- case media::PIPELINE_ERROR_NETWORK:
- case media::PIPELINE_ERROR_READ:
+ case PIPELINE_ERROR_NETWORK:
+ case PIPELINE_ERROR_READ:
return blink::WebMediaPlayer::NetworkStateNetworkError;
// TODO(vrk): Because OnPipelineInitialize() directly reports the
// NetworkStateFormatError instead of calling OnPipelineError(), I believe
// this block can be deleted. Should look into it! (crbug.com/126070)
- case media::PIPELINE_ERROR_INITIALIZATION_FAILED:
- case media::PIPELINE_ERROR_COULD_NOT_RENDER:
- case media::PIPELINE_ERROR_URL_NOT_FOUND:
- case media::DEMUXER_ERROR_COULD_NOT_OPEN:
- case media::DEMUXER_ERROR_COULD_NOT_PARSE:
- case media::DEMUXER_ERROR_NO_SUPPORTED_STREAMS:
- case media::DECODER_ERROR_NOT_SUPPORTED:
+ case PIPELINE_ERROR_INITIALIZATION_FAILED:
+ case PIPELINE_ERROR_COULD_NOT_RENDER:
+ case PIPELINE_ERROR_URL_NOT_FOUND:
+ case DEMUXER_ERROR_COULD_NOT_OPEN:
+ case DEMUXER_ERROR_COULD_NOT_PARSE:
+ case DEMUXER_ERROR_NO_SUPPORTED_STREAMS:
+ case DECODER_ERROR_NOT_SUPPORTED:
return blink::WebMediaPlayer::NetworkStateFormatError;
- case media::PIPELINE_ERROR_DECODE:
- case media::PIPELINE_ERROR_ABORT:
- case media::PIPELINE_ERROR_OPERATION_PENDING:
- case media::PIPELINE_ERROR_INVALID_STATE:
+ case PIPELINE_ERROR_DECODE:
+ case PIPELINE_ERROR_ABORT:
+ case PIPELINE_ERROR_OPERATION_PENDING:
+ case PIPELINE_ERROR_INVALID_STATE:
return blink::WebMediaPlayer::NetworkStateDecodeError;
- case media::PIPELINE_ERROR_DECRYPT:
+ case PIPELINE_ERROR_DECRYPT:
// TODO(xhwang): Change to use NetworkStateDecryptError once it's added in
// Webkit (see http://crbug.com/124486).
return blink::WebMediaPlayer::NetworkStateDecodeError;
- case media::PIPELINE_OK:
+ case PIPELINE_OK:
NOTREACHED() << "Unexpected status! " << error;
}
return blink::WebMediaPlayer::NetworkStateFormatError;
@@ -113,7 +113,8 @@ URLSchemeForHistogram URLScheme(const GURL& url) {
} // namespace
void ReportMediaSchemeUma(const GURL& url) {
- UMA_HISTOGRAM_ENUMERATION("Media.URLScheme", URLScheme(url), kMaxURLScheme);
+ UMA_HISTOGRAM_ENUMERATION("Media.URLScheme", URLScheme(url),
+ kMaxURLScheme + 1);
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/webmediaplayer_util.h b/media/blink/webmediaplayer_util.h
index d401c39..159be77 100644
--- a/content/renderer/media/webmediaplayer_util.h
+++ b/media/blink/webmediaplayer_util.h
@@ -2,33 +2,34 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_UTIL_H_
-#define CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_UTIL_H_
+#ifndef MEDIA_BLINK_WEBMEDIAPLAYER_UTIL_H_
+#define MEDIA_BLINK_WEBMEDIAPLAYER_UTIL_H_
#include "base/time/time.h"
+#include "media/base/media_export.h"
#include "media/base/pipeline_status.h"
#include "media/base/ranges.h"
#include "third_party/WebKit/public/platform/WebMediaPlayer.h"
#include "third_party/WebKit/public/platform/WebTimeRange.h"
#include "url/gurl.h"
-namespace content {
+namespace media {
// Platform independent method for converting and rounding floating point
// seconds to an int64 timestamp.
//
// Refer to https://bugs.webkit.org/show_bug.cgi?id=52697 for details.
-base::TimeDelta ConvertSecondsToTimestamp(double seconds);
+base::TimeDelta MEDIA_EXPORT ConvertSecondsToTimestamp(double seconds);
-blink::WebTimeRanges ConvertToWebTimeRanges(
- const media::Ranges<base::TimeDelta>& ranges);
+blink::WebTimeRanges MEDIA_EXPORT ConvertToWebTimeRanges(
+ const Ranges<base::TimeDelta>& ranges);
-blink::WebMediaPlayer::NetworkState PipelineErrorToNetworkState(
- media::PipelineStatus error);
+blink::WebMediaPlayer::NetworkState MEDIA_EXPORT PipelineErrorToNetworkState(
+ PipelineStatus error);
// Report the scheme of Media URIs.
-void ReportMediaSchemeUma(const GURL& url);
+void MEDIA_EXPORT ReportMediaSchemeUma(const GURL& url);
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_UTIL_H_
+#endif // MEDIA_BLINK_WEBMEDIAPLAYER_UTIL_H_
diff --git a/content/renderer/media/webmediasource_impl.cc b/media/blink/webmediasource_impl.cc
index b3078f7..aecad6f 100644
--- a/content/renderer/media/webmediasource_impl.cc
+++ b/media/blink/webmediasource_impl.cc
@@ -2,10 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/webmediasource_impl.h"
+#include "media/blink/webmediasource_impl.h"
#include "base/guid.h"
-#include "content/renderer/media/websourcebuffer_impl.h"
+#include "media/blink/websourcebuffer_impl.h"
#include "media/filters/chunk_demuxer.h"
#include "third_party/WebKit/public/platform/WebCString.h"
#include "third_party/WebKit/public/platform/WebString.h"
@@ -13,11 +13,11 @@
using ::blink::WebString;
using ::blink::WebMediaSource;
-namespace content {
+namespace media {
#define COMPILE_ASSERT_MATCHING_STATUS_ENUM(webkit_name, chromium_name) \
COMPILE_ASSERT(static_cast<int>(WebMediaSource::webkit_name) == \
- static_cast<int>(media::ChunkDemuxer::chromium_name), \
+ static_cast<int>(ChunkDemuxer::chromium_name), \
mismatching_status_enums)
COMPILE_ASSERT_MATCHING_STATUS_ENUM(AddStatusOk, kOk);
COMPILE_ASSERT_MATCHING_STATUS_ENUM(AddStatusNotSupported, kNotSupported);
@@ -25,7 +25,7 @@ COMPILE_ASSERT_MATCHING_STATUS_ENUM(AddStatusReachedIdLimit, kReachedIdLimit);
#undef COMPILE_ASSERT_MATCHING_STATUS_ENUM
WebMediaSourceImpl::WebMediaSourceImpl(
- media::ChunkDemuxer* demuxer, media::LogCB log_cb)
+ ChunkDemuxer* demuxer, LogCB log_cb)
: demuxer_(demuxer),
log_cb_(log_cb) {
DCHECK(demuxer_);
@@ -63,16 +63,16 @@ void WebMediaSourceImpl::setDuration(double new_duration) {
void WebMediaSourceImpl::markEndOfStream(
WebMediaSource::EndOfStreamStatus status) {
- media::PipelineStatus pipeline_status = media::PIPELINE_OK;
+ PipelineStatus pipeline_status = PIPELINE_OK;
switch (status) {
case WebMediaSource::EndOfStreamStatusNoError:
break;
case WebMediaSource::EndOfStreamStatusNetworkError:
- pipeline_status = media::PIPELINE_ERROR_NETWORK;
+ pipeline_status = PIPELINE_ERROR_NETWORK;
break;
case WebMediaSource::EndOfStreamStatusDecodeError:
- pipeline_status = media::PIPELINE_ERROR_DECODE;
+ pipeline_status = PIPELINE_ERROR_DECODE;
break;
}
@@ -83,4 +83,4 @@ void WebMediaSourceImpl::unmarkEndOfStream() {
demuxer_->UnmarkEndOfStream();
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/webmediasource_impl.h b/media/blink/webmediasource_impl.h
index c788a66..ac442f0 100644
--- a/content/renderer/media/webmediasource_impl.h
+++ b/media/blink/webmediasource_impl.h
@@ -2,24 +2,23 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_WEBMEDIASOURCE_IMPL_H_
-#define CONTENT_RENDERER_MEDIA_WEBMEDIASOURCE_IMPL_H_
+#ifndef MEDIA_BLINK_WEBMEDIASOURCE_IMPL_H_
+#define MEDIA_BLINK_WEBMEDIASOURCE_IMPL_H_
#include <string>
#include <vector>
+#include "media/base/media_export.h"
#include "media/base/media_log.h"
#include "third_party/WebKit/public/platform/WebMediaSource.h"
namespace media {
class ChunkDemuxer;
-}
-namespace content {
-
-class WebMediaSourceImpl : public blink::WebMediaSource {
+class MEDIA_EXPORT WebMediaSourceImpl
+ : NON_EXPORTED_BASE(public blink::WebMediaSource) {
public:
- WebMediaSourceImpl(media::ChunkDemuxer* demuxer, media::LogCB log_cb);
+ WebMediaSourceImpl(ChunkDemuxer* demuxer, LogCB log_cb);
virtual ~WebMediaSourceImpl();
// blink::WebMediaSource implementation.
@@ -33,12 +32,12 @@ class WebMediaSourceImpl : public blink::WebMediaSource {
virtual void unmarkEndOfStream();
private:
- media::ChunkDemuxer* demuxer_; // Owned by WebMediaPlayerImpl.
- media::LogCB log_cb_;
+ ChunkDemuxer* demuxer_; // Owned by WebMediaPlayerImpl.
+ LogCB log_cb_;
DISALLOW_COPY_AND_ASSIGN(WebMediaSourceImpl);
};
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_WEBMEDIASOURCE_IMPL_H_
+#endif // MEDIA_BLINK_WEBMEDIASOURCE_IMPL_H_
diff --git a/content/renderer/media/websourcebuffer_impl.cc b/media/blink/websourcebuffer_impl.cc
index 1b8e4fa..c87c2b9 100644
--- a/content/renderer/media/websourcebuffer_impl.cc
+++ b/media/blink/websourcebuffer_impl.cc
@@ -2,21 +2,21 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/renderer/media/websourcebuffer_impl.h"
+#include "media/blink/websourcebuffer_impl.h"
#include <limits>
#include "base/float_util.h"
#include "media/filters/chunk_demuxer.h"
-namespace content {
+namespace media {
static base::TimeDelta DoubleToTimeDelta(double time) {
DCHECK(!base::IsNaN(time));
DCHECK_NE(time, -std::numeric_limits<double>::infinity());
if (time == std::numeric_limits<double>::infinity())
- return media::kInfiniteDuration();
+ return kInfiniteDuration();
// Don't use base::TimeDelta::Max() here, as we want the largest finite time
// delta.
@@ -31,10 +31,10 @@ static base::TimeDelta DoubleToTimeDelta(double time) {
}
WebSourceBufferImpl::WebSourceBufferImpl(
- const std::string& id, media::ChunkDemuxer* demuxer)
+ const std::string& id, ChunkDemuxer* demuxer)
: id_(id),
demuxer_(demuxer),
- append_window_end_(media::kInfiniteDuration()) {
+ append_window_end_(kInfiniteDuration()) {
DCHECK(demuxer_);
}
@@ -60,7 +60,7 @@ bool WebSourceBufferImpl::setMode(WebSourceBuffer::AppendMode mode) {
}
blink::WebTimeRanges WebSourceBufferImpl::buffered() {
- media::Ranges<base::TimeDelta> ranges = demuxer_->GetBufferedRanges(id_);
+ Ranges<base::TimeDelta> ranges = demuxer_->GetBufferedRanges(id_);
blink::WebTimeRanges result(ranges.size());
for (size_t i = 0; i < ranges.size(); i++) {
result[i].start = ranges.start(i).InSecondsF();
@@ -131,4 +131,4 @@ void WebSourceBufferImpl::removedFromMediaSource() {
demuxer_ = NULL;
}
-} // namespace content
+} // namespace media
diff --git a/content/renderer/media/websourcebuffer_impl.h b/media/blink/websourcebuffer_impl.h
index b0e4fa6..e938178 100644
--- a/content/renderer/media/websourcebuffer_impl.h
+++ b/media/blink/websourcebuffer_impl.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_RENDERER_MEDIA_WEBSOURCEBUFFER_IMPL_H_
-#define CONTENT_RENDERER_MEDIA_WEBSOURCEBUFFER_IMPL_H_
+#ifndef MEDIA_BLINK_WEBSOURCEBUFFER_IMPL_H_
+#define MEDIA_BLINK_WEBSOURCEBUFFER_IMPL_H_
#include <string>
@@ -14,13 +14,10 @@
namespace media {
class ChunkDemuxer;
-}
-
-namespace content {
class WebSourceBufferImpl : public blink::WebSourceBuffer {
public:
- WebSourceBufferImpl(const std::string& id, media::ChunkDemuxer* demuxer);
+ WebSourceBufferImpl(const std::string& id, ChunkDemuxer* demuxer);
virtual ~WebSourceBufferImpl();
// blink::WebSourceBuffer implementation.
@@ -39,7 +36,7 @@ class WebSourceBufferImpl : public blink::WebSourceBuffer {
private:
std::string id_;
- media::ChunkDemuxer* demuxer_; // Owned by WebMediaPlayerImpl.
+ ChunkDemuxer* demuxer_; // Owned by WebMediaPlayerImpl.
// Controls the offset applied to timestamps when processing appended media
// segments. It is initially 0, which indicates that no offset is being
@@ -52,6 +49,6 @@ class WebSourceBufferImpl : public blink::WebSourceBuffer {
DISALLOW_COPY_AND_ASSIGN(WebSourceBufferImpl);
};
-} // namespace content
+} // namespace media
-#endif // CONTENT_RENDERER_MEDIA_WEBSOURCEBUFFER_IMPL_H_
+#endif // MEDIA_BLINK_WEBSOURCEBUFFER_IMPL_H_