New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 631199 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocked on:
issue 635991
issue 636002

Blocking:
issue 619729



Sign in to add a comment

Introduce MediaPlayerRenderer/MediaPlayerRendererHost

Project Member Reported by tguilbert@chromium.org, Jul 25 2016

Issue description

The MediaPlayerRenderer is an adapter class that unifies the media::Renderer interface and the Android MediaPlayer interface, and that lives in the Browser process (although this may change in the future).

The MediaPlayerRendererHost is a media::Renderer that lives in the Renderer process. It uses a MojoRenderer to forward calls to a MediaPlayerRenderer in the browser process.

This bug tracks the introduction of both of these classes and their respective factories/helper classes.

 
Cc: j.iso...@samsung.com a.obzhirov@samsung.com
Blockedon: 635991
Blockedon: 636002
Project Member

Comment 4 by bugdroid1@chromium.org, Aug 12 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cd478271f0ea7b3a25fd0b04799d97699598278a

commit cd478271f0ea7b3a25fd0b04799d97699598278a
Author: tguilbert <tguilbert@chromium.org>
Date: Fri Aug 12 02:40:14 2016

Add MediaPlayerRenderer/MediaPlayerRendererClient

This change introduces MediaPlayerRender and MediaPlayerRendererClient.

The MediaPlayerRenderer uses an instance of an Android MediaPlayer to
render video to a given Android Surface. It adapts the MediaPlayer
interface into the media::Renderer interface. It lives in the Browser
process, and is owned by and instance of MojoRendererService.

The MediaPlayerRendereClient is a media::Renderer that integrates
into the WMPI pipeline. It forwards media::Renderer calls to its
associated MediaPlayerRenderer in the Browser process, via a
MojoRenderer (bound to the MojoRendererService). It also owns a
StreamTextureWrapper, which it uses to send VideoFrame to WMPI's
VideoFrameCompositor.

In order to be fully functional, the code is missing the repainting
of duplicate video frames (636002), the propagation of duration changes
(635991) and a mechanism for registering/retrieving the
StreamTextureWrapper's Surface (627658).

BUG= 631199 

Review-Url: https://codereview.chromium.org/2230583002
Cr-Commit-Position: refs/heads/master@{#411527}

[add] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/content/browser/media/android/media_player_renderer.cc
[add] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/content/browser/media/android/media_player_renderer.h
[modify] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/content/content_browser.gypi
[modify] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/content/content_renderer.gypi
[add] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/content/renderer/media/android/media_player_renderer_client.cc
[add] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/content/renderer/media/android/media_player_renderer_client.h
[add] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/content/renderer/media/android/media_player_renderer_client_factory.cc
[add] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/content/renderer/media/android/media_player_renderer_client_factory.h
[modify] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/media/base/BUILD.gn
[modify] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/media/base/android/BUILD.gn
[modify] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/media/base/media_log.cc
[rename] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/media/base/media_url_demuxer.cc
[rename] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/media/base/media_url_demuxer.h
[rename] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/media/base/media_url_demuxer_unittest.cc
[modify] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/media/base/pipeline_status.h
[modify] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/media/blink/webmediaplayer_util.cc
[modify] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/media/mojo/clients/mojo_renderer.cc
[modify] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/media/mojo/clients/mojo_renderer.h
[modify] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/media/mojo/interfaces/renderer.mojom
[modify] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/media/mojo/services/media_mojo_unittest.cc
[modify] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/media/mojo/services/mojo_renderer_service.cc
[modify] https://crrev.com/cd478271f0ea7b3a25fd0b04799d97699598278a/media/mojo/services/mojo_renderer_service.h

Status: Fixed (was: Started)

Sign in to add a comment