Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1314)

Unified Diff: media/mojo/services/mojo_renderer_service.cc

Issue 2075303002: [DO NOT COMMIT] Initial MediaPlayerRenderer plumbing and basic features (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/mojo/services/mojo_renderer_service.cc
diff --git a/media/mojo/services/mojo_renderer_service.cc b/media/mojo/services/mojo_renderer_service.cc
index 9c6f2adf0d11eb581920b6ee7244d8dadd8f09fa..6a9a02d85517398fcfd72f6a330e197d655c33c0 100644
--- a/media/mojo/services/mojo_renderer_service.cc
+++ b/media/mojo/services/mojo_renderer_service.cc
@@ -7,8 +7,11 @@
#include <utility>
#include "base/bind.h"
+#include "media/base/android/media_player_renderer.h"
+#include "media/base/android/url_demuxer_stream_provider.h"
#include "media/base/media_keys.h"
#include "media/base/renderer.h"
+#include "media/media_features.h"
#include "media/mojo/services/demuxer_stream_provider_shim.h"
#include "media/mojo/services/mojo_cdm_service_context.h"
@@ -40,14 +43,28 @@ void MojoRendererService::Initialize(
mojom::RendererClientPtr client,
mojom::DemuxerStreamPtr audio,
mojom::DemuxerStreamPtr video,
+ const mojo::String& url,
+ int64_t surface_id,
const mojo::Callback<void(bool)>& callback) {
DVLOG(1) << __FUNCTION__;
DCHECK_EQ(state_, STATE_UNINITIALIZED);
client_ = std::move(client);
state_ = STATE_INITIALIZING;
+#if BUILDFLAG(FORCE_MOJO_MEDIA_PLAYER_RENDERER)
+ // TODO(tguilbert): For review: are c-style casts acceptable?
xhwang 2016/06/22 17:39:02 no :) use static_cast instead
+ MediaPlayerRenderer* temp = (MediaPlayerRenderer*)renderer_.get();
+ temp->SetSurfaceId(surface_id);
+
+ stream_provider_.reset(new UrlDemuxerStreamProvider(GURL(url.get())));
+ renderer_->Initialize(
+ stream_provider_.get(), this,
+ base::Bind(&MojoRendererService::OnRendererInitializeDone, weak_this_,
+ callback));
+#else
stream_provider_.reset(new DemuxerStreamProviderShim(
std::move(audio), std::move(video),
base::Bind(&MojoRendererService::OnStreamReady, weak_this_, callback)));
+#endif // defined(FORCE_MOJO_MEDIA_PLAYER_RENDERER)
}
void MojoRendererService::Flush(const mojo::Closure& callback) {
@@ -133,6 +150,10 @@ void MojoRendererService::OnVideoNaturalSizeChange(const gfx::Size& size) {
client_->OnVideoNaturalSizeChange(size);
}
+void MojoRendererService::OnDurationChange(base::TimeDelta duration) {
+ client_->OnDurationChange(duration.InMicroseconds());
+}
+
void MojoRendererService::OnVideoOpacityChange(bool opaque) {
DVLOG(2) << __FUNCTION__ << "(" << opaque << ")";
client_->OnVideoOpacityChange(opaque);

Powered by Google App Engine
This is Rietveld 408576698