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
@@ -20,12 +20,14 @@ module Livepeer
|
|
20
20
|
end
|
21
21
|
|
22
22
|
|
23
|
-
|
23
|
+
# Hrn - Human Readable Name
|
24
24
|
class Hrn < T::Enum
|
25
25
|
enums do
|
26
26
|
HLS_TS_ = new('HLS (TS)')
|
27
27
|
MP4 = new('MP4')
|
28
28
|
WEB_RTC_H264_ = new('WebRTC (H264)')
|
29
|
+
THUMBNAIL_JPEG_ = new('Thumbnail (JPEG)')
|
30
|
+
THUMBNAILS = new('Thumbnails')
|
29
31
|
end
|
30
32
|
end
|
31
33
|
|
@@ -36,6 +38,8 @@ module Livepeer
|
|
36
38
|
HTML5_APPLICATION_VND_APPLE_MPEGURL = new('html5/application/vnd.apple.mpegurl')
|
37
39
|
HTML5_VIDEO_MP4 = new('html5/video/mp4')
|
38
40
|
HTML5_VIDEO_H264 = new('html5/video/h264')
|
41
|
+
IMAGE_JPEG = new('image/jpeg')
|
42
|
+
TEXT_VTT = new('text/vtt')
|
39
43
|
end
|
40
44
|
end
|
41
45
|
|
@@ -44,7 +48,7 @@ module Livepeer
|
|
44
48
|
class Source < Livepeer::Utils::FieldAugmented
|
45
49
|
extend T::Sig
|
46
50
|
|
47
|
-
|
51
|
+
# Human Readable Name
|
48
52
|
field :hrn, Shared::Hrn, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('hrn'), 'decoder': Utils.enum_from_string(Shared::Hrn, false) } }
|
49
53
|
|
50
54
|
field :type, Shared::PlaybackInfoSchemasType, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Shared::PlaybackInfoSchemasType, false) } }
|
@@ -73,6 +77,45 @@ module Livepeer
|
|
73
77
|
end
|
74
78
|
|
75
79
|
|
80
|
+
class PlaybackInfoHrn < T::Enum
|
81
|
+
enums do
|
82
|
+
HLS_TS_ = new('HLS (TS)')
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
class PlaybackInfoSchemasMetaType < T::Enum
|
89
|
+
enums do
|
90
|
+
HTML5_APPLICATION_VND_APPLE_MPEGURL = new('html5/application/vnd.apple.mpegurl')
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
class DvrPlayback < Livepeer::Utils::FieldAugmented
|
97
|
+
extend T::Sig
|
98
|
+
|
99
|
+
|
100
|
+
field :error, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('error') } }
|
101
|
+
|
102
|
+
field :hrn, T.nilable(Shared::PlaybackInfoHrn), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('hrn'), 'decoder': Utils.enum_from_string(Shared::PlaybackInfoHrn, true) } }
|
103
|
+
|
104
|
+
field :type, T.nilable(Shared::PlaybackInfoSchemasMetaType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Shared::PlaybackInfoSchemasMetaType, true) } }
|
105
|
+
|
106
|
+
field :url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
|
107
|
+
|
108
|
+
|
109
|
+
sig { params(error: T.nilable(String), hrn: T.nilable(Shared::PlaybackInfoHrn), type: T.nilable(Shared::PlaybackInfoSchemasMetaType), url: T.nilable(String)).void }
|
110
|
+
def initialize(error: nil, hrn: nil, type: nil, url: nil)
|
111
|
+
@error = error
|
112
|
+
@hrn = hrn
|
113
|
+
@type = type
|
114
|
+
@url = url
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
|
76
119
|
class Meta < Livepeer::Utils::FieldAugmented
|
77
120
|
extend T::Sig
|
78
121
|
|
@@ -81,15 +124,18 @@ module Livepeer
|
|
81
124
|
|
82
125
|
field :attestation, T.nilable(Shared::Attestation), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('attestation') } }
|
83
126
|
|
127
|
+
field :dvr_playback, T.nilable(T::Array[Shared::DvrPlayback]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('dvrPlayback') } }
|
128
|
+
|
84
129
|
field :live, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('live') } }
|
85
130
|
# Whether the playback policy for a asset or stream is public or signed
|
86
131
|
field :playback_policy, T.nilable(Shared::PlaybackPolicy), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackPolicy') } }
|
87
132
|
|
88
133
|
|
89
|
-
sig { params(source: T::Array[Shared::Source], attestation: T.nilable(Shared::Attestation), live: T.nilable(Float), playback_policy: T.nilable(Shared::PlaybackPolicy)).void }
|
90
|
-
def initialize(source: nil, attestation: nil, live: nil, playback_policy: nil)
|
134
|
+
sig { params(source: T::Array[Shared::Source], attestation: T.nilable(Shared::Attestation), dvr_playback: T.nilable(T::Array[Shared::DvrPlayback]), live: T.nilable(Float), playback_policy: T.nilable(Shared::PlaybackPolicy)).void }
|
135
|
+
def initialize(source: nil, attestation: nil, dvr_playback: nil, live: nil, playback_policy: nil)
|
91
136
|
@source = source
|
92
137
|
@attestation = attestation
|
138
|
+
@dvr_playback = dvr_playback
|
93
139
|
@live = live
|
94
140
|
@playback_policy = playback_policy
|
95
141
|
end
|
@@ -24,7 +24,7 @@ module Livepeer
|
|
24
24
|
|
25
25
|
|
26
26
|
field :name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
27
|
-
# Timestamp (in milliseconds) at which
|
27
|
+
# Timestamp (in milliseconds) at which stream object was created
|
28
28
|
field :created_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('createdAt') } }
|
29
29
|
|
30
30
|
field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
@@ -42,9 +42,9 @@ module Livepeer
|
|
42
42
|
field :mp4_url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('mp4Url') } }
|
43
43
|
# Rate at which transcodedBytes increases (bytes/second)
|
44
44
|
field :outgoing_rate, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('outgoingRate') } }
|
45
|
-
# Points to
|
45
|
+
# Points to parent stream object
|
46
46
|
field :parent_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('parentId') } }
|
47
|
-
# Used to form
|
47
|
+
# Used to form playback URL
|
48
48
|
field :playback_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackId') } }
|
49
49
|
|
50
50
|
field :profiles, T.nilable(T::Array[Shared::FfmpegProfile]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('profiles') } }
|
@@ -10,40 +10,16 @@ require_relative '../shared/playback_policy'
|
|
10
10
|
module Livepeer
|
11
11
|
module Shared
|
12
12
|
|
13
|
-
class StreamTargets < Livepeer::Utils::FieldAugmented
|
14
|
-
extend T::Sig
|
15
|
-
|
16
|
-
# Name of the transcoding profile that should be sent. Use
|
17
|
-
# "source" for pushing the source stream data
|
18
|
-
#
|
19
|
-
field :profile, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('profile') } }
|
20
|
-
# ID of the multistream target object where to push this stream
|
21
|
-
field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
22
|
-
# If true, the stream audio will be muted, and only silent
|
23
|
-
# video will be pushed to the target.
|
24
|
-
#
|
25
|
-
field :video_only, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('videoOnly') } }
|
26
|
-
|
27
|
-
|
28
|
-
sig { params(profile: String, id: T.nilable(String), video_only: T.nilable(T::Boolean)).void }
|
29
|
-
def initialize(profile: nil, id: nil, video_only: nil)
|
30
|
-
@profile = profile
|
31
|
-
@id = id
|
32
|
-
@video_only = video_only
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
|
37
13
|
class StreamMultistream < Livepeer::Utils::FieldAugmented
|
38
14
|
extend T::Sig
|
39
15
|
|
40
16
|
# References to targets where this stream will be simultaneously
|
41
17
|
# streamed to
|
42
18
|
#
|
43
|
-
field :targets, T.nilable(T::Array[Shared::
|
19
|
+
field :targets, T.nilable(T::Array[Shared::TargetOutput]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('targets') } }
|
44
20
|
|
45
21
|
|
46
|
-
sig { params(targets: T.nilable(T::Array[Shared::
|
22
|
+
sig { params(targets: T.nilable(T::Array[Shared::TargetOutput])).void }
|
47
23
|
def initialize(targets: nil)
|
48
24
|
@targets = targets
|
49
25
|
end
|
@@ -55,7 +31,7 @@ module Livepeer
|
|
55
31
|
|
56
32
|
|
57
33
|
field :name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
58
|
-
# Timestamp (in milliseconds) at which
|
34
|
+
# Timestamp (in milliseconds) at which stream object was created
|
59
35
|
field :created_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('createdAt') } }
|
60
36
|
# Name of the token used to create this object
|
61
37
|
field :created_by_token_name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('createdByTokenName') } }
|
@@ -79,7 +55,7 @@ module Livepeer
|
|
79
55
|
field :multistream, T.nilable(Shared::StreamMultistream), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('multistream') } }
|
80
56
|
# Rate at which transcodedBytes increases (bytes/second)
|
81
57
|
field :outgoing_rate, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('outgoingRate') } }
|
82
|
-
# Points to
|
58
|
+
# Points to parent stream object
|
83
59
|
field :parent_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('parentId') } }
|
84
60
|
# Used to form playback URL
|
85
61
|
field :playback_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackId') } }
|
@@ -97,7 +73,7 @@ module Livepeer
|
|
97
73
|
field :source_segments, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('sourceSegments') } }
|
98
74
|
# Duration of all the source segments, sec
|
99
75
|
field :source_segments_duration, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('sourceSegmentsDuration') } }
|
100
|
-
# Used to form
|
76
|
+
# Used to form RTMP ingest URL
|
101
77
|
field :stream_key, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('streamKey') } }
|
102
78
|
# If currently suspended
|
103
79
|
field :suspended, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('suspended') } }
|
@@ -20,6 +20,8 @@ module Livepeer
|
|
20
20
|
field :multistream, T.nilable(Shared::Multistream), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('multistream') } }
|
21
21
|
# Whether the playback policy for a asset or stream is public or signed
|
22
22
|
field :playback_policy, T.nilable(Shared::PlaybackPolicy), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackPolicy') } }
|
23
|
+
|
24
|
+
field :profiles, T.nilable(T::Array[Shared::FfmpegProfile]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('profiles') } }
|
23
25
|
# Should this stream be recorded? Uses default settings. For more
|
24
26
|
# customization, create and configure an object store.
|
25
27
|
#
|
@@ -28,11 +30,12 @@ module Livepeer
|
|
28
30
|
field :suspended, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('suspended') } }
|
29
31
|
|
30
32
|
|
31
|
-
sig { params(creator_id: T.nilable(Object), multistream: T.nilable(Shared::Multistream), playback_policy: T.nilable(Shared::PlaybackPolicy), record: T.nilable(T::Boolean), suspended: T.nilable(T::Boolean)).void }
|
32
|
-
def initialize(creator_id: nil, multistream: nil, playback_policy: nil, record: nil, suspended: nil)
|
33
|
+
sig { params(creator_id: T.nilable(Object), multistream: T.nilable(Shared::Multistream), playback_policy: T.nilable(Shared::PlaybackPolicy), profiles: T.nilable(T::Array[Shared::FfmpegProfile]), record: T.nilable(T::Boolean), suspended: T.nilable(T::Boolean)).void }
|
34
|
+
def initialize(creator_id: nil, multistream: nil, playback_policy: nil, profiles: nil, record: nil, suspended: nil)
|
33
35
|
@creator_id = creator_id
|
34
36
|
@multistream = multistream
|
35
37
|
@playback_policy = playback_policy
|
38
|
+
@profiles = profiles
|
36
39
|
@record = record
|
37
40
|
@suspended = suspended
|
38
41
|
end
|
@@ -0,0 +1,61 @@
|
|
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
|
13
|
+
# stream.
|
14
|
+
#
|
15
|
+
class Spec < Livepeer::Utils::FieldAugmented
|
16
|
+
extend T::Sig
|
17
|
+
|
18
|
+
# Livepeer-compatible multistream target URL (RTMP(S) or SRT)
|
19
|
+
field :url, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
|
20
|
+
|
21
|
+
field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
22
|
+
|
23
|
+
|
24
|
+
sig { params(url: String, name: T.nilable(String)).void }
|
25
|
+
def initialize(url: nil, name: nil)
|
26
|
+
@url = url
|
27
|
+
@name = name
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
class Target < Livepeer::Utils::FieldAugmented
|
33
|
+
extend T::Sig
|
34
|
+
|
35
|
+
# Name of transcoding profile that should be sent. Use
|
36
|
+
# "source" for pushing source stream data
|
37
|
+
#
|
38
|
+
field :profile, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('profile') } }
|
39
|
+
# ID of multistream target object where to push this stream
|
40
|
+
field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
41
|
+
# Inline multistream target object. Will automatically
|
42
|
+
# create the target resource to be used by the created
|
43
|
+
# stream.
|
44
|
+
#
|
45
|
+
field :spec, T.nilable(Shared::Spec), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('spec') } }
|
46
|
+
# If true, the stream audio will be muted and only silent
|
47
|
+
# video will be pushed to the target.
|
48
|
+
#
|
49
|
+
field :video_only, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('videoOnly') } }
|
50
|
+
|
51
|
+
|
52
|
+
sig { params(profile: String, id: T.nilable(String), spec: T.nilable(Shared::Spec), video_only: T.nilable(T::Boolean)).void }
|
53
|
+
def initialize(profile: nil, id: nil, spec: nil, video_only: nil)
|
54
|
+
@profile = profile
|
55
|
+
@id = id
|
56
|
+
@spec = spec
|
57
|
+
@video_only = video_only
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,61 @@
|
|
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
|
13
|
+
# stream.
|
14
|
+
#
|
15
|
+
class TargetAddPayloadSpec < Livepeer::Utils::FieldAugmented
|
16
|
+
extend T::Sig
|
17
|
+
|
18
|
+
# Livepeer-compatible multistream target URL (RTMP(S) or SRT)
|
19
|
+
field :url, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
|
20
|
+
|
21
|
+
field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
22
|
+
|
23
|
+
|
24
|
+
sig { params(url: String, name: T.nilable(String)).void }
|
25
|
+
def initialize(url: nil, name: nil)
|
26
|
+
@url = url
|
27
|
+
@name = name
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
class TargetAddPayload < Livepeer::Utils::FieldAugmented
|
33
|
+
extend T::Sig
|
34
|
+
|
35
|
+
# Name of transcoding profile that should be sent. Use
|
36
|
+
# "source" for pushing source stream data
|
37
|
+
#
|
38
|
+
field :profile, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('profile') } }
|
39
|
+
# ID of multistream target object where to push this stream
|
40
|
+
field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
41
|
+
# Inline multistream target object. Will automatically
|
42
|
+
# create the target resource to be used by the created
|
43
|
+
# stream.
|
44
|
+
#
|
45
|
+
field :spec, T.nilable(Shared::TargetAddPayloadSpec), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('spec') } }
|
46
|
+
# If true, the stream audio will be muted and only silent
|
47
|
+
# video will be pushed to the target.
|
48
|
+
#
|
49
|
+
field :video_only, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('videoOnly') } }
|
50
|
+
|
51
|
+
|
52
|
+
sig { params(profile: String, id: T.nilable(String), spec: T.nilable(Shared::TargetAddPayloadSpec), video_only: T.nilable(T::Boolean)).void }
|
53
|
+
def initialize(profile: nil, id: nil, spec: nil, video_only: nil)
|
54
|
+
@profile = profile
|
55
|
+
@id = id
|
56
|
+
@spec = spec
|
57
|
+
@video_only = video_only
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,35 @@
|
|
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 TargetOutput < Livepeer::Utils::FieldAugmented
|
13
|
+
extend T::Sig
|
14
|
+
|
15
|
+
# Name of transcoding profile that should be sent. Use
|
16
|
+
# "source" for pushing source stream data
|
17
|
+
#
|
18
|
+
field :profile, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('profile') } }
|
19
|
+
# ID of multistream target object where to push this stream
|
20
|
+
field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
21
|
+
# If true, the stream audio will be muted and only silent
|
22
|
+
# video will be pushed to the target.
|
23
|
+
#
|
24
|
+
field :video_only, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('videoOnly') } }
|
25
|
+
|
26
|
+
|
27
|
+
sig { params(profile: String, id: T.nilable(String), video_only: T.nilable(T::Boolean)).void }
|
28
|
+
def initialize(profile: nil, id: nil, video_only: nil)
|
29
|
+
@profile = profile
|
30
|
+
@id = id
|
31
|
+
@video_only = video_only
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|