fix: Increase reliability of media auto actions (e.g. play) (#1934)
Refactors media player handling entirely to make the code more consistent and less boilerplate. Add testing for media player actions. - Closes #1921 - Closes #1916
This commit is contained in:
+9
-2
@@ -39,7 +39,8 @@ export interface MediaLoadedInfo {
|
||||
width: number;
|
||||
height: number;
|
||||
technology?: MediaTechnology[];
|
||||
player?: AdvancedCameraCardMediaPlayer;
|
||||
|
||||
mediaPlayerController?: MediaPlayerController;
|
||||
capabilities?: MediaLoadedCapabilities;
|
||||
}
|
||||
|
||||
@@ -63,7 +64,7 @@ export type WebkitHTMLVideoElement = HTMLVideoElement & {
|
||||
|
||||
export type FullscreenElement = HTMLElement;
|
||||
|
||||
export interface AdvancedCameraCardMediaPlayer {
|
||||
export interface MediaPlayerController {
|
||||
play(): Promise<void>;
|
||||
pause(): Promise<void>;
|
||||
mute(): Promise<void>;
|
||||
@@ -77,6 +78,12 @@ export interface AdvancedCameraCardMediaPlayer {
|
||||
getFullscreenElement(): FullscreenElement | null;
|
||||
}
|
||||
|
||||
export interface MediaPlayer {
|
||||
getMediaPlayerController(): Promise<MediaPlayerController | null>;
|
||||
}
|
||||
|
||||
export type MediaPlayerElement<T extends HTMLElement = HTMLElement> = T & MediaPlayer;
|
||||
|
||||
export type LovelaceCardWithEditor = LovelaceCard & {
|
||||
constructor: {
|
||||
getConfigElement(): Promise<LovelaceCardEditor>;
|
||||
|
||||
Reference in New Issue
Block a user