livepeer 0.0.1 → 0.0.2
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 +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
|