Closed Bug 1582508 Opened 2 years ago Closed 2 years ago

Implement playbackState in Media Session interface

Categories

(Core :: Audio/Video: Playback, task, P1)

task

Tracking

()

RESOLVED FIXED
mozilla76
Tracking Status
firefox76 --- fixed

People

(Reporter: chunmin, Assigned: alwu)

References

()

Details

(Keywords: dev-doc-complete)

Attachments

(10 files)

47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review

Implement MediaSessionPlaybackState in the Media Session API defined in: https://w3c.github.io/mediasession/#enumdef-mediasessionplaybackstate

Target it on this release cycle so mark it as P1.

Assignee: cchang → alwu
Priority: P3 → P1

On X11, there is an universal definition for None, and it conflicts with the None in the enum of MediaSessionPlaybackTestState, which causes a build fail on X11. Therefore, we have to change its name to avoid using the same name.

[1] from /usr/include/X11/X.h:115
#define None 0L /* universal null resource or null atom */

Blocks: 1620077
No longer blocks: 1620077
Pushed by alwu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9c5f84d58424
part1 : implement 'MediaSessionPlaybackState'. r=webidl,chunmin,Ehsan
https://hg.mozilla.org/integration/autoland/rev/cdda4f7b6bf8
part2 : change naming of 'mState' to 'mGuessedPlaybackState' r=chunmin
https://hg.mozilla.org/integration/autoland/rev/a73415e9c006
part3 : create new structure 'MediaSessionInfo' to store the declared playback state for media session. r=chunmin
https://hg.mozilla.org/integration/autoland/rev/a008d3cebfdb
part4 : propagate declared playback state to media session controller. r=chunmin
https://hg.mozilla.org/integration/autoland/rev/57a15463a488
part5 : replace 'PlaybackState' with 'MediaSessionPlaybackState'. r=chunmin
https://hg.mozilla.org/integration/autoland/rev/43066b37e9f2
part6 : add actual playback state in the media controller r=chunmin
https://hg.mozilla.org/integration/autoland/rev/0251a2bedd62
part7 : create a chrome-only method to get the playback state from the main controller. r=webidl,Ehsan
https://hg.mozilla.org/integration/autoland/rev/53c2a4fd92df
part8 : add test r=chunmin
https://hg.mozilla.org/integration/autoland/rev/9bd2e656a40e
part9 : enable wpt 'playbackstate.html'. r=chunmin
https://hg.mozilla.org/integration/autoland/rev/bc42a2aec0e4
part10 : change `MediaSessionPlaybackTestState::None` to `MediaSessionPlaybackTestState::Stopped` to fix the build fail on X11. r=webidl,Ehsan,chunmin
Regressions: 1631770
You need to log in before you can comment on or make changes to this bug.