1package media
2
3// Code generated by cdproto-gen. DO NOT EDIT.
4
5import (
6	"errors"
7
8	"github.com/mailru/easyjson"
9	"github.com/mailru/easyjson/jlexer"
10	"github.com/mailru/easyjson/jwriter"
11)
12
13// PlayerID players will get an ID that is unique within the agent context.
14//
15// See: https://chromedevtools.github.io/devtools-protocol/tot/Media#type-PlayerId
16type PlayerID string
17
18// String returns the PlayerID as string value.
19func (t PlayerID) String() string {
20	return string(t)
21}
22
23// Timestamp [no description].
24//
25// See: https://chromedevtools.github.io/devtools-protocol/tot/Media#type-Timestamp
26type Timestamp float64
27
28// Float64 returns the Timestamp as float64 value.
29func (t Timestamp) Float64() float64 {
30	return float64(t)
31}
32
33// PlayerProperty player Property type.
34//
35// See: https://chromedevtools.github.io/devtools-protocol/tot/Media#type-PlayerProperty
36type PlayerProperty struct {
37	Name  string `json:"name"`
38	Value string `json:"value,omitempty"`
39}
40
41// PlayerEventType break out events into different types.
42//
43// See: https://chromedevtools.github.io/devtools-protocol/tot/Media#type-PlayerEventType
44type PlayerEventType string
45
46// String returns the PlayerEventType as string value.
47func (t PlayerEventType) String() string {
48	return string(t)
49}
50
51// PlayerEventType values.
52const (
53	PlayerEventTypePlaybackEvent PlayerEventType = "playbackEvent"
54	PlayerEventTypeSystemEvent   PlayerEventType = "systemEvent"
55	PlayerEventTypeMessageEvent  PlayerEventType = "messageEvent"
56)
57
58// MarshalEasyJSON satisfies easyjson.Marshaler.
59func (t PlayerEventType) MarshalEasyJSON(out *jwriter.Writer) {
60	out.String(string(t))
61}
62
63// MarshalJSON satisfies json.Marshaler.
64func (t PlayerEventType) MarshalJSON() ([]byte, error) {
65	return easyjson.Marshal(t)
66}
67
68// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
69func (t *PlayerEventType) UnmarshalEasyJSON(in *jlexer.Lexer) {
70	switch PlayerEventType(in.String()) {
71	case PlayerEventTypePlaybackEvent:
72		*t = PlayerEventTypePlaybackEvent
73	case PlayerEventTypeSystemEvent:
74		*t = PlayerEventTypeSystemEvent
75	case PlayerEventTypeMessageEvent:
76		*t = PlayerEventTypeMessageEvent
77
78	default:
79		in.AddError(errors.New("unknown PlayerEventType value"))
80	}
81}
82
83// UnmarshalJSON satisfies json.Unmarshaler.
84func (t *PlayerEventType) UnmarshalJSON(buf []byte) error {
85	return easyjson.Unmarshal(buf, t)
86}
87
88// PlayerEvent [no description].
89//
90// See: https://chromedevtools.github.io/devtools-protocol/tot/Media#type-PlayerEvent
91type PlayerEvent struct {
92	Type      PlayerEventType `json:"type"`
93	Timestamp Timestamp       `json:"timestamp"` // Events are timestamped relative to the start of the player creation not relative to the start of playback.
94	Name      string          `json:"name"`
95	Value     string          `json:"value"`
96}
97