livepeer 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/livepeer.rb +96 -0
- data/lib/sdk/access_control.rb +195 -0
- data/lib/sdk/asset.rb +248 -0
- data/lib/sdk/metrics.rb +158 -0
- data/lib/sdk/models/operations/createmultistreamtarget.rb +34 -0
- data/lib/sdk/models/operations/createsigningkey.rb +35 -0
- data/lib/sdk/models/operations/createstream.rb +34 -0
- data/lib/sdk/models/operations/createwebhook.rb +35 -0
- data/lib/sdk/models/operations/deleteasset.rb +45 -0
- data/lib/sdk/models/operations/deletemultistreamtarget.rb +45 -0
- data/lib/sdk/models/operations/deletesigningkey.rb +45 -0
- data/lib/sdk/models/operations/deletestream.rb +45 -0
- data/lib/sdk/models/operations/deletewebhook.rb +49 -0
- data/lib/sdk/models/operations/get_session_id_clips.rb +48 -0
- data/lib/sdk/models/operations/get_stream_id_clips.rb +48 -0
- data/lib/sdk/models/operations/getasset.rb +49 -0
- data/lib/sdk/models/operations/getassets.rb +34 -0
- data/lib/sdk/models/operations/getcreatormetrics.rb +98 -0
- data/lib/sdk/models/operations/getmultistreamtarget.rb +49 -0
- data/lib/sdk/models/operations/getmultistreamtargets.rb +34 -0
- data/lib/sdk/models/operations/getplaybackinfo.rb +53 -0
- data/lib/sdk/models/operations/getpublictotalviewsmetrics.rb +76 -0
- data/lib/sdk/models/operations/getrecordedsessions.rb +53 -0
- data/lib/sdk/models/operations/getsession.rb +49 -0
- data/lib/sdk/models/operations/getsessions.rb +34 -0
- data/lib/sdk/models/operations/getsigningkey.rb +49 -0
- data/lib/sdk/models/operations/getsigningkeys.rb +34 -0
- data/lib/sdk/models/operations/getstream.rb +49 -0
- data/lib/sdk/models/operations/getstreams.rb +48 -0
- data/lib/sdk/models/operations/gettask.rb +49 -0
- data/lib/sdk/models/operations/gettasks.rb +34 -0
- data/lib/sdk/models/operations/getusagemetrics.rb +72 -0
- data/lib/sdk/models/operations/getviewershipsmetrics.rb +107 -0
- data/lib/sdk/models/operations/getwebhook.rb +49 -0
- data/lib/sdk/models/operations/getwebhooks.rb +34 -0
- data/lib/sdk/models/operations/patch_asset_assetid_.rb +53 -0
- data/lib/sdk/models/operations/post_clip.rb +66 -0
- data/lib/sdk/models/operations/requestupload.rb +72 -0
- data/lib/sdk/models/operations/transcode.rb +35 -0
- data/lib/sdk/models/operations/updatemultistreamtarget.rb +49 -0
- data/lib/sdk/models/operations/updatesigningkey.rb +65 -0
- data/lib/sdk/models/operations/updatestream.rb +49 -0
- data/lib/sdk/models/operations/updatewebhook.rb +49 -0
- data/lib/sdk/models/operations/uploadassetviaurl.rb +66 -0
- data/lib/sdk/models/shared/asset.rb +312 -0
- data/lib/sdk/models/shared/asset_patch_payload.rb +38 -0
- data/lib/sdk/models/shared/attestation.rb +178 -0
- data/lib/sdk/models/shared/clip_payload.rb +37 -0
- data/lib/sdk/models/shared/encryption.rb +25 -0
- data/lib/sdk/models/shared/encryption_output.rb +21 -0
- data/lib/sdk/models/shared/error.rb +25 -0
- data/lib/sdk/models/shared/ffmpeg_profile.rb +71 -0
- data/lib/sdk/models/shared/ipfs_export_params.rb +41 -0
- data/lib/sdk/models/shared/ipfs_file_info.rb +31 -0
- data/lib/sdk/models/shared/multistream.rb +75 -0
- data/lib/sdk/models/shared/multistream_target.rb +36 -0
- data/lib/sdk/models/shared/multistream_target_input.rb +33 -0
- data/lib/sdk/models/shared/multistream_target_patch_payload.rb +33 -0
- data/lib/sdk/models/shared/new_asset_payload.rb +79 -0
- data/lib/sdk/models/shared/new_stream_payload.rb +44 -0
- data/lib/sdk/models/shared/nftmetadata.rb +24 -0
- data/lib/sdk/models/shared/nftmetadatatemplate.rb +23 -0
- data/lib/sdk/models/shared/playback_info.rb +115 -0
- data/lib/sdk/models/shared/playback_policy.rb +41 -0
- data/lib/sdk/models/shared/security.rb +25 -0
- data/lib/sdk/models/shared/session.rb +99 -0
- data/lib/sdk/models/shared/signing_key.rb +40 -0
- data/lib/sdk/models/shared/signing_key_response_payload.rb +43 -0
- data/lib/sdk/models/shared/storage.rb +28 -0
- data/lib/sdk/models/shared/storage_status.rb +70 -0
- data/lib/sdk/models/shared/stream.rb +142 -0
- data/lib/sdk/models/shared/stream_patch_payload.rb +41 -0
- data/lib/sdk/models/shared/task.rb +626 -0
- data/lib/sdk/models/shared/upload.rb +34 -0
- data/lib/sdk/models/shared/upload_output.rb +34 -0
- data/lib/sdk/models/shared/usage_metric.rb +38 -0
- data/lib/sdk/models/shared/viewership_metric.rb +97 -0
- data/lib/sdk/models/shared/webhook.rb +112 -0
- data/lib/sdk/multistream_target.rb +205 -0
- data/lib/sdk/playback.rb +63 -0
- data/lib/sdk/sdk.rb +89 -0
- data/lib/sdk/sdkconfiguration.rb +54 -0
- data/lib/sdk/session.rb +166 -0
- data/lib/sdk/stream.rb +290 -0
- data/lib/sdk/task.rb +87 -0
- data/lib/sdk/transcode.rb +59 -0
- data/lib/sdk/utils/metadata_fields.rb +154 -0
- data/lib/sdk/utils/utils.rb +774 -0
- data/lib/sdk/webhook.rb +192 -0
- metadata +260 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
require_relative '../shared/storage_status'
|
|
9
|
+
|
|
10
|
+
module Livepeer
|
|
11
|
+
module Shared
|
|
12
|
+
# PrimaryType - Video Metadata EIP-712 primaryType
|
|
13
|
+
class PrimaryType < T::Enum
|
|
14
|
+
enums do
|
|
15
|
+
VIDEO_ATTESTATION = new('VideoAttestation')
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class Name < T::Enum
|
|
22
|
+
enums do
|
|
23
|
+
VERIFIABLE_VIDEO = new('Verifiable Video')
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class Version < T::Enum
|
|
30
|
+
enums do
|
|
31
|
+
ONE = new('1')
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
# Video Metadata EIP-712 domain
|
|
37
|
+
class Domain < Livepeer::Utils::FieldAugmented
|
|
38
|
+
extend T::Sig
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
field :name, Shared::Name, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name'), 'decoder': Utils.enum_from_string(Shared::Name, false) } }
|
|
42
|
+
|
|
43
|
+
field :version, Shared::Version, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('version'), 'decoder': Utils.enum_from_string(Shared::Version, false) } }
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
sig { params(name: Shared::Name, version: Shared::Version).void }
|
|
47
|
+
def initialize(name: nil, version: nil)
|
|
48
|
+
@name = name
|
|
49
|
+
@version = version
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class Attestations < Livepeer::Utils::FieldAugmented
|
|
55
|
+
extend T::Sig
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
field :address, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('address') } }
|
|
59
|
+
|
|
60
|
+
field :role, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('role') } }
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
sig { params(address: String, role: String).void }
|
|
64
|
+
def initialize(address: nil, role: nil)
|
|
65
|
+
@address = address
|
|
66
|
+
@role = role
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Video Metadata EIP-712 message content
|
|
71
|
+
class Message < Livepeer::Utils::FieldAugmented
|
|
72
|
+
extend T::Sig
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
field :attestations, T::Array[Shared::Attestations], { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('attestations') } }
|
|
76
|
+
|
|
77
|
+
field :signer, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('signer') } }
|
|
78
|
+
|
|
79
|
+
field :timestamp, Float, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('timestamp') } }
|
|
80
|
+
|
|
81
|
+
field :video, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('video') } }
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
sig { params(attestations: T::Array[Shared::Attestations], signer: String, timestamp: Float, video: String).void }
|
|
85
|
+
def initialize(attestations: nil, signer: nil, timestamp: nil, video: nil)
|
|
86
|
+
@attestations = attestations
|
|
87
|
+
@signer = signer
|
|
88
|
+
@timestamp = timestamp
|
|
89
|
+
@video = video
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
class SignatureType < T::Enum
|
|
95
|
+
enums do
|
|
96
|
+
EIP712 = new('eip712')
|
|
97
|
+
FLOW = new('flow')
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
class AttestationIpfs < Livepeer::Utils::FieldAugmented
|
|
104
|
+
extend T::Sig
|
|
105
|
+
|
|
106
|
+
# CID of the file on IPFS
|
|
107
|
+
field :cid, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('cid') } }
|
|
108
|
+
# URL to access file via HTTP through an IPFS gateway
|
|
109
|
+
field :gateway_url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('gatewayUrl') } }
|
|
110
|
+
# Timestamp (in milliseconds) at which IPFS export task was updated
|
|
111
|
+
#
|
|
112
|
+
field :updated_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updatedAt') } }
|
|
113
|
+
# URL with IPFS scheme for the file
|
|
114
|
+
field :url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
sig { params(cid: T.nilable(String), gateway_url: T.nilable(String), updated_at: T.nilable(Float), url: T.nilable(String)).void }
|
|
118
|
+
def initialize(cid: nil, gateway_url: nil, updated_at: nil, url: nil)
|
|
119
|
+
@cid = cid
|
|
120
|
+
@gateway_url = gateway_url
|
|
121
|
+
@updated_at = updated_at
|
|
122
|
+
@url = url
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
class AttestationStorage < Livepeer::Utils::FieldAugmented
|
|
128
|
+
extend T::Sig
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
field :ipfs, T.nilable(Shared::AttestationIpfs), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('ipfs') } }
|
|
132
|
+
|
|
133
|
+
field :status, T.nilable(Shared::StorageStatus), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('status') } }
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
sig { params(ipfs: T.nilable(Shared::AttestationIpfs), status: T.nilable(Shared::StorageStatus)).void }
|
|
137
|
+
def initialize(ipfs: nil, status: nil)
|
|
138
|
+
@ipfs = ipfs
|
|
139
|
+
@status = status
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
class Attestation < Livepeer::Utils::FieldAugmented
|
|
145
|
+
extend T::Sig
|
|
146
|
+
|
|
147
|
+
# Video Metadata EIP-712 domain
|
|
148
|
+
field :domain, Shared::Domain, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('domain') } }
|
|
149
|
+
# Video Metadata EIP-712 message content
|
|
150
|
+
field :message, Shared::Message, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('message') } }
|
|
151
|
+
# Video Metadata EIP-712 primaryType
|
|
152
|
+
field :primary_type, Shared::PrimaryType, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('primaryType'), 'decoder': Utils.enum_from_string(Shared::PrimaryType, false) } }
|
|
153
|
+
# Video Metadata EIP-712 message signature
|
|
154
|
+
field :signature, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('signature') } }
|
|
155
|
+
# Timestamp (in milliseconds) at which the object was created
|
|
156
|
+
field :created_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('createdAt') } }
|
|
157
|
+
|
|
158
|
+
field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
|
159
|
+
|
|
160
|
+
field :signature_type, T.nilable(Shared::SignatureType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('signatureType'), 'decoder': Utils.enum_from_string(Shared::SignatureType, true) } }
|
|
161
|
+
|
|
162
|
+
field :storage, T.nilable(Shared::AttestationStorage), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('storage') } }
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
sig { params(domain: Shared::Domain, message: Shared::Message, primary_type: Shared::PrimaryType, signature: String, created_at: T.nilable(Float), id: T.nilable(String), signature_type: T.nilable(Shared::SignatureType), storage: T.nilable(Shared::AttestationStorage)).void }
|
|
166
|
+
def initialize(domain: nil, message: nil, primary_type: nil, signature: nil, created_at: nil, id: nil, signature_type: nil, storage: nil)
|
|
167
|
+
@domain = domain
|
|
168
|
+
@message = message
|
|
169
|
+
@primary_type = primary_type
|
|
170
|
+
@signature = signature
|
|
171
|
+
@created_at = created_at
|
|
172
|
+
@id = id
|
|
173
|
+
@signature_type = signature_type
|
|
174
|
+
@storage = storage
|
|
175
|
+
end
|
|
176
|
+
end
|
|
177
|
+
end
|
|
178
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
|
|
12
|
+
class ClipPayload < Livepeer::Utils::FieldAugmented
|
|
13
|
+
extend T::Sig
|
|
14
|
+
|
|
15
|
+
# Playback ID of the stream or asset to clip
|
|
16
|
+
field :playback_id, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackId') } }
|
|
17
|
+
# Start time of the clip in milliseconds
|
|
18
|
+
field :start_time, Float, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('startTime') } }
|
|
19
|
+
# End time of the clip in milliseconds
|
|
20
|
+
field :end_time, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('endTime') } }
|
|
21
|
+
# Name of the clip
|
|
22
|
+
field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
|
23
|
+
# Session ID of the stream to clip
|
|
24
|
+
field :session_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('sessionId') } }
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
sig { params(playback_id: String, start_time: Float, end_time: T.nilable(Float), name: T.nilable(String), session_id: T.nilable(String)).void }
|
|
28
|
+
def initialize(playback_id: nil, start_time: nil, end_time: nil, name: nil, session_id: nil)
|
|
29
|
+
@playback_id = playback_id
|
|
30
|
+
@start_time = start_time
|
|
31
|
+
@end_time = end_time
|
|
32
|
+
@name = name
|
|
33
|
+
@session_id = session_id
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
|
|
12
|
+
class Encryption < Livepeer::Utils::FieldAugmented
|
|
13
|
+
extend T::Sig
|
|
14
|
+
|
|
15
|
+
# Encryption key used to encrypt the asset. Only writable in the upload asset endpoints and cannot be retrieved back.
|
|
16
|
+
field :encrypted_key, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('encryptedKey') } }
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
sig { params(encrypted_key: String).void }
|
|
20
|
+
def initialize(encrypted_key: nil)
|
|
21
|
+
@encrypted_key = encrypted_key
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
|
|
12
|
+
class EncryptionOutput < Livepeer::Utils::FieldAugmented
|
|
13
|
+
extend T::Sig
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def initialize; end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
|
|
12
|
+
class Error < Livepeer::Utils::FieldAugmented
|
|
13
|
+
extend T::Sig
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :errors, T::Array[String], { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('errors') } }
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
sig { params(errors: T::Array[String]).void }
|
|
20
|
+
def initialize(errors: nil)
|
|
21
|
+
@errors = errors
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
|
|
12
|
+
class Profile < T::Enum
|
|
13
|
+
enums do
|
|
14
|
+
H264_BASELINE = new('H264Baseline')
|
|
15
|
+
H264_MAIN = new('H264Main')
|
|
16
|
+
H264_HIGH = new('H264High')
|
|
17
|
+
H264_CONSTRAINED_HIGH = new('H264ConstrainedHigh')
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class Encoder < T::Enum
|
|
24
|
+
enums do
|
|
25
|
+
H264 = new('h264')
|
|
26
|
+
HEVC = new('hevc')
|
|
27
|
+
VP8 = new('vp8')
|
|
28
|
+
VP9 = new('vp9')
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# LMPS ffmpeg profile
|
|
34
|
+
class FfmpegProfile < Livepeer::Utils::FieldAugmented
|
|
35
|
+
extend T::Sig
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
field :bitrate, Integer, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('bitrate') } }
|
|
39
|
+
|
|
40
|
+
field :fps, Integer, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('fps') } }
|
|
41
|
+
|
|
42
|
+
field :height, Integer, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('height') } }
|
|
43
|
+
|
|
44
|
+
field :name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
|
45
|
+
|
|
46
|
+
field :width, Integer, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('width') } }
|
|
47
|
+
|
|
48
|
+
field :encoder, T.nilable(Shared::Encoder), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('encoder'), 'decoder': Utils.enum_from_string(Shared::Encoder, true) } }
|
|
49
|
+
|
|
50
|
+
field :fps_den, T.nilable(Integer), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('fpsDen') } }
|
|
51
|
+
|
|
52
|
+
field :gop, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('gop') } }
|
|
53
|
+
|
|
54
|
+
field :profile, T.nilable(Shared::Profile), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('profile'), 'decoder': Utils.enum_from_string(Shared::Profile, true) } }
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
sig { params(bitrate: Integer, fps: Integer, height: Integer, name: String, width: Integer, encoder: T.nilable(Shared::Encoder), fps_den: T.nilable(Integer), gop: T.nilable(String), profile: T.nilable(Shared::Profile)).void }
|
|
58
|
+
def initialize(bitrate: nil, fps: nil, height: nil, name: nil, width: nil, encoder: nil, fps_den: nil, gop: nil, profile: nil)
|
|
59
|
+
@bitrate = bitrate
|
|
60
|
+
@fps = fps
|
|
61
|
+
@height = height
|
|
62
|
+
@name = name
|
|
63
|
+
@width = width
|
|
64
|
+
@encoder = encoder
|
|
65
|
+
@fps_den = fps_den
|
|
66
|
+
@gop = gop
|
|
67
|
+
@profile = profile
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
require_relative '../shared/nftmetadatatemplate'
|
|
9
|
+
require_relative '../shared/nftmetadata'
|
|
10
|
+
|
|
11
|
+
module Livepeer
|
|
12
|
+
module Shared
|
|
13
|
+
|
|
14
|
+
class IpfsExportParams < Livepeer::Utils::FieldAugmented
|
|
15
|
+
extend T::Sig
|
|
16
|
+
|
|
17
|
+
# Additional data to add to the NFT metadata exported to
|
|
18
|
+
# IPFS. Will be deep merged with the default metadata
|
|
19
|
+
# exported.
|
|
20
|
+
#
|
|
21
|
+
field :nft_metadata, T.nilable(Shared::NftMetadata), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('nftMetadata') } }
|
|
22
|
+
# Name of the NFT metadata template to export. 'player'
|
|
23
|
+
# will embed the Livepeer Player on the NFT while 'file'
|
|
24
|
+
# will reference only the immutable MP4 files.
|
|
25
|
+
#
|
|
26
|
+
field :nft_metadata_template, T.nilable(Shared::NftMetadataTemplate), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('nftMetadataTemplate'), 'decoder': Utils.enum_from_string(Shared::NftMetadataTemplate, true) } }
|
|
27
|
+
# Custom credentials for the Piñata service. Must have either
|
|
28
|
+
# a JWT or an API key and an API secret.
|
|
29
|
+
#
|
|
30
|
+
field :pinata, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('pinata') } }
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
sig { params(nft_metadata: T.nilable(Shared::NftMetadata), nft_metadata_template: T.nilable(Shared::NftMetadataTemplate), pinata: T.nilable(Object)).void }
|
|
34
|
+
def initialize(nft_metadata: nil, nft_metadata_template: nil, pinata: nil)
|
|
35
|
+
@nft_metadata = nft_metadata
|
|
36
|
+
@nft_metadata_template = nft_metadata_template
|
|
37
|
+
@pinata = pinata
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
|
|
12
|
+
class IpfsFileInfo < Livepeer::Utils::FieldAugmented
|
|
13
|
+
extend T::Sig
|
|
14
|
+
|
|
15
|
+
# CID of the file on IPFS
|
|
16
|
+
field :cid, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('cid') } }
|
|
17
|
+
# URL to access file via HTTP through an IPFS gateway
|
|
18
|
+
field :gateway_url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('gatewayUrl') } }
|
|
19
|
+
# URL with IPFS scheme for the file
|
|
20
|
+
field :url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
sig { params(cid: String, gateway_url: T.nilable(String), url: T.nilable(String)).void }
|
|
24
|
+
def initialize(cid: nil, gateway_url: nil, url: nil)
|
|
25
|
+
@cid = cid
|
|
26
|
+
@gateway_url = gateway_url
|
|
27
|
+
@url = url
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
# Inline multistream target object. Will automatically
|
|
12
|
+
# create the target resource to be used by the created stream.
|
|
13
|
+
#
|
|
14
|
+
class Spec < Livepeer::Utils::FieldAugmented
|
|
15
|
+
extend T::Sig
|
|
16
|
+
|
|
17
|
+
# Livepeer-compatible multistream target URL (RTMP(S) or SRT)
|
|
18
|
+
field :url, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
|
|
19
|
+
|
|
20
|
+
field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
sig { params(url: String, name: T.nilable(String)).void }
|
|
24
|
+
def initialize(url: nil, name: nil)
|
|
25
|
+
@url = url
|
|
26
|
+
@name = name
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class Targets < Livepeer::Utils::FieldAugmented
|
|
32
|
+
extend T::Sig
|
|
33
|
+
|
|
34
|
+
# Name of the transcoding profile that should be sent. Use
|
|
35
|
+
# "source" for pushing the source stream data
|
|
36
|
+
#
|
|
37
|
+
field :profile, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('profile') } }
|
|
38
|
+
# ID of the multistream target object where to push this stream
|
|
39
|
+
field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
|
40
|
+
# Inline multistream target object. Will automatically
|
|
41
|
+
# create the target resource to be used by the created stream.
|
|
42
|
+
#
|
|
43
|
+
field :spec, T.nilable(Shared::Spec), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('spec') } }
|
|
44
|
+
# If true, the stream audio will be muted, and only silent
|
|
45
|
+
# video will be pushed to the target.
|
|
46
|
+
#
|
|
47
|
+
field :video_only, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('videoOnly') } }
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
sig { params(profile: String, id: T.nilable(String), spec: T.nilable(Shared::Spec), video_only: T.nilable(T::Boolean)).void }
|
|
51
|
+
def initialize(profile: nil, id: nil, spec: nil, video_only: nil)
|
|
52
|
+
@profile = profile
|
|
53
|
+
@id = id
|
|
54
|
+
@spec = spec
|
|
55
|
+
@video_only = video_only
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class Multistream < Livepeer::Utils::FieldAugmented
|
|
61
|
+
extend T::Sig
|
|
62
|
+
|
|
63
|
+
# References to targets where this stream will be simultaneously
|
|
64
|
+
# streamed to
|
|
65
|
+
#
|
|
66
|
+
field :targets, T.nilable(T::Array[Shared::Targets]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('targets') } }
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
sig { params(targets: T.nilable(T::Array[Shared::Targets])).void }
|
|
70
|
+
def initialize(targets: nil)
|
|
71
|
+
@targets = targets
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
|
|
12
|
+
class MultistreamTarget < Livepeer::Utils::FieldAugmented
|
|
13
|
+
extend T::Sig
|
|
14
|
+
|
|
15
|
+
# Timestamp (in milliseconds) at which multistream target object was created
|
|
16
|
+
field :created_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('createdAt') } }
|
|
17
|
+
# If true then this multistream target will not be used for pushing
|
|
18
|
+
# even if it is configured in a stream object.
|
|
19
|
+
#
|
|
20
|
+
field :disabled, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('disabled') } }
|
|
21
|
+
|
|
22
|
+
field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
|
23
|
+
|
|
24
|
+
field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
sig { params(created_at: T.nilable(Float), disabled: T.nilable(T::Boolean), id: T.nilable(String), name: T.nilable(String)).void }
|
|
28
|
+
def initialize(created_at: nil, disabled: nil, id: nil, name: nil)
|
|
29
|
+
@created_at = created_at
|
|
30
|
+
@disabled = disabled
|
|
31
|
+
@id = id
|
|
32
|
+
@name = name
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
|
|
12
|
+
class MultistreamTargetInput < Livepeer::Utils::FieldAugmented
|
|
13
|
+
extend T::Sig
|
|
14
|
+
|
|
15
|
+
# Livepeer-compatible multistream target URL (RTMP(S) or SRT)
|
|
16
|
+
field :url, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
|
|
17
|
+
# If true then this multistream target will not be used for pushing
|
|
18
|
+
# even if it is configured in a stream object.
|
|
19
|
+
#
|
|
20
|
+
field :disabled, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('disabled') } }
|
|
21
|
+
|
|
22
|
+
field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
sig { params(url: String, disabled: T.nilable(T::Boolean), name: T.nilable(String)).void }
|
|
26
|
+
def initialize(url: nil, disabled: nil, name: nil)
|
|
27
|
+
@url = url
|
|
28
|
+
@disabled = disabled
|
|
29
|
+
@name = name
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
|
|
12
|
+
class MultistreamTargetPatchPayload < Livepeer::Utils::FieldAugmented
|
|
13
|
+
extend T::Sig
|
|
14
|
+
|
|
15
|
+
# Livepeer-compatible multistream target URL (RTMP(S) or SRT)
|
|
16
|
+
field :url, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
|
|
17
|
+
# If true then this multistream target will not be used for pushing
|
|
18
|
+
# even if it is configured in a stream object.
|
|
19
|
+
#
|
|
20
|
+
field :disabled, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('disabled') } }
|
|
21
|
+
|
|
22
|
+
field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
sig { params(url: String, disabled: T.nilable(T::Boolean), name: T.nilable(String)).void }
|
|
26
|
+
def initialize(url: nil, disabled: nil, name: nil)
|
|
27
|
+
@url = url
|
|
28
|
+
@disabled = disabled
|
|
29
|
+
@name = name
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|