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
         |