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
@@ -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
|