Re: [remote-playback] [Meta] Guidance for HTMLMediaElement, HTMLAudioElement, HTMLVideoElement behaviors during remoting

In the spirit of "let's list what one can do".

This is just the main `HTMLMediaElement` interface:

`readonly attribute MediaError? error;`

On error, remote playback is likely to disconnect. MUST be set when 
`ondisconnect` is fired due to an error.
Should we expand error values for remote playback cases?

`attribute DOMString src;`

Setting |src| MUST try to load the corresponding media resource on the
 remote playback device.
Can disconnect if |src| is not supported by it.

`readonly attribute DOMString currentSrc;`
MUST reflect what is being played on the remote playback device.

`attribute DOMString? crossOrigin;`

MAY support. Ignored if not supported.

`readonly attribute unsigned short networkState;`

MAY support. Reflected to the best knowledge of the user agent. 
Otherwise is always in HAVE_FUTURE_DATA.
Should we have a special value for remote playback?

`attribute DOMString preload;`

MAY support.

`readonly attribute TimeRanges buffered;`

MAY support if the remote playback mode provides this info. Otherwise 
pretend all is buffered or have empty ranges?

`void load();`

MUST load the src on the remote playback device. Can result in an 
error and disconnect.

`CanPlayTypeResult canPlayType(DOMString type);`

MUST return `probably` by default, implemented to the best knowledge 
of the user agent.

`readonly attribute unsigned short readyState;`

MUST return HAVE_ENOUGH_DATA, implemented to the best knowledge of the
 user agent.

`readonly attribute boolean seeking;`

MUST be implemented.

`attribute double currentTime;`

MUST be implemented.

`void fastSeek(double time);`

MAY be implemented.

`readonly attribute unrestricted double duration;`

MUST be implemented.

`object getStartDate()`

MAY be implemented. Returns NaN if not.

`readonly attribute boolean paused;`

MUST be implemented.

`attribute double defaultPlaybackRate;`

MAY support. By default, return 1.0 and ignore setters.

`attribute double playbackRate;`

MAY support. By default, return 1.0 and ignore setters.

`readonly attribute TimeRanges played;

MAY support.

`readonly attribute TimeRanges seekable;`

MAY support.

`readonly attribute boolean ended;`

MUST support.

`attribute boolean autoplay;`

MUST support.

`attribute boolean loop;`

MUST support.

`Promise<void> play();`

MUST support.

`void pause();`

MUST support.

`attribute boolean controls;`

MUST support. Agnostic to remote state.

`attribute double volume;`

MAY support.

`attribute boolean muted;`

MAY support.

`attribute boolean defaultMuted;`

MAY support.

`readonly attribute AudioTrackList audioTracks;`

MUST support. Return the first track if multiple tracks are not 
supported.

`readonly attribute VideoTrackList videoTracks;`

MUST support. Return the first track if multiple tracks are not 
supported.

`readonly attribute TextTrackList textTracks;`

MUST support. Return the first track if multiple tracks are not 
supported.

`TextTrack addTextTrack(TextTrackKind kind, optional DOMString label =
 "", optional DOMString language = "");`

MAY support. Returns `null` if not supported.

-- 
GitHub Notification of comment by avayvod
Please view or discuss this issue at 
https://github.com/w3c/remote-playback/issues/41#issuecomment-248854171
 using your GitHub account

Received on Thursday, 22 September 2016 09:32:40 UTC