livepeer 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|