livepeer 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/livepeer.rb +14 -12
- data/lib/sdk/asset.rb +81 -9
- data/lib/sdk/metrics.rb +12 -4
- data/lib/sdk/models/operations/addmultistreamtarget.rb +49 -0
- data/lib/sdk/models/operations/createsigningkey.rb +5 -5
- data/lib/sdk/models/operations/createstream.rb +4 -4
- data/lib/sdk/models/operations/deletewebhook.rb +1 -1
- data/lib/sdk/models/operations/get_session_id_clips.rb +4 -4
- data/lib/sdk/models/operations/get_stream_id_clips.rb +4 -4
- data/lib/sdk/models/operations/getassets.rb +4 -4
- data/lib/sdk/models/operations/getcreatormetrics.rb +4 -4
- data/lib/sdk/models/operations/getmultistreamtargets.rb +4 -4
- data/lib/sdk/models/operations/getpublictotalviewsmetrics.rb +5 -5
- data/lib/sdk/models/operations/getrecordedsessions.rb +4 -4
- data/lib/sdk/models/operations/getsessions.rb +4 -4
- data/lib/sdk/models/operations/getsigningkeys.rb +4 -4
- data/lib/sdk/models/operations/getstreams.rb +5 -5
- data/lib/sdk/models/operations/gettasks.rb +4 -4
- data/lib/sdk/models/operations/getviewershipsmetrics.rb +4 -4
- data/lib/sdk/models/operations/getwebhook.rb +1 -1
- data/lib/sdk/models/operations/getwebhooks.rb +4 -4
- data/lib/sdk/models/operations/post_clip.rb +5 -5
- data/lib/sdk/models/operations/removemultistreamtarget.rb +48 -0
- data/lib/sdk/models/operations/requestupload.rb +5 -5
- data/lib/sdk/models/operations/terminatestream.rb +45 -0
- data/lib/sdk/models/operations/{patch_asset_assetid_.rb → updateasset.rb} +2 -2
- data/lib/sdk/models/operations/updatewebhook.rb +1 -1
- data/lib/sdk/models/operations/uploadassetviaurl.rb +5 -5
- data/lib/sdk/models/shared/asset.rb +11 -17
- data/lib/sdk/models/shared/attestation.rb +5 -11
- data/lib/sdk/models/shared/encryption.rb +2 -6
- data/lib/sdk/models/shared/ffmpeg_profile.rb +6 -2
- data/lib/sdk/models/shared/ipfs_export_params.rb +5 -16
- data/lib/sdk/models/shared/multistream.rb +2 -50
- data/lib/sdk/models/shared/multistream_target.rb +3 -1
- data/lib/sdk/models/shared/new_asset_payload.rb +8 -3
- data/lib/sdk/models/shared/playback_info.rb +50 -4
- data/lib/sdk/models/shared/session.rb +3 -3
- data/lib/sdk/models/shared/stream.rb +5 -29
- data/lib/sdk/models/shared/stream_patch_payload.rb +5 -2
- data/lib/sdk/models/shared/target.rb +61 -0
- data/lib/sdk/models/shared/target_add_payload.rb +61 -0
- data/lib/sdk/models/shared/target_output.rb +35 -0
- data/lib/sdk/models/shared/task.rb +54 -231
- data/lib/sdk/models/shared/transcode_payload.rb +105 -0
- data/lib/sdk/models/shared/transcode_profile.rb +75 -0
- data/lib/sdk/multistream_target.rb +4 -1
- data/lib/sdk/sdk.rb +33 -3
- data/lib/sdk/sdkconfiguration.rb +3 -3
- data/lib/sdk/session.rb +40 -40
- data/lib/sdk/{access_control.rb → signing_key.rb} +15 -40
- data/lib/sdk/stream.rb +148 -7
- data/lib/sdk/task.rb +1 -1
- data/lib/sdk/transcode.rb +123 -1
- data/lib/sdk/webhook.rb +3 -1
- metadata +17 -15
- data/lib/sdk/models/shared/encryption_output.rb +0 -21
- data/lib/sdk/models/shared/nftmetadata.rb +0 -24
- data/lib/sdk/models/shared/nftmetadatatemplate.rb +0 -23
- data/lib/sdk/models/shared/signing_key_response_payload.rb +0 -43
- data/lib/sdk/models/shared/upload.rb +0 -34
- data/lib/sdk/models/shared/upload_output.rb +0 -34
@@ -17,16 +17,16 @@ module Livepeer
|
|
17
17
|
# HTTP response status code for this operation
|
18
18
|
field :status_code, Integer
|
19
19
|
# Success
|
20
|
-
field :
|
20
|
+
field :classes, T.nilable(T::Array[Shared::Task])
|
21
21
|
# Raw HTTP response; suitable for custom response parsing
|
22
22
|
field :raw_response, T.nilable(Faraday::Response)
|
23
23
|
|
24
24
|
|
25
|
-
sig { params(content_type: String, status_code: Integer,
|
26
|
-
def initialize(content_type: nil, status_code: nil,
|
25
|
+
sig { params(content_type: String, status_code: Integer, classes: T.nilable(T::Array[Shared::Task]), raw_response: T.nilable(Faraday::Response)).void }
|
26
|
+
def initialize(content_type: nil, status_code: nil, classes: nil, raw_response: nil)
|
27
27
|
@content_type = content_type
|
28
28
|
@status_code = status_code
|
29
|
-
@
|
29
|
+
@classes = classes
|
30
30
|
@raw_response = raw_response
|
31
31
|
end
|
32
32
|
end
|
@@ -90,16 +90,16 @@ module Livepeer
|
|
90
90
|
# HTTP response status code for this operation
|
91
91
|
field :status_code, Integer
|
92
92
|
# A list of Metric objects
|
93
|
-
field :
|
93
|
+
field :classes, T.nilable(T::Array[Shared::ViewershipMetric])
|
94
94
|
# Raw HTTP response; suitable for custom response parsing
|
95
95
|
field :raw_response, T.nilable(Faraday::Response)
|
96
96
|
|
97
97
|
|
98
|
-
sig { params(content_type: String, status_code: Integer,
|
99
|
-
def initialize(content_type: nil, status_code: nil,
|
98
|
+
sig { params(content_type: String, status_code: Integer, classes: T.nilable(T::Array[Shared::ViewershipMetric]), raw_response: T.nilable(Faraday::Response)).void }
|
99
|
+
def initialize(content_type: nil, status_code: nil, classes: nil, raw_response: nil)
|
100
100
|
@content_type = content_type
|
101
101
|
@status_code = status_code
|
102
|
-
@
|
102
|
+
@classes = classes
|
103
103
|
@raw_response = raw_response
|
104
104
|
end
|
105
105
|
end
|
@@ -17,16 +17,16 @@ module Livepeer
|
|
17
17
|
# HTTP response status code for this operation
|
18
18
|
field :status_code, Integer
|
19
19
|
# Success
|
20
|
-
field :
|
20
|
+
field :classes, T.nilable(T::Array[Shared::Webhook])
|
21
21
|
# Raw HTTP response; suitable for custom response parsing
|
22
22
|
field :raw_response, T.nilable(Faraday::Response)
|
23
23
|
|
24
24
|
|
25
|
-
sig { params(content_type: String, status_code: Integer,
|
26
|
-
def initialize(content_type: nil, status_code: nil,
|
25
|
+
sig { params(content_type: String, status_code: Integer, classes: T.nilable(T::Array[Shared::Webhook]), raw_response: T.nilable(Faraday::Response)).void }
|
26
|
+
def initialize(content_type: nil, status_code: nil, classes: nil, raw_response: nil)
|
27
27
|
@content_type = content_type
|
28
28
|
@status_code = status_code
|
29
|
-
@
|
29
|
+
@classes = classes
|
30
30
|
@raw_response = raw_response
|
31
31
|
end
|
32
32
|
end
|
@@ -24,7 +24,7 @@ module Livepeer
|
|
24
24
|
end
|
25
25
|
|
26
26
|
# Success
|
27
|
-
class
|
27
|
+
class PostClipResponseBody < Livepeer::Utils::FieldAugmented
|
28
28
|
extend T::Sig
|
29
29
|
|
30
30
|
|
@@ -49,16 +49,16 @@ module Livepeer
|
|
49
49
|
# HTTP response status code for this operation
|
50
50
|
field :status_code, Integer
|
51
51
|
# Success
|
52
|
-
field :
|
52
|
+
field :object, T.nilable(Operations::PostClipResponseBody)
|
53
53
|
# Raw HTTP response; suitable for custom response parsing
|
54
54
|
field :raw_response, T.nilable(Faraday::Response)
|
55
55
|
|
56
56
|
|
57
|
-
sig { params(content_type: String, status_code: Integer,
|
58
|
-
def initialize(content_type: nil, status_code: nil,
|
57
|
+
sig { params(content_type: String, status_code: Integer, object: T.nilable(Operations::PostClipResponseBody), raw_response: T.nilable(Faraday::Response)).void }
|
58
|
+
def initialize(content_type: nil, status_code: nil, object: nil, raw_response: nil)
|
59
59
|
@content_type = content_type
|
60
60
|
@status_code = status_code
|
61
|
-
@
|
61
|
+
@object = object
|
62
62
|
@raw_response = raw_response
|
63
63
|
end
|
64
64
|
end
|
@@ -0,0 +1,48 @@
|
|
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 Operations
|
11
|
+
|
12
|
+
class RemoveMultistreamTargetRequest < Livepeer::Utils::FieldAugmented
|
13
|
+
extend T::Sig
|
14
|
+
|
15
|
+
# ID of the parent stream
|
16
|
+
field :id, String, { 'path_param': { 'field_name': 'id', 'style': 'simple', 'explode': false } }
|
17
|
+
# ID of the multistream target
|
18
|
+
field :target_id, String, { 'path_param': { 'field_name': 'targetId', 'style': 'simple', 'explode': false } }
|
19
|
+
|
20
|
+
|
21
|
+
sig { params(id: String, target_id: String).void }
|
22
|
+
def initialize(id: nil, target_id: nil)
|
23
|
+
@id = id
|
24
|
+
@target_id = target_id
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
class RemoveMultistreamTargetResponse < Livepeer::Utils::FieldAugmented
|
30
|
+
extend T::Sig
|
31
|
+
|
32
|
+
# HTTP response content type for this operation
|
33
|
+
field :content_type, String
|
34
|
+
# HTTP response status code for this operation
|
35
|
+
field :status_code, Integer
|
36
|
+
# Raw HTTP response; suitable for custom response parsing
|
37
|
+
field :raw_response, T.nilable(Faraday::Response)
|
38
|
+
|
39
|
+
|
40
|
+
sig { params(content_type: String, status_code: Integer, raw_response: T.nilable(Faraday::Response)).void }
|
41
|
+
def initialize(content_type: nil, status_code: nil, raw_response: nil)
|
42
|
+
@content_type = content_type
|
43
|
+
@status_code = status_code
|
44
|
+
@raw_response = raw_response
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -24,7 +24,7 @@ module Livepeer
|
|
24
24
|
end
|
25
25
|
|
26
26
|
# Success
|
27
|
-
class
|
27
|
+
class RequestUploadResponseBody < Livepeer::Utils::FieldAugmented
|
28
28
|
extend T::Sig
|
29
29
|
|
30
30
|
|
@@ -55,16 +55,16 @@ module Livepeer
|
|
55
55
|
# HTTP response status code for this operation
|
56
56
|
field :status_code, Integer
|
57
57
|
# Success
|
58
|
-
field :
|
58
|
+
field :object, T.nilable(Operations::RequestUploadResponseBody)
|
59
59
|
# Raw HTTP response; suitable for custom response parsing
|
60
60
|
field :raw_response, T.nilable(Faraday::Response)
|
61
61
|
|
62
62
|
|
63
|
-
sig { params(content_type: String, status_code: Integer,
|
64
|
-
def initialize(content_type: nil, status_code: nil,
|
63
|
+
sig { params(content_type: String, status_code: Integer, object: T.nilable(Operations::RequestUploadResponseBody), raw_response: T.nilable(Faraday::Response)).void }
|
64
|
+
def initialize(content_type: nil, status_code: nil, object: nil, raw_response: nil)
|
65
65
|
@content_type = content_type
|
66
66
|
@status_code = status_code
|
67
|
-
@
|
67
|
+
@object = object
|
68
68
|
@raw_response = raw_response
|
69
69
|
end
|
70
70
|
end
|
@@ -0,0 +1,45 @@
|
|
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 Operations
|
11
|
+
|
12
|
+
class TerminateStreamRequest < Livepeer::Utils::FieldAugmented
|
13
|
+
extend T::Sig
|
14
|
+
|
15
|
+
# ID of the stream
|
16
|
+
field :id, String, { 'path_param': { 'field_name': 'id', 'style': 'simple', 'explode': false } }
|
17
|
+
|
18
|
+
|
19
|
+
sig { params(id: String).void }
|
20
|
+
def initialize(id: nil)
|
21
|
+
@id = id
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
|
26
|
+
class TerminateStreamResponse < Livepeer::Utils::FieldAugmented
|
27
|
+
extend T::Sig
|
28
|
+
|
29
|
+
# HTTP response content type for this operation
|
30
|
+
field :content_type, String
|
31
|
+
# HTTP response status code for this operation
|
32
|
+
field :status_code, Integer
|
33
|
+
# Raw HTTP response; suitable for custom response parsing
|
34
|
+
field :raw_response, T.nilable(Faraday::Response)
|
35
|
+
|
36
|
+
|
37
|
+
sig { params(content_type: String, status_code: Integer, raw_response: T.nilable(Faraday::Response)).void }
|
38
|
+
def initialize(content_type: nil, status_code: nil, raw_response: nil)
|
39
|
+
@content_type = content_type
|
40
|
+
@status_code = status_code
|
41
|
+
@raw_response = raw_response
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -11,7 +11,7 @@ require_relative '../shared/asset'
|
|
11
11
|
module Livepeer
|
12
12
|
module Operations
|
13
13
|
|
14
|
-
class
|
14
|
+
class UpdateAssetRequest < Livepeer::Utils::FieldAugmented
|
15
15
|
extend T::Sig
|
16
16
|
|
17
17
|
|
@@ -28,7 +28,7 @@ module Livepeer
|
|
28
28
|
end
|
29
29
|
|
30
30
|
|
31
|
-
class
|
31
|
+
class UpdateAssetResponse < Livepeer::Utils::FieldAugmented
|
32
32
|
extend T::Sig
|
33
33
|
|
34
34
|
# HTTP response content type for this operation
|
@@ -24,7 +24,7 @@ module Livepeer
|
|
24
24
|
end
|
25
25
|
|
26
26
|
# Success
|
27
|
-
class
|
27
|
+
class UploadAssetViaURLResponseBody < Livepeer::Utils::FieldAugmented
|
28
28
|
extend T::Sig
|
29
29
|
|
30
30
|
|
@@ -49,16 +49,16 @@ module Livepeer
|
|
49
49
|
# HTTP response status code for this operation
|
50
50
|
field :status_code, Integer
|
51
51
|
# Success
|
52
|
-
field :
|
52
|
+
field :object, T.nilable(Operations::UploadAssetViaURLResponseBody)
|
53
53
|
# Raw HTTP response; suitable for custom response parsing
|
54
54
|
field :raw_response, T.nilable(Faraday::Response)
|
55
55
|
|
56
56
|
|
57
|
-
sig { params(content_type: String, status_code: Integer,
|
58
|
-
def initialize(content_type: nil, status_code: nil,
|
57
|
+
sig { params(content_type: String, status_code: Integer, object: T.nilable(Operations::UploadAssetViaURLResponseBody), raw_response: T.nilable(Faraday::Response)).void }
|
58
|
+
def initialize(content_type: nil, status_code: nil, object: nil, raw_response: nil)
|
59
59
|
@content_type = content_type
|
60
60
|
@status_code = status_code
|
61
|
-
@
|
61
|
+
@object = object
|
62
62
|
@raw_response = raw_response
|
63
63
|
end
|
64
64
|
end
|
@@ -20,11 +20,11 @@ module Livepeer
|
|
20
20
|
end
|
21
21
|
|
22
22
|
|
23
|
-
#
|
23
|
+
# NftMetadataTemplate - Name of the NFT metadata template to export. 'player'
|
24
24
|
# will embed the Livepeer Player on the NFT while 'file'
|
25
25
|
# will reference only the immutable MP4 files.
|
26
26
|
#
|
27
|
-
class
|
27
|
+
class NftMetadataTemplate < T::Enum
|
28
28
|
enums do
|
29
29
|
FILE = new('file')
|
30
30
|
PLAYER = new('player')
|
@@ -36,7 +36,7 @@ module Livepeer
|
|
36
36
|
# IPFS. Will be deep merged with the default metadata
|
37
37
|
# exported.
|
38
38
|
#
|
39
|
-
class
|
39
|
+
class NftMetadata < Livepeer::Utils::FieldAugmented
|
40
40
|
extend T::Sig
|
41
41
|
|
42
42
|
|
@@ -53,15 +53,15 @@ module Livepeer
|
|
53
53
|
# IPFS. Will be deep merged with the default metadata
|
54
54
|
# exported.
|
55
55
|
#
|
56
|
-
field :nft_metadata, T.nilable(Shared::
|
56
|
+
field :nft_metadata, T.nilable(Shared::NftMetadata), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('nftMetadata') } }
|
57
57
|
# Name of the NFT metadata template to export. 'player'
|
58
58
|
# will embed the Livepeer Player on the NFT while 'file'
|
59
59
|
# will reference only the immutable MP4 files.
|
60
60
|
#
|
61
|
-
field :nft_metadata_template, T.nilable(Shared::
|
61
|
+
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) } }
|
62
62
|
|
63
63
|
|
64
|
-
sig { params(nft_metadata: T.nilable(Shared::
|
64
|
+
sig { params(nft_metadata: T.nilable(Shared::NftMetadata), nft_metadata_template: T.nilable(Shared::NftMetadataTemplate)).void }
|
65
65
|
def initialize(nft_metadata: nil, nft_metadata_template: nil)
|
66
66
|
@nft_metadata = nft_metadata
|
67
67
|
@nft_metadata_template = nft_metadata_template
|
@@ -72,10 +72,8 @@ module Livepeer
|
|
72
72
|
class Ipfs < Livepeer::Utils::FieldAugmented
|
73
73
|
extend T::Sig
|
74
74
|
|
75
|
-
|
76
|
-
field :
|
77
|
-
# URL to access file via HTTP through an IPFS gateway
|
78
|
-
field :gateway_url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('gatewayUrl') } }
|
75
|
+
|
76
|
+
field :dollar_ref, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('$ref') } }
|
79
77
|
|
80
78
|
field :nft_metadata, T.nilable(Shared::IpfsFileInfo), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('nftMetadata') } }
|
81
79
|
|
@@ -84,18 +82,14 @@ module Livepeer
|
|
84
82
|
# updated
|
85
83
|
#
|
86
84
|
field :updated_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updatedAt') } }
|
87
|
-
# URL with IPFS scheme for the file
|
88
|
-
field :url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
|
89
85
|
|
90
86
|
|
91
|
-
sig { params(
|
92
|
-
def initialize(
|
93
|
-
@
|
94
|
-
@gateway_url = gateway_url
|
87
|
+
sig { params(dollar_ref: T.nilable(Object), nft_metadata: T.nilable(Shared::IpfsFileInfo), spec: T.nilable(Shared::AssetSpec), updated_at: T.nilable(Float)).void }
|
88
|
+
def initialize(dollar_ref: nil, nft_metadata: nil, spec: nil, updated_at: nil)
|
89
|
+
@dollar_ref = dollar_ref
|
95
90
|
@nft_metadata = nft_metadata
|
96
91
|
@spec = spec
|
97
92
|
@updated_at = updated_at
|
98
|
-
@url = url
|
99
93
|
end
|
100
94
|
end
|
101
95
|
|
@@ -103,23 +103,17 @@ module Livepeer
|
|
103
103
|
class AttestationIpfs < Livepeer::Utils::FieldAugmented
|
104
104
|
extend T::Sig
|
105
105
|
|
106
|
-
|
107
|
-
field :
|
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') } }
|
106
|
+
|
107
|
+
field :dollar_ref, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('$ref') } }
|
110
108
|
# Timestamp (in milliseconds) at which IPFS export task was updated
|
111
109
|
#
|
112
110
|
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
111
|
|
116
112
|
|
117
|
-
sig { params(
|
118
|
-
def initialize(
|
119
|
-
@
|
120
|
-
@gateway_url = gateway_url
|
113
|
+
sig { params(dollar_ref: T.nilable(Object), updated_at: T.nilable(Float)).void }
|
114
|
+
def initialize(dollar_ref: nil, updated_at: nil)
|
115
|
+
@dollar_ref = dollar_ref
|
121
116
|
@updated_at = updated_at
|
122
|
-
@url = url
|
123
117
|
end
|
124
118
|
end
|
125
119
|
|
@@ -12,14 +12,10 @@ module Livepeer
|
|
12
12
|
class Encryption < Livepeer::Utils::FieldAugmented
|
13
13
|
extend T::Sig
|
14
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
15
|
|
18
16
|
|
19
|
-
|
20
|
-
def initialize
|
21
|
-
@encrypted_key = encrypted_key
|
22
|
-
end
|
17
|
+
|
18
|
+
def initialize; end
|
23
19
|
end
|
24
20
|
end
|
25
21
|
end
|
@@ -52,10 +52,13 @@ module Livepeer
|
|
52
52
|
field :gop, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('gop') } }
|
53
53
|
|
54
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
|
+
# Restricts the size of the output video using the constant quality feature. Increasing this value will result in a lower quality video. Note that this parameter might not work if the transcoder lacks support for it.
|
56
|
+
#
|
57
|
+
field :quality, T.nilable(Integer), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('quality') } }
|
55
58
|
|
56
59
|
|
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)
|
60
|
+
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), quality: T.nilable(Integer)).void }
|
61
|
+
def initialize(bitrate: nil, fps: nil, height: nil, name: nil, width: nil, encoder: nil, fps_den: nil, gop: nil, profile: nil, quality: nil)
|
59
62
|
@bitrate = bitrate
|
60
63
|
@fps = fps
|
61
64
|
@height = height
|
@@ -65,6 +68,7 @@ module Livepeer
|
|
65
68
|
@fps_den = fps_den
|
66
69
|
@gop = gop
|
67
70
|
@profile = profile
|
71
|
+
@quality = quality
|
68
72
|
end
|
69
73
|
end
|
70
74
|
end
|
@@ -5,8 +5,6 @@
|
|
5
5
|
|
6
6
|
require 'sorbet-runtime'
|
7
7
|
require 'faraday'
|
8
|
-
require_relative '../shared/nftmetadatatemplate'
|
9
|
-
require_relative '../shared/nftmetadata'
|
10
8
|
|
11
9
|
module Livepeer
|
12
10
|
module Shared
|
@@ -14,26 +12,17 @@ module Livepeer
|
|
14
12
|
class IpfsExportParams < Livepeer::Utils::FieldAugmented
|
15
13
|
extend T::Sig
|
16
14
|
|
17
|
-
|
18
|
-
|
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) } }
|
15
|
+
|
16
|
+
field :dollar_ref, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('$ref') } }
|
27
17
|
# Custom credentials for the Piñata service. Must have either
|
28
18
|
# a JWT or an API key and an API secret.
|
29
19
|
#
|
30
20
|
field :pinata, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('pinata') } }
|
31
21
|
|
32
22
|
|
33
|
-
sig { params(
|
34
|
-
def initialize(
|
35
|
-
@
|
36
|
-
@nft_metadata_template = nft_metadata_template
|
23
|
+
sig { params(dollar_ref: T.nilable(Object), pinata: T.nilable(Object)).void }
|
24
|
+
def initialize(dollar_ref: nil, pinata: nil)
|
25
|
+
@dollar_ref = dollar_ref
|
37
26
|
@pinata = pinata
|
38
27
|
end
|
39
28
|
end
|
@@ -8,54 +8,6 @@ require 'faraday'
|
|
8
8
|
|
9
9
|
module Livepeer
|
10
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
11
|
|
60
12
|
class Multistream < Livepeer::Utils::FieldAugmented
|
61
13
|
extend T::Sig
|
@@ -63,10 +15,10 @@ module Livepeer
|
|
63
15
|
# References to targets where this stream will be simultaneously
|
64
16
|
# streamed to
|
65
17
|
#
|
66
|
-
field :targets, T.nilable(T::Array[Shared::
|
18
|
+
field :targets, T.nilable(T::Array[Shared::Target]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('targets') } }
|
67
19
|
|
68
20
|
|
69
|
-
sig { params(targets: T.nilable(T::Array[Shared::
|
21
|
+
sig { params(targets: T.nilable(T::Array[Shared::Target])).void }
|
70
22
|
def initialize(targets: nil)
|
71
23
|
@targets = targets
|
72
24
|
end
|
@@ -12,7 +12,9 @@ module Livepeer
|
|
12
12
|
class MultistreamTarget < Livepeer::Utils::FieldAugmented
|
13
13
|
extend T::Sig
|
14
14
|
|
15
|
-
# Timestamp (in milliseconds) at which multistream target object was
|
15
|
+
# Timestamp (in milliseconds) at which multistream target object was
|
16
|
+
# created
|
17
|
+
#
|
16
18
|
field :created_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('createdAt') } }
|
17
19
|
# If true then this multistream target will not be used for pushing
|
18
20
|
# even if it is configured in a stream object.
|
@@ -48,6 +48,8 @@ module Livepeer
|
|
48
48
|
# custom name or title
|
49
49
|
#
|
50
50
|
field :name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
51
|
+
# Decides if the output video should include C2PA signature
|
52
|
+
field :c2pa, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('c2pa') } }
|
51
53
|
|
52
54
|
field :creator_id, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('creatorId') } }
|
53
55
|
|
@@ -59,14 +61,17 @@ module Livepeer
|
|
59
61
|
|
60
62
|
field :storage, T.nilable(Shared::NewAssetPayloadStorage), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('storage') } }
|
61
63
|
# URL where the asset contents can be retrieved. Only allowed (and
|
62
|
-
# also required) in the upload asset via URL endpoint.
|
64
|
+
# also required) in the upload asset via URL endpoint. For an IPFS
|
65
|
+
# source, this should be similar to: `ipfs://{CID}`. For an Arweave
|
66
|
+
# source: `ar://{CID}`.
|
63
67
|
#
|
64
68
|
field :url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
|
65
69
|
|
66
70
|
|
67
|
-
sig { params(name: String, creator_id: T.nilable(Object), encryption: T.nilable(Shared::NewAssetPayloadEncryption), playback_policy: T.nilable(Shared::PlaybackPolicy), static_mp4: T.nilable(T::Boolean), storage: T.nilable(Shared::NewAssetPayloadStorage), url: T.nilable(String)).void }
|
68
|
-
def initialize(name: nil, creator_id: nil, encryption: nil, playback_policy: nil, static_mp4: nil, storage: nil, url: nil)
|
71
|
+
sig { params(name: String, c2pa: T.nilable(T::Boolean), creator_id: T.nilable(Object), encryption: T.nilable(Shared::NewAssetPayloadEncryption), playback_policy: T.nilable(Shared::PlaybackPolicy), static_mp4: T.nilable(T::Boolean), storage: T.nilable(Shared::NewAssetPayloadStorage), url: T.nilable(String)).void }
|
72
|
+
def initialize(name: nil, c2pa: nil, creator_id: nil, encryption: nil, playback_policy: nil, static_mp4: nil, storage: nil, url: nil)
|
69
73
|
@name = name
|
74
|
+
@c2pa = c2pa
|
70
75
|
@creator_id = creator_id
|
71
76
|
@encryption = encryption
|
72
77
|
@playback_policy = playback_policy
|