mux_ruby 3.9.0 → 3.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CODEOWNERS +1 -1
- data/Gemfile.lock +2 -2
- data/README.md +4 -4
- data/docs/Asset.md +7 -1
- data/docs/AssetGeneratedSubtitleSettings.md +22 -0
- data/docs/AssetNonStandardInputReasons.md +3 -1
- data/docs/AssetsApi.md +1 -1
- data/docs/CreateAssetRequest.md +5 -1
- data/docs/CreateLiveStreamRequest.md +3 -3
- data/docs/CreateTrackRequest.md +2 -2
- data/docs/DeliveryReport.md +2 -0
- data/docs/DeliveryReportDeliveredSecondsByResolution.md +5 -1
- data/docs/DirectUploadsApi.md +1 -1
- data/docs/GetMonitoringBreakdownTimeseriesResponse.md +22 -0
- data/docs/InputSettings.md +7 -5
- data/docs/LiveStream.md +4 -4
- data/docs/MetricsApi.md +2 -2
- data/docs/MonitoringApi.md +93 -6
- data/docs/MonitoringBreakdownTimeseriesDatapoint.md +22 -0
- data/docs/MonitoringBreakdownTimeseriesValues.md +20 -0
- data/docs/RealTimeApi.md +8 -6
- data/docs/SigningKeysApi.md +291 -0
- data/docs/Track.md +4 -4
- data/docs/URLSigningKeysApi.md +4 -4
- data/docs/UpdateLiveStreamRequest.md +1 -1
- data/docs/VideoView.md +33 -1
- data/examples/video/exercise-signing-keys.rb +5 -4
- data/gen/generator-config.json +1 -1
- data/gen/package.json +1 -1
- data/gen/yarn.lock +593 -129
- data/lib/mux_ruby/api/assets_api.rb +2 -2
- data/lib/mux_ruby/api/direct_uploads_api.rb +2 -2
- data/lib/mux_ruby/api/metrics_api.rb +9 -9
- data/lib/mux_ruby/api/monitoring_api.rb +110 -9
- data/lib/mux_ruby/api/real_time_api.rb +9 -6
- data/lib/mux_ruby/api/signing_keys_api.rb +266 -0
- data/lib/mux_ruby/api/url_signing_keys_api.rb +8 -8
- data/lib/mux_ruby/models/asset.rb +68 -2
- data/lib/mux_ruby/models/asset_generated_subtitle_settings.rb +275 -0
- data/lib/mux_ruby/models/asset_non_standard_input_reasons.rb +14 -4
- data/lib/mux_ruby/models/create_asset_request.rb +48 -4
- data/lib/mux_ruby/models/create_live_stream_request.rb +3 -3
- data/lib/mux_ruby/models/create_track_request.rb +4 -3
- data/lib/mux_ruby/models/delivery_report.rb +23 -1
- data/lib/mux_ruby/models/delivery_report_delivered_seconds_by_resolution.rb +22 -2
- data/lib/mux_ruby/models/get_monitoring_breakdown_timeseries_response.rb +240 -0
- data/lib/mux_ruby/models/input_settings.rb +18 -6
- data/lib/mux_ruby/models/live_stream.rb +4 -4
- data/lib/mux_ruby/models/live_stream_embedded_subtitle_settings.rb +2 -2
- data/lib/mux_ruby/models/monitoring_breakdown_timeseries_datapoint.rb +236 -0
- data/lib/mux_ruby/models/monitoring_breakdown_timeseries_values.rb +229 -0
- data/lib/mux_ruby/models/track.rb +4 -4
- data/lib/mux_ruby/models/update_live_stream_request.rb +1 -1
- data/lib/mux_ruby/models/video_view.rb +162 -5
- data/lib/mux_ruby/version.rb +1 -1
- data/lib/mux_ruby.rb +5 -0
- data/spec/api/signing_keys_api_spec.rb +83 -0
- data/spec/models/asset_generated_subtitle_settings_spec.rb +50 -0
- data/spec/models/get_monitoring_breakdown_timeseries_response_spec.rb +46 -0
- data/spec/models/monitoring_breakdown_timeseries_datapoint_spec.rb +46 -0
- data/spec/models/monitoring_breakdown_timeseries_values_spec.rb +40 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-11.1.3/byebug/byebug.so +0 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-11.1.3/gem_make.out +6 -6
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/ffi-1.15.5/ffi_c.so +0 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/ffi-1.15.5/gem_make.out +6 -6
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/ffi-1.15.5/mkmf.log +15 -15
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/jaro_winkler-1.5.4/gem_make.out +14 -14
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/jaro_winkler-1.5.4/jaro_winkler/jaro_winkler_ext.so +0 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-4.0.4/gem_make.out +6 -6
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-4.0.4/mkmf.log +4 -4
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-4.0.4/psych.so +0 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.0.2/gem_make.out +6 -6
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.0.2/mkmf.log +2 -2
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.0.2/stringio.so +0 -0
- data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/ext/byebug/Makefile +6 -6
- data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/byebug.so +0 -0
- data/vendor/bundle/ruby/3.2.0/gems/ffi-1.15.5/ext/ffi_c/Makefile +6 -6
- data/vendor/bundle/ruby/3.2.0/gems/ffi-1.15.5/lib/ffi_c.so +0 -0
- data/vendor/bundle/ruby/3.2.0/gems/jaro_winkler-1.5.4/ext/jaro_winkler/Makefile +6 -6
- data/vendor/bundle/ruby/3.2.0/gems/jaro_winkler-1.5.4/lib/jaro_winkler/jaro_winkler_ext.so +0 -0
- data/vendor/bundle/ruby/3.2.0/gems/psych-4.0.4/ext/psych/Makefile +6 -6
- data/vendor/bundle/ruby/3.2.0/gems/psych-4.0.4/lib/psych.so +0 -0
- data/vendor/bundle/ruby/3.2.0/gems/stringio-3.0.2/ext/stringio/Makefile +6 -6
- data/vendor/bundle/ruby/3.2.0/gems/stringio-3.0.2/lib/stringio.so +0 -0
- data/vendor/bundle/ruby/3.2.0/specifications/ast-2.4.2.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/byebug-11.1.3.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/coderay-1.1.3.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/diff-lcs-1.5.0.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/ethon-0.16.0.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/ffi-1.15.5.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/jaro_winkler-1.5.4.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/method_source-1.0.0.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/parallel-1.22.1.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/parser-3.1.2.0.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/pry-0.13.1.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/pry-byebug-3.9.0.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/psych-4.0.4.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/rainbow-3.1.1.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/rake-13.0.6.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/rspec-3.11.0.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/rspec-core-3.11.0.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/rspec-expectations-3.11.0.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/rspec-mocks-3.11.1.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/rspec-support-3.11.0.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/rubocop-0.66.0.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/ruby-progressbar-1.11.0.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/solid_assert-1.1.0.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/stringio-3.0.2.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/typhoeus-1.4.0.gemspec +2 -2
- data/vendor/bundle/ruby/3.2.0/specifications/unicode-display_width-1.5.0.gemspec +2 -2
- metadata +160 -140
@@ -0,0 +1,275 @@
|
|
1
|
+
=begin
|
2
|
+
#Mux API
|
3
|
+
|
4
|
+
#Mux is how developers build online video. This API encompasses both Mux Video and Mux Data functionality to help you build your video-related projects better and faster than ever before.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: v1
|
7
|
+
Contact: devex@mux.com
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 5.0.1
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
require 'time'
|
15
|
+
|
16
|
+
module MuxRuby
|
17
|
+
class AssetGeneratedSubtitleSettings
|
18
|
+
# A name for this subtitle track.
|
19
|
+
attr_accessor :name
|
20
|
+
|
21
|
+
# Arbitrary metadata set for the subtitle track. Max 255 characters.
|
22
|
+
attr_accessor :passthrough
|
23
|
+
|
24
|
+
# The language to generate subtitles in.
|
25
|
+
attr_accessor :language_code
|
26
|
+
|
27
|
+
class EnumAttributeValidator
|
28
|
+
attr_reader :datatype
|
29
|
+
attr_reader :allowable_values
|
30
|
+
|
31
|
+
def initialize(datatype, allowable_values)
|
32
|
+
@allowable_values = allowable_values.map do |value|
|
33
|
+
case datatype.to_s
|
34
|
+
when /Integer/i
|
35
|
+
value.to_i
|
36
|
+
when /Float/i
|
37
|
+
value.to_f
|
38
|
+
else
|
39
|
+
value
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def valid?(value)
|
45
|
+
!value || allowable_values.include?(value)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
50
|
+
def self.attribute_map
|
51
|
+
{
|
52
|
+
:'name' => :'name',
|
53
|
+
:'passthrough' => :'passthrough',
|
54
|
+
:'language_code' => :'language_code'
|
55
|
+
}
|
56
|
+
end
|
57
|
+
|
58
|
+
# Returns all the JSON keys this model knows about
|
59
|
+
def self.acceptable_attributes
|
60
|
+
attribute_map.values
|
61
|
+
end
|
62
|
+
|
63
|
+
# Attribute type mapping.
|
64
|
+
def self.openapi_types
|
65
|
+
{
|
66
|
+
:'name' => :'String',
|
67
|
+
:'passthrough' => :'String',
|
68
|
+
:'language_code' => :'String'
|
69
|
+
}
|
70
|
+
end
|
71
|
+
|
72
|
+
# List of attributes with nullable: true
|
73
|
+
def self.openapi_nullable
|
74
|
+
Set.new([
|
75
|
+
])
|
76
|
+
end
|
77
|
+
|
78
|
+
# Initializes the object
|
79
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
80
|
+
def initialize(attributes = {})
|
81
|
+
if (!attributes.is_a?(Hash))
|
82
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::AssetGeneratedSubtitleSettings` initialize method"
|
83
|
+
end
|
84
|
+
|
85
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
86
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
87
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
88
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::AssetGeneratedSubtitleSettings`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
89
|
+
end
|
90
|
+
h[k.to_sym] = v
|
91
|
+
}
|
92
|
+
|
93
|
+
if attributes.key?(:'name')
|
94
|
+
self.name = attributes[:'name']
|
95
|
+
end
|
96
|
+
|
97
|
+
if attributes.key?(:'passthrough')
|
98
|
+
self.passthrough = attributes[:'passthrough']
|
99
|
+
end
|
100
|
+
|
101
|
+
if attributes.key?(:'language_code')
|
102
|
+
self.language_code = attributes[:'language_code']
|
103
|
+
else
|
104
|
+
self.language_code = 'en'
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
109
|
+
# @return Array for valid properties with the reasons
|
110
|
+
def list_invalid_properties
|
111
|
+
invalid_properties = Array.new
|
112
|
+
invalid_properties
|
113
|
+
end
|
114
|
+
|
115
|
+
# Check to see if the all the properties in the model are valid
|
116
|
+
# @return true if the model is valid
|
117
|
+
def valid?
|
118
|
+
language_code_validator = EnumAttributeValidator.new('String', ["en", "en-US"])
|
119
|
+
return false unless language_code_validator.valid?(@language_code)
|
120
|
+
true
|
121
|
+
end
|
122
|
+
|
123
|
+
# Custom attribute writer method checking allowed values (enum).
|
124
|
+
# @param [Object] language_code Object to be assigned
|
125
|
+
def language_code=(language_code)
|
126
|
+
validator = EnumAttributeValidator.new('String', ["en", "en-US"])
|
127
|
+
unless validator.valid?(language_code)
|
128
|
+
fail ArgumentError, "invalid value for \"language_code\", must be one of #{validator.allowable_values}."
|
129
|
+
end
|
130
|
+
@language_code = language_code
|
131
|
+
end
|
132
|
+
|
133
|
+
# Checks equality by comparing each attribute.
|
134
|
+
# @param [Object] Object to be compared
|
135
|
+
def ==(o)
|
136
|
+
return true if self.equal?(o)
|
137
|
+
self.class == o.class &&
|
138
|
+
name == o.name &&
|
139
|
+
passthrough == o.passthrough &&
|
140
|
+
language_code == o.language_code
|
141
|
+
end
|
142
|
+
|
143
|
+
# @see the `==` method
|
144
|
+
# @param [Object] Object to be compared
|
145
|
+
def eql?(o)
|
146
|
+
self == o
|
147
|
+
end
|
148
|
+
|
149
|
+
# Calculates hash code according to all attributes.
|
150
|
+
# @return [Integer] Hash code
|
151
|
+
def hash
|
152
|
+
[name, passthrough, language_code].hash
|
153
|
+
end
|
154
|
+
|
155
|
+
# Builds the object from hash
|
156
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
157
|
+
# @return [Object] Returns the model itself
|
158
|
+
def self.build_from_hash(attributes)
|
159
|
+
new.build_from_hash(attributes)
|
160
|
+
end
|
161
|
+
|
162
|
+
# Builds the object from hash
|
163
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
164
|
+
# @return [Object] Returns the model itself
|
165
|
+
def build_from_hash(attributes)
|
166
|
+
return nil unless attributes.is_a?(Hash)
|
167
|
+
self.class.openapi_types.each_pair do |key, type|
|
168
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
169
|
+
self.send("#{key}=", nil)
|
170
|
+
elsif type =~ /\AArray<(.*)>/i
|
171
|
+
# check to ensure the input is an array given that the attribute
|
172
|
+
# is documented as an array but the input is not
|
173
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
174
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
175
|
+
end
|
176
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
177
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
181
|
+
self
|
182
|
+
end
|
183
|
+
|
184
|
+
# Deserializes the data based on type
|
185
|
+
# @param string type Data type
|
186
|
+
# @param string value Value to be deserialized
|
187
|
+
# @return [Object] Deserialized data
|
188
|
+
def _deserialize(type, value)
|
189
|
+
case type.to_sym
|
190
|
+
when :Time
|
191
|
+
Time.parse(value)
|
192
|
+
when :Date
|
193
|
+
Date.parse(value)
|
194
|
+
when :String
|
195
|
+
value.to_s
|
196
|
+
when :Integer
|
197
|
+
value.to_i
|
198
|
+
when :Float
|
199
|
+
value.to_f
|
200
|
+
when :Boolean
|
201
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
202
|
+
true
|
203
|
+
else
|
204
|
+
false
|
205
|
+
end
|
206
|
+
when :Object
|
207
|
+
# generic object (usually a Hash), return directly
|
208
|
+
value
|
209
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
210
|
+
inner_type = Regexp.last_match[:inner_type]
|
211
|
+
value.map { |v| _deserialize(inner_type, v) }
|
212
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
213
|
+
k_type = Regexp.last_match[:k_type]
|
214
|
+
v_type = Regexp.last_match[:v_type]
|
215
|
+
{}.tap do |hash|
|
216
|
+
value.each do |k, v|
|
217
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
218
|
+
end
|
219
|
+
end
|
220
|
+
else # model
|
221
|
+
# models (e.g. Pet) or oneOf
|
222
|
+
klass = MuxRuby.const_get(type)
|
223
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
224
|
+
end
|
225
|
+
end
|
226
|
+
|
227
|
+
# Returns the string representation of the object
|
228
|
+
# @return [String] String presentation of the object
|
229
|
+
def to_s
|
230
|
+
to_hash.to_s
|
231
|
+
end
|
232
|
+
|
233
|
+
# to_body is an alias to to_hash (backward compatibility)
|
234
|
+
# @return [Hash] Returns the object in the form of hash
|
235
|
+
def to_body
|
236
|
+
to_hash
|
237
|
+
end
|
238
|
+
|
239
|
+
# Returns the object in the form of hash
|
240
|
+
# @return [Hash] Returns the object in the form of hash
|
241
|
+
def to_hash
|
242
|
+
hash = {}
|
243
|
+
self.class.attribute_map.each_pair do |attr, param|
|
244
|
+
value = self.send(attr)
|
245
|
+
if value.nil?
|
246
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
247
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
248
|
+
end
|
249
|
+
|
250
|
+
hash[param] = _to_hash(value)
|
251
|
+
end
|
252
|
+
hash
|
253
|
+
end
|
254
|
+
|
255
|
+
# Outputs non-array value in the form of hash
|
256
|
+
# For object, use to_hash. Otherwise, just return the value
|
257
|
+
# @param [Object] value Any valid value
|
258
|
+
# @return [Hash] Returns the value in the form of hash
|
259
|
+
def _to_hash(value)
|
260
|
+
if value.is_a?(Array)
|
261
|
+
value.compact.map { |v| _to_hash(v) }
|
262
|
+
elsif value.is_a?(Hash)
|
263
|
+
{}.tap do |hash|
|
264
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
265
|
+
end
|
266
|
+
elsif value.respond_to? :to_hash
|
267
|
+
value.to_hash
|
268
|
+
else
|
269
|
+
value
|
270
|
+
end
|
271
|
+
end
|
272
|
+
|
273
|
+
end
|
274
|
+
|
275
|
+
end
|
@@ -46,6 +46,9 @@ module MuxRuby
|
|
46
46
|
# A catch-all reason when the input file in created with non-standard encoding parameters.
|
47
47
|
attr_accessor :unexpected_media_file_parameters
|
48
48
|
|
49
|
+
# The video pixel format, as a string, returned by libav. Considered non-standard if not one of yuv420p or yuvj420p.
|
50
|
+
attr_accessor :unsupported_pixel_format
|
51
|
+
|
49
52
|
class EnumAttributeValidator
|
50
53
|
attr_reader :datatype
|
51
54
|
attr_reader :allowable_values
|
@@ -80,7 +83,8 @@ module MuxRuby
|
|
80
83
|
:'pixel_aspect_ratio' => :'pixel_aspect_ratio',
|
81
84
|
:'video_edit_list' => :'video_edit_list',
|
82
85
|
:'audio_edit_list' => :'audio_edit_list',
|
83
|
-
:'unexpected_media_file_parameters' => :'unexpected_media_file_parameters'
|
86
|
+
:'unexpected_media_file_parameters' => :'unexpected_media_file_parameters',
|
87
|
+
:'unsupported_pixel_format' => :'unsupported_pixel_format'
|
84
88
|
}
|
85
89
|
end
|
86
90
|
|
@@ -101,7 +105,8 @@ module MuxRuby
|
|
101
105
|
:'pixel_aspect_ratio' => :'String',
|
102
106
|
:'video_edit_list' => :'String',
|
103
107
|
:'audio_edit_list' => :'String',
|
104
|
-
:'unexpected_media_file_parameters' => :'String'
|
108
|
+
:'unexpected_media_file_parameters' => :'String',
|
109
|
+
:'unsupported_pixel_format' => :'String'
|
105
110
|
}
|
106
111
|
end
|
107
112
|
|
@@ -165,6 +170,10 @@ module MuxRuby
|
|
165
170
|
if attributes.key?(:'unexpected_media_file_parameters')
|
166
171
|
self.unexpected_media_file_parameters = attributes[:'unexpected_media_file_parameters']
|
167
172
|
end
|
173
|
+
|
174
|
+
if attributes.key?(:'unsupported_pixel_format')
|
175
|
+
self.unsupported_pixel_format = attributes[:'unsupported_pixel_format']
|
176
|
+
end
|
168
177
|
end
|
169
178
|
|
170
179
|
# Show invalid properties with the reasons. Usually used together with valid?
|
@@ -254,7 +263,8 @@ module MuxRuby
|
|
254
263
|
pixel_aspect_ratio == o.pixel_aspect_ratio &&
|
255
264
|
video_edit_list == o.video_edit_list &&
|
256
265
|
audio_edit_list == o.audio_edit_list &&
|
257
|
-
unexpected_media_file_parameters == o.unexpected_media_file_parameters
|
266
|
+
unexpected_media_file_parameters == o.unexpected_media_file_parameters &&
|
267
|
+
unsupported_pixel_format == o.unsupported_pixel_format
|
258
268
|
end
|
259
269
|
|
260
270
|
# @see the `==` method
|
@@ -266,7 +276,7 @@ module MuxRuby
|
|
266
276
|
# Calculates hash code according to all attributes.
|
267
277
|
# @return [Integer] Hash code
|
268
278
|
def hash
|
269
|
-
[video_codec, audio_codec, video_gop_size, video_frame_rate, video_resolution, video_bitrate, pixel_aspect_ratio, video_edit_list, audio_edit_list, unexpected_media_file_parameters].hash
|
279
|
+
[video_codec, audio_codec, video_gop_size, video_frame_rate, video_resolution, video_bitrate, pixel_aspect_ratio, video_edit_list, audio_edit_list, unexpected_media_file_parameters, unsupported_pixel_format].hash
|
270
280
|
end
|
271
281
|
|
272
282
|
# Builds the object from hash
|
@@ -38,6 +38,12 @@ module MuxRuby
|
|
38
38
|
# Marks the asset as a test asset when the value is set to true. A Test asset can help evaluate the Mux Video APIs without incurring any cost. There is no limit on number of test assets created. Test asset are watermarked with the Mux logo, limited to 10 seconds, deleted after 24 hrs.
|
39
39
|
attr_accessor :test
|
40
40
|
|
41
|
+
# Max resolution tier can be used to control the maximum `resolution_tier` your asset is encoded, stored, and streamed at. If not set, this defaults to `1080p`.
|
42
|
+
attr_accessor :max_resolution_tier
|
43
|
+
|
44
|
+
# The encoding tier informs the cost, quality, and available platform features for the asset. By default the `smart` encoding tier is used.
|
45
|
+
attr_accessor :encoding_tier
|
46
|
+
|
41
47
|
class EnumAttributeValidator
|
42
48
|
attr_reader :datatype
|
43
49
|
attr_reader :allowable_values
|
@@ -70,7 +76,9 @@ module MuxRuby
|
|
70
76
|
:'mp4_support' => :'mp4_support',
|
71
77
|
:'normalize_audio' => :'normalize_audio',
|
72
78
|
:'master_access' => :'master_access',
|
73
|
-
:'test' => :'test'
|
79
|
+
:'test' => :'test',
|
80
|
+
:'max_resolution_tier' => :'max_resolution_tier',
|
81
|
+
:'encoding_tier' => :'encoding_tier'
|
74
82
|
}
|
75
83
|
end
|
76
84
|
|
@@ -89,7 +97,9 @@ module MuxRuby
|
|
89
97
|
:'mp4_support' => :'String',
|
90
98
|
:'normalize_audio' => :'Boolean',
|
91
99
|
:'master_access' => :'String',
|
92
|
-
:'test' => :'Boolean'
|
100
|
+
:'test' => :'Boolean',
|
101
|
+
:'max_resolution_tier' => :'String',
|
102
|
+
:'encoding_tier' => :'String'
|
93
103
|
}
|
94
104
|
end
|
95
105
|
|
@@ -151,6 +161,14 @@ module MuxRuby
|
|
151
161
|
if attributes.key?(:'test')
|
152
162
|
self.test = attributes[:'test']
|
153
163
|
end
|
164
|
+
|
165
|
+
if attributes.key?(:'max_resolution_tier')
|
166
|
+
self.max_resolution_tier = attributes[:'max_resolution_tier']
|
167
|
+
end
|
168
|
+
|
169
|
+
if attributes.key?(:'encoding_tier')
|
170
|
+
self.encoding_tier = attributes[:'encoding_tier']
|
171
|
+
end
|
154
172
|
end
|
155
173
|
|
156
174
|
# Show invalid properties with the reasons. Usually used together with valid?
|
@@ -167,6 +185,10 @@ module MuxRuby
|
|
167
185
|
return false unless mp4_support_validator.valid?(@mp4_support)
|
168
186
|
master_access_validator = EnumAttributeValidator.new('String', ["none", "temporary"])
|
169
187
|
return false unless master_access_validator.valid?(@master_access)
|
188
|
+
max_resolution_tier_validator = EnumAttributeValidator.new('String', ["1080p", "1440p", "2160p"])
|
189
|
+
return false unless max_resolution_tier_validator.valid?(@max_resolution_tier)
|
190
|
+
encoding_tier_validator = EnumAttributeValidator.new('String', ["smart", "baseline"])
|
191
|
+
return false unless encoding_tier_validator.valid?(@encoding_tier)
|
170
192
|
true
|
171
193
|
end
|
172
194
|
|
@@ -190,6 +212,26 @@ module MuxRuby
|
|
190
212
|
@master_access = master_access
|
191
213
|
end
|
192
214
|
|
215
|
+
# Custom attribute writer method checking allowed values (enum).
|
216
|
+
# @param [Object] max_resolution_tier Object to be assigned
|
217
|
+
def max_resolution_tier=(max_resolution_tier)
|
218
|
+
validator = EnumAttributeValidator.new('String', ["1080p", "1440p", "2160p"])
|
219
|
+
unless validator.valid?(max_resolution_tier)
|
220
|
+
fail ArgumentError, "invalid value for \"max_resolution_tier\", must be one of #{validator.allowable_values}."
|
221
|
+
end
|
222
|
+
@max_resolution_tier = max_resolution_tier
|
223
|
+
end
|
224
|
+
|
225
|
+
# Custom attribute writer method checking allowed values (enum).
|
226
|
+
# @param [Object] encoding_tier Object to be assigned
|
227
|
+
def encoding_tier=(encoding_tier)
|
228
|
+
validator = EnumAttributeValidator.new('String', ["smart", "baseline"])
|
229
|
+
unless validator.valid?(encoding_tier)
|
230
|
+
fail ArgumentError, "invalid value for \"encoding_tier\", must be one of #{validator.allowable_values}."
|
231
|
+
end
|
232
|
+
@encoding_tier = encoding_tier
|
233
|
+
end
|
234
|
+
|
193
235
|
# Checks equality by comparing each attribute.
|
194
236
|
# @param [Object] Object to be compared
|
195
237
|
def ==(o)
|
@@ -202,7 +244,9 @@ module MuxRuby
|
|
202
244
|
mp4_support == o.mp4_support &&
|
203
245
|
normalize_audio == o.normalize_audio &&
|
204
246
|
master_access == o.master_access &&
|
205
|
-
test == o.test
|
247
|
+
test == o.test &&
|
248
|
+
max_resolution_tier == o.max_resolution_tier &&
|
249
|
+
encoding_tier == o.encoding_tier
|
206
250
|
end
|
207
251
|
|
208
252
|
# @see the `==` method
|
@@ -214,7 +258,7 @@ module MuxRuby
|
|
214
258
|
# Calculates hash code according to all attributes.
|
215
259
|
# @return [Integer] Hash code
|
216
260
|
def hash
|
217
|
-
[input, playback_policy, per_title_encode, passthrough, mp4_support, normalize_audio, master_access, test].hash
|
261
|
+
[input, playback_policy, per_title_encode, passthrough, mp4_support, normalize_audio, master_access, test, max_resolution_tier, encoding_tier].hash
|
218
262
|
end
|
219
263
|
|
220
264
|
# Builds the object from hash
|
@@ -19,7 +19,7 @@ module MuxRuby
|
|
19
19
|
|
20
20
|
attr_accessor :new_asset_settings
|
21
21
|
|
22
|
-
# When live streaming software disconnects from Mux, either intentionally or due to a drop in the network, the Reconnect Window is the time in seconds that Mux should wait for the streaming software to reconnect before considering the live stream finished and completing the recorded asset. Defaults to 60 seconds on the API if not specified. Reduced and Low Latency streams with a Reconnect Window greater than zero will insert slate media into the recorded asset while waiting for the streaming software to reconnect or when there are brief interruptions in the live stream media. When using a Reconnect Window setting higher than 60 seconds with a Standard Latency stream, we highly recommend enabling slate with the `use_slate_for_standard_latency` option.
|
22
|
+
# When live streaming software disconnects from Mux, either intentionally or due to a drop in the network, the Reconnect Window is the time in seconds that Mux should wait for the streaming software to reconnect before considering the live stream finished and completing the recorded asset. Defaults to 60 seconds on the API if not specified. If not specified directly, Standard Latency streams have a Reconnect Window of 60 seconds; Reduced and Low Latency streams have a default of 0 seconds, or no Reconnect Window. For that reason, we suggest specifying a value other than zero for Reduced and Low Latency streams. Reduced and Low Latency streams with a Reconnect Window greater than zero will insert slate media into the recorded asset while waiting for the streaming software to reconnect or when there are brief interruptions in the live stream media. When using a Reconnect Window setting higher than 60 seconds with a Standard Latency stream, we highly recommend enabling slate with the `use_slate_for_standard_latency` option.
|
23
23
|
attr_accessor :reconnect_window
|
24
24
|
|
25
25
|
# By default, Standard Latency live streams do not have slate media inserted while waiting for live streaming software to reconnect to Mux. Setting this to true enables slate insertion on a Standard Latency stream.
|
@@ -39,10 +39,10 @@ module MuxRuby
|
|
39
39
|
# Configure the incoming live stream to include subtitles created with automatic speech recognition. Each Asset created from a live stream with `generated_subtitles` configured will automatically receive two text tracks. The first of these will have a `text_source` value of `generated_live`, and will be available with `ready` status as soon as the stream is live. The second text track will have a `text_source` value of `generated_live_final` and will contain subtitles with improved accuracy, timing, and formatting. However, `generated_live_final` tracks will not be available in `ready` status until the live stream ends. If an Asset has both `generated_live` and `generated_live_final` tracks that are `ready`, then only the `generated_live_final` track will be included during playback.
|
40
40
|
attr_accessor :generated_subtitles
|
41
41
|
|
42
|
-
# This field is deprecated. Please use latency_mode instead. Latency is the time from when the streamer transmits a frame of video to when you see it in the player. Set this if you want lower latency for your live stream. Read more here: https://mux.com/blog/reduced-latency-for-mux-live-streaming-now-available/
|
42
|
+
# This field is deprecated. Please use `latency_mode` instead. Latency is the time from when the streamer transmits a frame of video to when you see it in the player. Set this if you want lower latency for your live stream. Read more here: https://mux.com/blog/reduced-latency-for-mux-live-streaming-now-available/
|
43
43
|
attr_accessor :reduced_latency
|
44
44
|
|
45
|
-
# This field is deprecated. Please use latency_mode instead. Latency is the time from when the streamer transmits a frame of video to when you see it in the player. Setting this option will enable compatibility with the LL-HLS specification for low-latency streaming. This typically has lower latency than Reduced Latency streams, and cannot be combined with Reduced Latency.
|
45
|
+
# This field is deprecated. Please use `latency_mode` instead. Latency is the time from when the streamer transmits a frame of video to when you see it in the player. Setting this option will enable compatibility with the LL-HLS specification for low-latency streaming. This typically has lower latency than Reduced Latency streams, and cannot be combined with Reduced Latency.
|
46
46
|
attr_accessor :low_latency
|
47
47
|
|
48
48
|
# Latency is the time from when the streamer transmits a frame of video to when you see it in the player. Set this as an alternative to setting low latency or reduced latency flags. The Low Latency value is a beta feature. Read more here: https://mux.com/blog/introducing-low-latency-live-streaming/
|
@@ -15,6 +15,7 @@ require 'time'
|
|
15
15
|
|
16
16
|
module MuxRuby
|
17
17
|
class CreateTrackRequest
|
18
|
+
# The URL of the file that Mux should download and use. * For `audio` tracks, the URL is the location of the audio file for Mux to download, for example an M4A, WAV, or MP3 file. Mux supports most audio file formats and codecs, but for fastest processing, you should [use standard inputs wherever possible](https://docs.mux.com/guides/video/minimize-processing-time). * For `text` tracks, the URL is the location of subtitle/captions file. Mux supports [SubRip Text (SRT)](https://en.wikipedia.org/wiki/SubRip) and [Web Video Text Tracks](https://www.w3.org/TR/webvtt1/) formats for ingesting Subtitles and Closed Captions.
|
18
19
|
attr_accessor :url
|
19
20
|
|
20
21
|
attr_accessor :type
|
@@ -24,7 +25,7 @@ module MuxRuby
|
|
24
25
|
# The language code value must be a valid BCP 47 specification compliant value. For example, en for English or en-US for the US version of English.
|
25
26
|
attr_accessor :language_code
|
26
27
|
|
27
|
-
# The name of the track containing a human-readable description. This value must be unique
|
28
|
+
# The name of the track containing a human-readable description. This value must be unique within each group of `text` or `audio` track types. The HLS manifest will associate the `text` or `audio` track with this value. For example, set the value to \"English\" for subtitles text track with `language_code` as en-US. If this parameter is not included, Mux will auto-populate a value based on the `language_code` value.
|
28
29
|
attr_accessor :name
|
29
30
|
|
30
31
|
# Indicates the track provides Subtitles for the Deaf or Hard-of-hearing (SDH).
|
@@ -164,7 +165,7 @@ module MuxRuby
|
|
164
165
|
def valid?
|
165
166
|
return false if @url.nil?
|
166
167
|
return false if @type.nil?
|
167
|
-
type_validator = EnumAttributeValidator.new('String', ["text"])
|
168
|
+
type_validator = EnumAttributeValidator.new('String', ["text", "audio"])
|
168
169
|
return false unless type_validator.valid?(@type)
|
169
170
|
return false if @text_type.nil?
|
170
171
|
text_type_validator = EnumAttributeValidator.new('String', ["subtitles"])
|
@@ -176,7 +177,7 @@ module MuxRuby
|
|
176
177
|
# Custom attribute writer method checking allowed values (enum).
|
177
178
|
# @param [Object] type Object to be assigned
|
178
179
|
def type=(type)
|
179
|
-
validator = EnumAttributeValidator.new('String', ["text"])
|
180
|
+
validator = EnumAttributeValidator.new('String', ["text", "audio"])
|
180
181
|
unless validator.valid?(type)
|
181
182
|
fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
|
182
183
|
end
|
@@ -36,6 +36,9 @@ module MuxRuby
|
|
36
36
|
# The duration of the asset in seconds.
|
37
37
|
attr_accessor :asset_duration
|
38
38
|
|
39
|
+
# The resolution tier that the asset was ingested at, affecting billing for ingest & storage
|
40
|
+
attr_accessor :asset_resolution_tier
|
41
|
+
|
39
42
|
# Total number of delivered seconds during this time window.
|
40
43
|
attr_accessor :delivered_seconds
|
41
44
|
|
@@ -73,6 +76,7 @@ module MuxRuby
|
|
73
76
|
:'deleted_at' => :'deleted_at',
|
74
77
|
:'asset_state' => :'asset_state',
|
75
78
|
:'asset_duration' => :'asset_duration',
|
79
|
+
:'asset_resolution_tier' => :'asset_resolution_tier',
|
76
80
|
:'delivered_seconds' => :'delivered_seconds',
|
77
81
|
:'delivered_seconds_by_resolution' => :'delivered_seconds_by_resolution'
|
78
82
|
}
|
@@ -93,6 +97,7 @@ module MuxRuby
|
|
93
97
|
:'deleted_at' => :'String',
|
94
98
|
:'asset_state' => :'String',
|
95
99
|
:'asset_duration' => :'Float',
|
100
|
+
:'asset_resolution_tier' => :'String',
|
96
101
|
:'delivered_seconds' => :'Float',
|
97
102
|
:'delivered_seconds_by_resolution' => :'DeliveryReportDeliveredSecondsByResolution'
|
98
103
|
}
|
@@ -147,6 +152,10 @@ module MuxRuby
|
|
147
152
|
self.asset_duration = attributes[:'asset_duration']
|
148
153
|
end
|
149
154
|
|
155
|
+
if attributes.key?(:'asset_resolution_tier')
|
156
|
+
self.asset_resolution_tier = attributes[:'asset_resolution_tier']
|
157
|
+
end
|
158
|
+
|
150
159
|
if attributes.key?(:'delivered_seconds')
|
151
160
|
self.delivered_seconds = attributes[:'delivered_seconds']
|
152
161
|
end
|
@@ -168,6 +177,8 @@ module MuxRuby
|
|
168
177
|
def valid?
|
169
178
|
asset_state_validator = EnumAttributeValidator.new('String', ["ready", "errored", "deleted"])
|
170
179
|
return false unless asset_state_validator.valid?(@asset_state)
|
180
|
+
asset_resolution_tier_validator = EnumAttributeValidator.new('String', ["audio-only", "720p", "1080p", "1440p", "2160p"])
|
181
|
+
return false unless asset_resolution_tier_validator.valid?(@asset_resolution_tier)
|
171
182
|
true
|
172
183
|
end
|
173
184
|
|
@@ -181,6 +192,16 @@ module MuxRuby
|
|
181
192
|
@asset_state = asset_state
|
182
193
|
end
|
183
194
|
|
195
|
+
# Custom attribute writer method checking allowed values (enum).
|
196
|
+
# @param [Object] asset_resolution_tier Object to be assigned
|
197
|
+
def asset_resolution_tier=(asset_resolution_tier)
|
198
|
+
validator = EnumAttributeValidator.new('String', ["audio-only", "720p", "1080p", "1440p", "2160p"])
|
199
|
+
unless validator.valid?(asset_resolution_tier)
|
200
|
+
fail ArgumentError, "invalid value for \"asset_resolution_tier\", must be one of #{validator.allowable_values}."
|
201
|
+
end
|
202
|
+
@asset_resolution_tier = asset_resolution_tier
|
203
|
+
end
|
204
|
+
|
184
205
|
# Checks equality by comparing each attribute.
|
185
206
|
# @param [Object] Object to be compared
|
186
207
|
def ==(o)
|
@@ -193,6 +214,7 @@ module MuxRuby
|
|
193
214
|
deleted_at == o.deleted_at &&
|
194
215
|
asset_state == o.asset_state &&
|
195
216
|
asset_duration == o.asset_duration &&
|
217
|
+
asset_resolution_tier == o.asset_resolution_tier &&
|
196
218
|
delivered_seconds == o.delivered_seconds &&
|
197
219
|
delivered_seconds_by_resolution == o.delivered_seconds_by_resolution
|
198
220
|
end
|
@@ -206,7 +228,7 @@ module MuxRuby
|
|
206
228
|
# Calculates hash code according to all attributes.
|
207
229
|
# @return [Integer] Hash code
|
208
230
|
def hash
|
209
|
-
[live_stream_id, asset_id, passthrough, created_at, deleted_at, asset_state, asset_duration, delivered_seconds, delivered_seconds_by_resolution].hash
|
231
|
+
[live_stream_id, asset_id, passthrough, created_at, deleted_at, asset_state, asset_duration, asset_resolution_tier, delivered_seconds, delivered_seconds_by_resolution].hash
|
210
232
|
end
|
211
233
|
|
212
234
|
# Builds the object from hash
|
@@ -16,7 +16,13 @@ require 'time'
|
|
16
16
|
module MuxRuby
|
17
17
|
# Seconds delivered broken into resolution tiers. Each tier will only be displayed if there was content delivered in the tier.
|
18
18
|
class DeliveryReportDeliveredSecondsByResolution
|
19
|
-
# Total number of delivered seconds during this time window that had a resolution larger than the
|
19
|
+
# Total number of delivered seconds during this time window that had a resolution larger than the 1440p tier (over 4,194,304 pixels total).
|
20
|
+
attr_accessor :tier_2160p
|
21
|
+
|
22
|
+
# Total number of delivered seconds during this time window that had a resolution larger than the 1080p tier but less than or equal to the 2160p tier (over 2,073,600 and <= 4,194,304 pixels total).
|
23
|
+
attr_accessor :tier_1440p
|
24
|
+
|
25
|
+
# Total number of delivered seconds during this time window that had a resolution larger than the 720p tier but less than or equal to the 1440p tier (over 921,600 and <= 2,073,600 pixels total).
|
20
26
|
attr_accessor :tier_1080p
|
21
27
|
|
22
28
|
# Total number of delivered seconds during this time window that had a resolution within the 720p tier (up to 921,600 pixels total, based on typical 1280x720).
|
@@ -28,6 +34,8 @@ module MuxRuby
|
|
28
34
|
# Attribute mapping from ruby-style variable name to JSON key.
|
29
35
|
def self.attribute_map
|
30
36
|
{
|
37
|
+
:'tier_2160p' => :'tier_2160p',
|
38
|
+
:'tier_1440p' => :'tier_1440p',
|
31
39
|
:'tier_1080p' => :'tier_1080p',
|
32
40
|
:'tier_720p' => :'tier_720p',
|
33
41
|
:'tier_audio_only' => :'tier_audio_only'
|
@@ -42,6 +50,8 @@ module MuxRuby
|
|
42
50
|
# Attribute type mapping.
|
43
51
|
def self.openapi_types
|
44
52
|
{
|
53
|
+
:'tier_2160p' => :'Float',
|
54
|
+
:'tier_1440p' => :'Float',
|
45
55
|
:'tier_1080p' => :'Float',
|
46
56
|
:'tier_720p' => :'Float',
|
47
57
|
:'tier_audio_only' => :'Float'
|
@@ -69,6 +79,14 @@ module MuxRuby
|
|
69
79
|
h[k.to_sym] = v
|
70
80
|
}
|
71
81
|
|
82
|
+
if attributes.key?(:'tier_2160p')
|
83
|
+
self.tier_2160p = attributes[:'tier_2160p']
|
84
|
+
end
|
85
|
+
|
86
|
+
if attributes.key?(:'tier_1440p')
|
87
|
+
self.tier_1440p = attributes[:'tier_1440p']
|
88
|
+
end
|
89
|
+
|
72
90
|
if attributes.key?(:'tier_1080p')
|
73
91
|
self.tier_1080p = attributes[:'tier_1080p']
|
74
92
|
end
|
@@ -100,6 +118,8 @@ module MuxRuby
|
|
100
118
|
def ==(o)
|
101
119
|
return true if self.equal?(o)
|
102
120
|
self.class == o.class &&
|
121
|
+
tier_2160p == o.tier_2160p &&
|
122
|
+
tier_1440p == o.tier_1440p &&
|
103
123
|
tier_1080p == o.tier_1080p &&
|
104
124
|
tier_720p == o.tier_720p &&
|
105
125
|
tier_audio_only == o.tier_audio_only
|
@@ -114,7 +134,7 @@ module MuxRuby
|
|
114
134
|
# Calculates hash code according to all attributes.
|
115
135
|
# @return [Integer] Hash code
|
116
136
|
def hash
|
117
|
-
[tier_1080p, tier_720p, tier_audio_only].hash
|
137
|
+
[tier_2160p, tier_1440p, tier_1080p, tier_720p, tier_audio_only].hash
|
118
138
|
end
|
119
139
|
|
120
140
|
# Builds the object from hash
|