summaryrefslogtreecommitdiffstats
path: root/media/blink/webmediaplayer_delegate.h
Commit message (Collapse)AuthorAgeFilesLines
* Rewire media suspension to WebContentsAndroid::ReleaseMediaPlayers().dalecurtis2016-02-131-3/+6
| | | | | | | | | | | | | | | | | | | | | | Wires up a new suspend message sent to each WebMediaDelegate manager which fans it out to all WebMediaPlayer implementations notifying them that they've been hidden and background audio is not allowed. Each player then uses this signal to pause playback appropriately. Notes: - Fixes out of sync playback state on WebMediaPlayerAndroid if a user actually clicks the undo button to get their tab back. - Fixes suspend for remote when no video stream is present. - Fixes pipeline suspend always expecting there to be a video frame. - Adds audio suspension to WebMediaPlayerMS. BUG=586051 TEST=Hitting the close button actually kills audio immediately. Review URL: https://codereview.chromium.org/1692783003 Cr-Commit-Position: refs/heads/master@{#375296}
* Implement MediaSession on top of the WebMediaPlayerDelegate.dalecurtis2016-01-271-11/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extracts the existing MediaSession usage from the browser media player manager and moves it into the WebMediaPlayerDelegate where it can be shared by both the desktop and android media players. Notes: - Removes RenderFrameObserver from all WebMediaPlayers since the delegate observer interface handles all of their needs. - The MediaStream WebMediaPlayer now has MediaSession support. - Currently the WMPI has no concept of requesting permission to play, the WMPA behavior has been preserved via a request to the MediaWebContentsObserverAndroid from BrowserMediaPlayerManager. - Fixes flakiness issues with the MediaSession tests which were not completely waiting for playback to start before moving on with test expectations. - Extracts misplaced delegate messages from frame_messages.h and puts them in their own media_player_delegate_messages.h file. - During the message move, cleans up the player_cookie (a int64_t pointer) in favor of a plain int. Renames messages for the better. - Removes all delegate calls from the cast adapter since they are always remote type which should be ignored anyways. - |has_audio| is sticky in the MediaSessionController since WMPA can't be relied upon to provide a true value and plumbing the value from every MediaPlayerAndroid is non-trivial. - Fixes MediaSession ContentShellTests which were passing on the bots by happy circumstance -- the bots do not appear able to play the .ogg files checked in -- instead instantly ending. Test were fixed by adding .mp3 variants. BUG=529887, 580626 TEST=new tests, existing MediaSession tests pass with and without the unified media pipeline flag, manual verification of background behavior. Review URL: https://codereview.chromium.org/1570043002 Cr-Commit-Position: refs/heads/master@{#371870}
* Do not suspend background audio.sandersd2016-01-091-0/+3
| | | | | | | | | | | | | | | This adds a check to WMPI::OnHidden() to only suspend playback if there is video, and adds the ability to suspend when metadata is recived. This makes it easy to fix the outstanding problem of background tabs being able to play new video, and so this change also adds visibility tracking to MediaPlayerDelegate so that it can be queried on demand. BUG=575457 Review URL: https://codereview.chromium.org/1567243003 Cr-Commit-Position: refs/heads/master@{#368485}
* Implement WMPI suspend/resume.sandersd2015-12-121-0/+13
| | | | | | | | | | | With this change, WMPI translates WasShown()/WasHidden() on RenderFrameImpl to pipeline Suspend()/Resume(). BUG=516850 Review URL: https://codereview.chromium.org/1473733002 Cr-Commit-Position: refs/heads/master@{#364854}
* Move WebMediaPlayerImpl and its dependencies to media/blink.acolwell2014-09-061-0/+34
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}