mux_ruby 3.12.0 → 3.14.0

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.
Files changed (99) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +4 -4
  4. data/docs/AbridgedVideoView.md +5 -1
  5. data/docs/Asset.md +3 -1
  6. data/docs/AssetsApi.md +79 -4
  7. data/docs/CreateSimulcastTargetRequest.md +2 -2
  8. data/docs/DimensionsApi.md +2 -0
  9. data/docs/Error.md +3 -1
  10. data/docs/ErrorsApi.md +2 -0
  11. data/docs/GenerateTrackSubtitlesRequest.md +18 -0
  12. data/docs/GenerateTrackSubtitlesResponse.md +18 -0
  13. data/docs/InputSettings.md +2 -2
  14. data/docs/LiveStream.md +5 -1
  15. data/docs/LiveStreamsApi.md +8 -8
  16. data/docs/MetricsApi.md +13 -1
  17. data/docs/MonitoringBreakdownTimeseriesDatapoint.md +3 -1
  18. data/docs/PlaybackIDApi.md +4 -4
  19. data/docs/ReferrerDomainRestriction.md +1 -1
  20. data/docs/SimulcastTarget.md +6 -4
  21. data/docs/Track.md +3 -1
  22. data/docs/VideoView.md +30 -2
  23. data/docs/VideoViewsApi.md +2 -0
  24. data/gen/generator-config.json +1 -1
  25. data/lib/mux_ruby/api/assets_api.rb +79 -2
  26. data/lib/mux_ruby/api/dimensions_api.rb +3 -0
  27. data/lib/mux_ruby/api/errors_api.rb +3 -0
  28. data/lib/mux_ruby/api/live_streams_api.rb +4 -4
  29. data/lib/mux_ruby/api/metrics_api.rb +24 -6
  30. data/lib/mux_ruby/api/playback_id_api.rb +2 -2
  31. data/lib/mux_ruby/api/video_views_api.rb +3 -0
  32. data/lib/mux_ruby/models/abridged_video_view.rb +24 -4
  33. data/lib/mux_ruby/models/asset.rb +26 -4
  34. data/lib/mux_ruby/models/asset_generated_subtitle_settings.rb +2 -2
  35. data/lib/mux_ruby/models/create_simulcast_target_request.rb +2 -2
  36. data/lib/mux_ruby/models/error.rb +16 -5
  37. data/lib/mux_ruby/models/generate_track_subtitles_request.rb +221 -0
  38. data/lib/mux_ruby/models/generate_track_subtitles_response.rb +218 -0
  39. data/lib/mux_ruby/models/input_settings.rb +2 -2
  40. data/lib/mux_ruby/models/live_stream.rb +36 -4
  41. data/lib/mux_ruby/models/monitoring_breakdown_timeseries_datapoint.rb +13 -4
  42. data/lib/mux_ruby/models/referrer_domain_restriction.rb +1 -1
  43. data/lib/mux_ruby/models/simulcast_target.rb +29 -7
  44. data/lib/mux_ruby/models/track.rb +14 -4
  45. data/lib/mux_ruby/models/video_view.rb +142 -5
  46. data/lib/mux_ruby/version.rb +1 -1
  47. data/lib/mux_ruby.rb +2 -0
  48. data/spec/models/generate_track_subtitles_request_spec.rb +34 -0
  49. data/spec/models/generate_track_subtitles_response_spec.rb +34 -0
  50. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-11.1.3/byebug/byebug.so +0 -0
  51. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-11.1.3/gem_make.out +6 -6
  52. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/ffi-1.16.3/ffi_c.so +0 -0
  53. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/ffi-1.16.3/gem_make.out +6 -6
  54. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/ffi-1.16.3/mkmf.log +16 -16
  55. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/jaro_winkler-1.5.4/gem_make.out +14 -14
  56. 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
  57. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-4.0.4/gem_make.out +6 -6
  58. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-4.0.4/mkmf.log +4 -4
  59. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-4.0.4/psych.so +0 -0
  60. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.0.2/gem_make.out +6 -6
  61. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.0.2/mkmf.log +2 -2
  62. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.0.2/stringio.so +0 -0
  63. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/ext/byebug/Makefile +6 -6
  64. data/vendor/bundle/ruby/3.2.0/gems/byebug-11.1.3/lib/byebug/byebug.so +0 -0
  65. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Makefile +6 -6
  66. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi_c.so +0 -0
  67. data/vendor/bundle/ruby/3.2.0/gems/jaro_winkler-1.5.4/ext/jaro_winkler/Makefile +6 -6
  68. data/vendor/bundle/ruby/3.2.0/gems/jaro_winkler-1.5.4/lib/jaro_winkler/jaro_winkler_ext.so +0 -0
  69. data/vendor/bundle/ruby/3.2.0/gems/psych-4.0.4/ext/psych/Makefile +6 -6
  70. data/vendor/bundle/ruby/3.2.0/gems/psych-4.0.4/lib/psych.so +0 -0
  71. data/vendor/bundle/ruby/3.2.0/gems/stringio-3.0.2/ext/stringio/Makefile +6 -6
  72. data/vendor/bundle/ruby/3.2.0/gems/stringio-3.0.2/lib/stringio.so +0 -0
  73. data/vendor/bundle/ruby/3.2.0/specifications/ast-2.4.2.gemspec +2 -2
  74. data/vendor/bundle/ruby/3.2.0/specifications/byebug-11.1.3.gemspec +2 -2
  75. data/vendor/bundle/ruby/3.2.0/specifications/coderay-1.1.3.gemspec +2 -2
  76. data/vendor/bundle/ruby/3.2.0/specifications/diff-lcs-1.5.0.gemspec +2 -2
  77. data/vendor/bundle/ruby/3.2.0/specifications/ethon-0.16.0.gemspec +2 -2
  78. data/vendor/bundle/ruby/3.2.0/specifications/ffi-1.16.3.gemspec +2 -2
  79. data/vendor/bundle/ruby/3.2.0/specifications/jaro_winkler-1.5.4.gemspec +2 -2
  80. data/vendor/bundle/ruby/3.2.0/specifications/method_source-1.0.0.gemspec +2 -2
  81. data/vendor/bundle/ruby/3.2.0/specifications/parallel-1.22.1.gemspec +2 -2
  82. data/vendor/bundle/ruby/3.2.0/specifications/parser-3.1.2.0.gemspec +2 -2
  83. data/vendor/bundle/ruby/3.2.0/specifications/pry-0.13.1.gemspec +2 -2
  84. data/vendor/bundle/ruby/3.2.0/specifications/pry-byebug-3.9.0.gemspec +2 -2
  85. data/vendor/bundle/ruby/3.2.0/specifications/psych-4.0.4.gemspec +2 -2
  86. data/vendor/bundle/ruby/3.2.0/specifications/rainbow-3.1.1.gemspec +2 -2
  87. data/vendor/bundle/ruby/3.2.0/specifications/rake-13.0.6.gemspec +2 -2
  88. data/vendor/bundle/ruby/3.2.0/specifications/rspec-3.11.0.gemspec +2 -2
  89. data/vendor/bundle/ruby/3.2.0/specifications/rspec-core-3.11.0.gemspec +2 -2
  90. data/vendor/bundle/ruby/3.2.0/specifications/rspec-expectations-3.11.0.gemspec +2 -2
  91. data/vendor/bundle/ruby/3.2.0/specifications/rspec-mocks-3.11.1.gemspec +2 -2
  92. data/vendor/bundle/ruby/3.2.0/specifications/rspec-support-3.11.0.gemspec +2 -2
  93. data/vendor/bundle/ruby/3.2.0/specifications/rubocop-0.66.0.gemspec +2 -2
  94. data/vendor/bundle/ruby/3.2.0/specifications/ruby-progressbar-1.11.0.gemspec +2 -2
  95. data/vendor/bundle/ruby/3.2.0/specifications/solid_assert-1.1.0.gemspec +2 -2
  96. data/vendor/bundle/ruby/3.2.0/specifications/stringio-3.0.2.gemspec +2 -2
  97. data/vendor/bundle/ruby/3.2.0/specifications/typhoeus-1.4.1.gemspec +2 -2
  98. data/vendor/bundle/ruby/3.2.0/specifications/unicode-display_width-1.5.0.gemspec +2 -2
  99. metadata +160 -152
@@ -16,12 +16,12 @@ require 'time'
16
16
  module MuxRuby
17
17
  # An array of objects that each describe an input file to be used to create the asset. As a shortcut, `input` can also be a string URL for a file when only one input file is used. See `input[].url` for requirements.
18
18
  class InputSettings
19
- # The URL of the file that Mux should download and use. * For the main input file, this should be the URL to the muxed file for Mux to download, for example an MP4, MOV, MKV, or TS file. Mux supports most audio/video file formats and codecs, but for fastest processing, you should [use standard inputs wherever possible](https://docs.mux.com/guides/minimize-processing-time). * 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/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. * For Watermarking or Overlay, the URL is the location of the watermark image. * When creating clips from existing Mux assets, the URL is defined with `mux://assets/{asset_id}` template where `asset_id` is the Asset Identifier for creating the clip from. The url property may be omitted on the first input object when providing asset settings for LiveStream and Upload objects, in order to configure settings related to the primary (live stream or direct upload) input.
19
+ # The URL of the file that Mux should download and use. * For the main input file, this should be the URL to the muxed file for Mux to download, for example an MP4, MOV, MKV, or TS file. Mux supports most audio/video file formats and codecs, but for fastest processing, you should [use standard inputs wherever possible](https://docs.mux.com/guides/minimize-processing-time). * 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/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. * For Watermarking or Overlay, the URL is the location of the watermark image. The maximum size is 4096x4096. * When creating clips from existing Mux assets, the URL is defined with `mux://assets/{asset_id}` template where `asset_id` is the Asset Identifier for creating the clip from. The url property may be omitted on the first input object when providing asset settings for LiveStream and Upload objects, in order to configure settings related to the primary (live stream or direct upload) input.
20
20
  attr_accessor :url
21
21
 
22
22
  attr_accessor :overlay_settings
23
23
 
24
- # Generate subtitle tracks using automatic speech recognition using this configuration. This may only be provided for the first input object (the main input file). For direct uploads, this first input should omit the url parameter, as the main input file is provided via the direct upload. This will create subtitles based on the audio track ingested from that main input file. Note that subtitle generation happens after initial ingest, so the generated tracks will be in the `preparing` state when the asset transitions to `ready`.
24
+ # Generate subtitle tracks using automatic speech recognition with this configuration. This may only be provided for the first input object (the main input file). For direct uploads, this first input should omit the url parameter, as the main input file is provided via the direct upload. This will create subtitles based on the audio track ingested from that main input file. Note that subtitle generation happens after initial ingest, so the generated tracks will be in the `preparing` state when the asset transitions to `ready`.
25
25
  attr_accessor :generated_subtitles
26
26
 
27
27
  # The time offset in seconds from the beginning of the video indicating the clip's starting marker. The default value is 0 when not included. This parameter is only applicable for creating clips when `input.url` has `mux://assets/{asset_id}` format.
@@ -76,6 +76,12 @@ module MuxRuby
76
76
  # The time in seconds a live stream may be continuously active before being disconnected. Defaults to 12 hours.
77
77
  attr_accessor :max_continuous_duration
78
78
 
79
+ # Unique key used for encrypting a stream to a Mux SRT endpoint.
80
+ attr_accessor :srt_passphrase
81
+
82
+ # The protocol used for the active ingest stream. This is only set when the live stream is active.
83
+ attr_accessor :active_ingest_protocol
84
+
79
85
  class EnumAttributeValidator
80
86
  attr_reader :datatype
81
87
  attr_reader :allowable_values
@@ -121,7 +127,9 @@ module MuxRuby
121
127
  :'simulcast_targets' => :'simulcast_targets',
122
128
  :'latency_mode' => :'latency_mode',
123
129
  :'test' => :'test',
124
- :'max_continuous_duration' => :'max_continuous_duration'
130
+ :'max_continuous_duration' => :'max_continuous_duration',
131
+ :'srt_passphrase' => :'srt_passphrase',
132
+ :'active_ingest_protocol' => :'active_ingest_protocol'
125
133
  }
126
134
  end
127
135
 
@@ -153,7 +161,9 @@ module MuxRuby
153
161
  :'simulcast_targets' => :'Array<SimulcastTarget>',
154
162
  :'latency_mode' => :'String',
155
163
  :'test' => :'Boolean',
156
- :'max_continuous_duration' => :'Integer'
164
+ :'max_continuous_duration' => :'Integer',
165
+ :'srt_passphrase' => :'String',
166
+ :'active_ingest_protocol' => :'String'
157
167
  }
158
168
  end
159
169
 
@@ -277,6 +287,14 @@ module MuxRuby
277
287
  else
278
288
  self.max_continuous_duration = 43200
279
289
  end
290
+
291
+ if attributes.key?(:'srt_passphrase')
292
+ self.srt_passphrase = attributes[:'srt_passphrase']
293
+ end
294
+
295
+ if attributes.key?(:'active_ingest_protocol')
296
+ self.active_ingest_protocol = attributes[:'active_ingest_protocol']
297
+ end
280
298
  end
281
299
 
282
300
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -311,6 +329,8 @@ module MuxRuby
311
329
  return false unless latency_mode_validator.valid?(@latency_mode)
312
330
  return false if !@max_continuous_duration.nil? && @max_continuous_duration > 43200
313
331
  return false if !@max_continuous_duration.nil? && @max_continuous_duration < 60
332
+ active_ingest_protocol_validator = EnumAttributeValidator.new('String', ["rtmp", "srt"])
333
+ return false unless active_ingest_protocol_validator.valid?(@active_ingest_protocol)
314
334
  true
315
335
  end
316
336
 
@@ -352,6 +372,16 @@ module MuxRuby
352
372
  @max_continuous_duration = max_continuous_duration
353
373
  end
354
374
 
375
+ # Custom attribute writer method checking allowed values (enum).
376
+ # @param [Object] active_ingest_protocol Object to be assigned
377
+ def active_ingest_protocol=(active_ingest_protocol)
378
+ validator = EnumAttributeValidator.new('String', ["rtmp", "srt"])
379
+ unless validator.valid?(active_ingest_protocol)
380
+ fail ArgumentError, "invalid value for \"active_ingest_protocol\", must be one of #{validator.allowable_values}."
381
+ end
382
+ @active_ingest_protocol = active_ingest_protocol
383
+ end
384
+
355
385
  # Checks equality by comparing each attribute.
356
386
  # @param [Object] Object to be compared
357
387
  def ==(o)
@@ -377,7 +407,9 @@ module MuxRuby
377
407
  simulcast_targets == o.simulcast_targets &&
378
408
  latency_mode == o.latency_mode &&
379
409
  test == o.test &&
380
- max_continuous_duration == o.max_continuous_duration
410
+ max_continuous_duration == o.max_continuous_duration &&
411
+ srt_passphrase == o.srt_passphrase &&
412
+ active_ingest_protocol == o.active_ingest_protocol
381
413
  end
382
414
 
383
415
  # @see the `==` method
@@ -389,7 +421,7 @@ module MuxRuby
389
421
  # Calculates hash code according to all attributes.
390
422
  # @return [Integer] Hash code
391
423
  def hash
392
- [id, created_at, stream_key, active_asset_id, recent_asset_ids, status, playback_ids, new_asset_settings, passthrough, audio_only, embedded_subtitles, generated_subtitles, reconnect_window, use_slate_for_standard_latency, reconnect_slate_url, reduced_latency, low_latency, simulcast_targets, latency_mode, test, max_continuous_duration].hash
424
+ [id, created_at, stream_key, active_asset_id, recent_asset_ids, status, playback_ids, new_asset_settings, passthrough, audio_only, embedded_subtitles, generated_subtitles, reconnect_window, use_slate_for_standard_latency, reconnect_slate_url, reduced_latency, low_latency, simulcast_targets, latency_mode, test, max_continuous_duration, srt_passphrase, active_ingest_protocol].hash
393
425
  end
394
426
 
395
427
  # Builds the object from hash
@@ -21,12 +21,15 @@ module MuxRuby
21
21
 
22
22
  attr_accessor :concurrent_viewers
23
23
 
24
+ attr_accessor :starting_up_viewers
25
+
24
26
  # Attribute mapping from ruby-style variable name to JSON key.
25
27
  def self.attribute_map
26
28
  {
27
29
  :'value' => :'value',
28
30
  :'metric_value' => :'metric_value',
29
- :'concurrent_viewers' => :'concurrent_viewers'
31
+ :'concurrent_viewers' => :'concurrent_viewers',
32
+ :'starting_up_viewers' => :'starting_up_viewers'
30
33
  }
31
34
  end
32
35
 
@@ -40,7 +43,8 @@ module MuxRuby
40
43
  {
41
44
  :'value' => :'String',
42
45
  :'metric_value' => :'Float',
43
- :'concurrent_viewers' => :'Integer'
46
+ :'concurrent_viewers' => :'Integer',
47
+ :'starting_up_viewers' => :'Integer'
44
48
  }
45
49
  end
46
50
 
@@ -78,6 +82,10 @@ module MuxRuby
78
82
  if attributes.key?(:'concurrent_viewers')
79
83
  self.concurrent_viewers = attributes[:'concurrent_viewers']
80
84
  end
85
+
86
+ if attributes.key?(:'starting_up_viewers')
87
+ self.starting_up_viewers = attributes[:'starting_up_viewers']
88
+ end
81
89
  end
82
90
 
83
91
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -100,7 +108,8 @@ module MuxRuby
100
108
  self.class == o.class &&
101
109
  value == o.value &&
102
110
  metric_value == o.metric_value &&
103
- concurrent_viewers == o.concurrent_viewers
111
+ concurrent_viewers == o.concurrent_viewers &&
112
+ starting_up_viewers == o.starting_up_viewers
104
113
  end
105
114
 
106
115
  # @see the `==` method
@@ -112,7 +121,7 @@ module MuxRuby
112
121
  # Calculates hash code according to all attributes.
113
122
  # @return [Integer] Hash code
114
123
  def hash
115
- [value, metric_value, concurrent_viewers].hash
124
+ [value, metric_value, concurrent_viewers, starting_up_viewers].hash
116
125
  end
117
126
 
118
127
  # Builds the object from hash
@@ -16,7 +16,7 @@ require 'time'
16
16
  module MuxRuby
17
17
  # A list of domains allowed to play your videos.
18
18
  class ReferrerDomainRestriction
19
- # List of domains allowed to play videos. Possible values are * `[]` Empty Array indicates deny video playback requests for all domains * `[\"*\"]` A Single Wildcard `*` entry means allow video playback requests from any domain * `[\"*.example.com\", \"foo.com\"]` A list of up to 10 domains or valid dns-style wildcards
19
+ # List of domains allowed to play videos. Possible values are * `[]` Empty Array indicates deny video playback requests for all domains * `[\"*\"]` A Single Wildcard `*` entry means allow video playback requests from any domain * `[\"*.example.com\", \"foo.com\"]` A list of up to 10 domains or valid dns-style wildcards
20
20
  attr_accessor :allowed_domains
21
21
 
22
22
  # A boolean to determine whether to allow or deny HTTP requests without `Referer` HTTP request header. Playback requests coming from non-web/native applications like iOS, Android or smart TVs will not have a `Referer` HTTP header. Set this value to `true` to allow these playback requests.
@@ -21,15 +21,18 @@ module MuxRuby
21
21
  # Arbitrary user-supplied metadata set when creating a simulcast target.
22
22
  attr_accessor :passthrough
23
23
 
24
- # The current status of the simulcast target. See Statuses below for detailed description. * `idle`: Default status. When the parent live stream is in disconnected status, simulcast targets will be idle state. * `starting`: The simulcast target transitions into this state when the parent live stream transition into connected state. * `broadcasting`: The simulcast target has successfully connected to the third party live streaming service and is pushing video to that service. * `errored`: The simulcast target encountered an error either while attempting to connect to the third party live streaming service, or mid-broadcasting. Compared to other errored statuses in the Mux Video API, a simulcast may transition back into the broadcasting state if a connection with the service can be re-established.
24
+ # The current status of the simulcast target. See Statuses below for detailed description. * `idle`: Default status. When the parent live stream is in disconnected status, simulcast targets will be idle state. * `starting`: The simulcast target transitions into this state when the parent live stream transition into connected state. * `broadcasting`: The simulcast target has successfully connected to the third party live streaming service and is pushing video to that service. * `errored`: The simulcast target encountered an error either while attempting to connect to the third party live streaming service, or mid-broadcasting. When a simulcast target has this status it will have an `error_severity` field with more details about the error.
25
25
  attr_accessor :status
26
26
 
27
- # Stream Key represents an stream identifier for the third party live streaming service to simulcast the parent live stream too.
27
+ # Stream Key represents a stream identifier on the third party live streaming service to send the parent live stream to. Only used for RTMP(s) simulcast destinations.
28
28
  attr_accessor :stream_key
29
29
 
30
- # RTMP hostname including the application name for the third party live streaming service.
30
+ # The RTMP(s) or SRT endpoint for a simulcast destination. * For RTMP(s) destinations, this should include the application name for the third party live streaming service, for example: `rtmp://live.example.com/app`. * For SRT destinations, this should be a fully formed SRT connection string, for example: `srt://srt-live.example.com:1234?streamid={stream_key}&passphrase={srt_passphrase}`. Note: SRT simulcast targets can only be used when an source is connected over SRT.
31
31
  attr_accessor :url
32
32
 
33
+ # The severity of the error encountered by the simulcast target. This field is only set when the simulcast target is in the `errored` status. See the values of severities below and their descriptions. * `normal`: The simulcast target encountered an error either while attempting to connect to the third party live streaming service, or mid-broadcasting. A simulcast may transition back into the broadcasting state if a connection with the service can be re-established. * `fatal`: The simulcast target is incompatible with the current input to the parent live stream. No further attempts to this simulcast target will be made for the current live stream asset.
34
+ attr_accessor :error_severity
35
+
33
36
  class EnumAttributeValidator
34
37
  attr_reader :datatype
35
38
  attr_reader :allowable_values
@@ -59,7 +62,8 @@ module MuxRuby
59
62
  :'passthrough' => :'passthrough',
60
63
  :'status' => :'status',
61
64
  :'stream_key' => :'stream_key',
62
- :'url' => :'url'
65
+ :'url' => :'url',
66
+ :'error_severity' => :'error_severity'
63
67
  }
64
68
  end
65
69
 
@@ -75,7 +79,8 @@ module MuxRuby
75
79
  :'passthrough' => :'String',
76
80
  :'status' => :'String',
77
81
  :'stream_key' => :'String',
78
- :'url' => :'String'
82
+ :'url' => :'String',
83
+ :'error_severity' => :'String'
79
84
  }
80
85
  end
81
86
 
@@ -119,6 +124,10 @@ module MuxRuby
119
124
  if attributes.key?(:'url')
120
125
  self.url = attributes[:'url']
121
126
  end
127
+
128
+ if attributes.key?(:'error_severity')
129
+ self.error_severity = attributes[:'error_severity']
130
+ end
122
131
  end
123
132
 
124
133
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -133,6 +142,8 @@ module MuxRuby
133
142
  def valid?
134
143
  status_validator = EnumAttributeValidator.new('String', ["idle", "starting", "broadcasting", "errored"])
135
144
  return false unless status_validator.valid?(@status)
145
+ error_severity_validator = EnumAttributeValidator.new('String', ["normal", "fatal"])
146
+ return false unless error_severity_validator.valid?(@error_severity)
136
147
  true
137
148
  end
138
149
 
@@ -146,6 +157,16 @@ module MuxRuby
146
157
  @status = status
147
158
  end
148
159
 
160
+ # Custom attribute writer method checking allowed values (enum).
161
+ # @param [Object] error_severity Object to be assigned
162
+ def error_severity=(error_severity)
163
+ validator = EnumAttributeValidator.new('String', ["normal", "fatal"])
164
+ unless validator.valid?(error_severity)
165
+ fail ArgumentError, "invalid value for \"error_severity\", must be one of #{validator.allowable_values}."
166
+ end
167
+ @error_severity = error_severity
168
+ end
169
+
149
170
  # Checks equality by comparing each attribute.
150
171
  # @param [Object] Object to be compared
151
172
  def ==(o)
@@ -155,7 +176,8 @@ module MuxRuby
155
176
  passthrough == o.passthrough &&
156
177
  status == o.status &&
157
178
  stream_key == o.stream_key &&
158
- url == o.url
179
+ url == o.url &&
180
+ error_severity == o.error_severity
159
181
  end
160
182
 
161
183
  # @see the `==` method
@@ -167,7 +189,7 @@ module MuxRuby
167
189
  # Calculates hash code according to all attributes.
168
190
  # @return [Integer] Hash code
169
191
  def hash
170
- [id, passthrough, status, stream_key, url].hash
192
+ [id, passthrough, status, stream_key, url, error_severity].hash
171
193
  end
172
194
 
173
195
  # Builds the object from hash
@@ -60,6 +60,9 @@ module MuxRuby
60
60
  # The status of the track. This parameter is only set for `text` type tracks.
61
61
  attr_accessor :status
62
62
 
63
+ # For an audio track, indicates that this is the primary audio track, ingested from the main input for this asset. The primary audio track cannot be deleted.
64
+ attr_accessor :primary
65
+
63
66
  class EnumAttributeValidator
64
67
  attr_reader :datatype
65
68
  attr_reader :allowable_values
@@ -99,7 +102,8 @@ module MuxRuby
99
102
  :'name' => :'name',
100
103
  :'closed_captions' => :'closed_captions',
101
104
  :'passthrough' => :'passthrough',
102
- :'status' => :'status'
105
+ :'status' => :'status',
106
+ :'primary' => :'primary'
103
107
  }
104
108
  end
105
109
 
@@ -125,7 +129,8 @@ module MuxRuby
125
129
  :'name' => :'String',
126
130
  :'closed_captions' => :'Boolean',
127
131
  :'passthrough' => :'String',
128
- :'status' => :'String'
132
+ :'status' => :'String',
133
+ :'primary' => :'Boolean'
129
134
  }
130
135
  end
131
136
 
@@ -209,6 +214,10 @@ module MuxRuby
209
214
  if attributes.key?(:'status')
210
215
  self.status = attributes[:'status']
211
216
  end
217
+
218
+ if attributes.key?(:'primary')
219
+ self.primary = attributes[:'primary']
220
+ end
212
221
  end
213
222
 
214
223
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -291,7 +300,8 @@ module MuxRuby
291
300
  name == o.name &&
292
301
  closed_captions == o.closed_captions &&
293
302
  passthrough == o.passthrough &&
294
- status == o.status
303
+ status == o.status &&
304
+ primary == o.primary
295
305
  end
296
306
 
297
307
  # @see the `==` method
@@ -303,7 +313,7 @@ module MuxRuby
303
313
  # Calculates hash code according to all attributes.
304
314
  # @return [Integer] Hash code
305
315
  def hash
306
- [id, type, duration, max_width, max_height, max_frame_rate, max_channels, max_channel_layout, text_type, text_source, language_code, name, closed_captions, passthrough, status].hash
316
+ [id, type, duration, max_width, max_height, max_frame_rate, max_channels, max_channel_layout, text_type, text_source, language_code, name, closed_captions, passthrough, status, primary].hash
307
317
  end
308
318
 
309
319
  # Builds the object from hash
@@ -297,10 +297,38 @@ module MuxRuby
297
297
 
298
298
  attr_accessor :video_startup_failure
299
299
 
300
+ attr_accessor :ad_attempt_count
301
+
302
+ attr_accessor :ad_break_count
303
+
304
+ attr_accessor :ad_break_error_count
305
+
306
+ attr_accessor :ad_break_error_percentage
307
+
308
+ attr_accessor :ad_error_count
309
+
310
+ attr_accessor :ad_error_percentage
311
+
312
+ attr_accessor :ad_impression_count
313
+
314
+ attr_accessor :ad_startup_error_count
315
+
316
+ attr_accessor :ad_startup_error_percentage
317
+
318
+ attr_accessor :ad_exit_before_start_count
319
+
320
+ attr_accessor :ad_exit_before_start_percentage
321
+
300
322
  attr_accessor :long_resume
301
323
 
302
324
  attr_accessor :long_rebuffering
303
325
 
326
+ attr_accessor :playback_failure_error_type_id
327
+
328
+ attr_accessor :playback_business_exception_error_type_id
329
+
330
+ attr_accessor :video_startup_business_exception_error_type_id
331
+
304
332
  # Attribute mapping from ruby-style variable name to JSON key.
305
333
  def self.attribute_map
306
334
  {
@@ -445,8 +473,22 @@ module MuxRuby
445
473
  :'view_dropped_frame_count' => :'view_dropped_frame_count',
446
474
  :'view_has_ad' => :'view_has_ad',
447
475
  :'video_startup_failure' => :'video_startup_failure',
476
+ :'ad_attempt_count' => :'ad_attempt_count',
477
+ :'ad_break_count' => :'ad_break_count',
478
+ :'ad_break_error_count' => :'ad_break_error_count',
479
+ :'ad_break_error_percentage' => :'ad_break_error_percentage',
480
+ :'ad_error_count' => :'ad_error_count',
481
+ :'ad_error_percentage' => :'ad_error_percentage',
482
+ :'ad_impression_count' => :'ad_impression_count',
483
+ :'ad_startup_error_count' => :'ad_startup_error_count',
484
+ :'ad_startup_error_percentage' => :'ad_startup_error_percentage',
485
+ :'ad_exit_before_start_count' => :'ad_exit_before_start_count',
486
+ :'ad_exit_before_start_percentage' => :'ad_exit_before_start_percentage',
448
487
  :'long_resume' => :'long_resume',
449
- :'long_rebuffering' => :'long_rebuffering'
488
+ :'long_rebuffering' => :'long_rebuffering',
489
+ :'playback_failure_error_type_id' => :'playback_failure_error_type_id',
490
+ :'playback_business_exception_error_type_id' => :'playback_business_exception_error_type_id',
491
+ :'video_startup_business_exception_error_type_id' => :'video_startup_business_exception_error_type_id'
450
492
  }
451
493
  end
452
494
 
@@ -577,7 +619,7 @@ module MuxRuby
577
619
  :'view_session_id' => :'String',
578
620
  :'viewer_connection_type' => :'String',
579
621
  :'viewer_device_model' => :'String',
580
- :'weighted_average_bitrate' => :'Integer',
622
+ :'weighted_average_bitrate' => :'Float',
581
623
  :'custom_1' => :'String',
582
624
  :'custom_2' => :'String',
583
625
  :'custom_3' => :'String',
@@ -599,8 +641,22 @@ module MuxRuby
599
641
  :'view_dropped_frame_count' => :'Integer',
600
642
  :'view_has_ad' => :'Boolean',
601
643
  :'video_startup_failure' => :'Boolean',
644
+ :'ad_attempt_count' => :'Integer',
645
+ :'ad_break_count' => :'Integer',
646
+ :'ad_break_error_count' => :'Integer',
647
+ :'ad_break_error_percentage' => :'String',
648
+ :'ad_error_count' => :'Integer',
649
+ :'ad_error_percentage' => :'String',
650
+ :'ad_impression_count' => :'Integer',
651
+ :'ad_startup_error_count' => :'Integer',
652
+ :'ad_startup_error_percentage' => :'String',
653
+ :'ad_exit_before_start_count' => :'Integer',
654
+ :'ad_exit_before_start_percentage' => :'String',
602
655
  :'long_resume' => :'Boolean',
603
- :'long_rebuffering' => :'Boolean'
656
+ :'long_rebuffering' => :'Boolean',
657
+ :'playback_failure_error_type_id' => :'Integer',
658
+ :'playback_business_exception_error_type_id' => :'Integer',
659
+ :'video_startup_business_exception_error_type_id' => :'Integer'
604
660
  }
605
661
  end
606
662
 
@@ -728,6 +784,17 @@ module MuxRuby
728
784
  :'player_error_context',
729
785
  :'view_drm_type',
730
786
  :'view_dropped_frame_count',
787
+ :'ad_attempt_count',
788
+ :'ad_break_count',
789
+ :'ad_break_error_count',
790
+ :'ad_break_error_percentage',
791
+ :'ad_error_count',
792
+ :'ad_error_percentage',
793
+ :'ad_impression_count',
794
+ :'ad_startup_error_count',
795
+ :'ad_startup_error_percentage',
796
+ :'ad_exit_before_start_count',
797
+ :'ad_exit_before_start_percentage',
731
798
  ])
732
799
  end
733
800
 
@@ -1312,6 +1379,50 @@ module MuxRuby
1312
1379
  self.video_startup_failure = attributes[:'video_startup_failure']
1313
1380
  end
1314
1381
 
1382
+ if attributes.key?(:'ad_attempt_count')
1383
+ self.ad_attempt_count = attributes[:'ad_attempt_count']
1384
+ end
1385
+
1386
+ if attributes.key?(:'ad_break_count')
1387
+ self.ad_break_count = attributes[:'ad_break_count']
1388
+ end
1389
+
1390
+ if attributes.key?(:'ad_break_error_count')
1391
+ self.ad_break_error_count = attributes[:'ad_break_error_count']
1392
+ end
1393
+
1394
+ if attributes.key?(:'ad_break_error_percentage')
1395
+ self.ad_break_error_percentage = attributes[:'ad_break_error_percentage']
1396
+ end
1397
+
1398
+ if attributes.key?(:'ad_error_count')
1399
+ self.ad_error_count = attributes[:'ad_error_count']
1400
+ end
1401
+
1402
+ if attributes.key?(:'ad_error_percentage')
1403
+ self.ad_error_percentage = attributes[:'ad_error_percentage']
1404
+ end
1405
+
1406
+ if attributes.key?(:'ad_impression_count')
1407
+ self.ad_impression_count = attributes[:'ad_impression_count']
1408
+ end
1409
+
1410
+ if attributes.key?(:'ad_startup_error_count')
1411
+ self.ad_startup_error_count = attributes[:'ad_startup_error_count']
1412
+ end
1413
+
1414
+ if attributes.key?(:'ad_startup_error_percentage')
1415
+ self.ad_startup_error_percentage = attributes[:'ad_startup_error_percentage']
1416
+ end
1417
+
1418
+ if attributes.key?(:'ad_exit_before_start_count')
1419
+ self.ad_exit_before_start_count = attributes[:'ad_exit_before_start_count']
1420
+ end
1421
+
1422
+ if attributes.key?(:'ad_exit_before_start_percentage')
1423
+ self.ad_exit_before_start_percentage = attributes[:'ad_exit_before_start_percentage']
1424
+ end
1425
+
1315
1426
  if attributes.key?(:'long_resume')
1316
1427
  self.long_resume = attributes[:'long_resume']
1317
1428
  end
@@ -1319,6 +1430,18 @@ module MuxRuby
1319
1430
  if attributes.key?(:'long_rebuffering')
1320
1431
  self.long_rebuffering = attributes[:'long_rebuffering']
1321
1432
  end
1433
+
1434
+ if attributes.key?(:'playback_failure_error_type_id')
1435
+ self.playback_failure_error_type_id = attributes[:'playback_failure_error_type_id']
1436
+ end
1437
+
1438
+ if attributes.key?(:'playback_business_exception_error_type_id')
1439
+ self.playback_business_exception_error_type_id = attributes[:'playback_business_exception_error_type_id']
1440
+ end
1441
+
1442
+ if attributes.key?(:'video_startup_business_exception_error_type_id')
1443
+ self.video_startup_business_exception_error_type_id = attributes[:'video_startup_business_exception_error_type_id']
1444
+ end
1322
1445
  end
1323
1446
 
1324
1447
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -1480,8 +1603,22 @@ module MuxRuby
1480
1603
  view_dropped_frame_count == o.view_dropped_frame_count &&
1481
1604
  view_has_ad == o.view_has_ad &&
1482
1605
  video_startup_failure == o.video_startup_failure &&
1606
+ ad_attempt_count == o.ad_attempt_count &&
1607
+ ad_break_count == o.ad_break_count &&
1608
+ ad_break_error_count == o.ad_break_error_count &&
1609
+ ad_break_error_percentage == o.ad_break_error_percentage &&
1610
+ ad_error_count == o.ad_error_count &&
1611
+ ad_error_percentage == o.ad_error_percentage &&
1612
+ ad_impression_count == o.ad_impression_count &&
1613
+ ad_startup_error_count == o.ad_startup_error_count &&
1614
+ ad_startup_error_percentage == o.ad_startup_error_percentage &&
1615
+ ad_exit_before_start_count == o.ad_exit_before_start_count &&
1616
+ ad_exit_before_start_percentage == o.ad_exit_before_start_percentage &&
1483
1617
  long_resume == o.long_resume &&
1484
- long_rebuffering == o.long_rebuffering
1618
+ long_rebuffering == o.long_rebuffering &&
1619
+ playback_failure_error_type_id == o.playback_failure_error_type_id &&
1620
+ playback_business_exception_error_type_id == o.playback_business_exception_error_type_id &&
1621
+ video_startup_business_exception_error_type_id == o.video_startup_business_exception_error_type_id
1485
1622
  end
1486
1623
 
1487
1624
  # @see the `==` method
@@ -1493,7 +1630,7 @@ module MuxRuby
1493
1630
  # Calculates hash code according to all attributes.
1494
1631
  # @return [Integer] Hash code
1495
1632
  def hash
1496
- [view_total_upscaling, preroll_ad_asset_hostname, player_source_domain, region, viewer_user_agent, preroll_requested, page_type, startup_score, view_seek_duration, country_name, player_source_height, longitude, buffering_count, video_duration, player_source_type, city, view_id, platform_description, video_startup_preroll_request_time, viewer_device_name, video_series, viewer_application_name, updated_at, view_total_content_playback_time, cdn, player_instance_id, video_language, player_source_width, player_error_message, player_mux_plugin_version, watched, playback_score, page_url, metro, view_max_request_latency, requests_for_first_preroll, view_total_downscaling, latitude, player_source_host_name, inserted_at, view_end, mux_embed_version, player_language, page_load_time, viewer_device_category, video_startup_preroll_load_time, player_version, watch_time, player_source_stream_type, preroll_ad_tag_hostname, viewer_device_manufacturer, rebuffering_score, experiment_name, viewer_os_version, player_preload, buffering_duration, player_view_count, player_software, player_load_time, platform_summary, video_encoding_variant, player_width, view_seek_count, viewer_experience_score, view_error_id, video_variant_name, preroll_played, viewer_application_engine, viewer_os_architecture, player_error_code, buffering_rate, events, player_name, view_start, view_average_request_throughput, video_producer, error_type_id, mux_viewer_id, video_id, continent_code, session_id, exit_before_video_start, video_content_type, viewer_os_family, player_poster, view_average_request_latency, video_variant_id, player_source_duration, player_source_url, mux_api_version, video_title, id, short_time, rebuffer_percentage, time_to_first_frame, viewer_user_id, video_stream_type, player_startup_time, viewer_application_version, view_max_downscale_percentage, view_max_upscale_percentage, country_code, used_fullscreen, isp, property_id, player_autoplay, player_height, asn, asn_name, quality_score, player_software_version, player_mux_plugin_name, sub_property_id, player_remote_played, view_max_playhead_position, view_playing_time, view_session_id, viewer_connection_type, viewer_device_model, weighted_average_bitrate, custom_1, custom_2, custom_3, custom_4, custom_5, custom_6, custom_7, custom_8, custom_9, custom_10, live_stream_latency, asset_id, environment_id, live_stream_id, mux_embed, playback_id, player_error_context, view_drm_type, view_dropped_frame_count, view_has_ad, video_startup_failure, long_resume, long_rebuffering].hash
1633
+ [view_total_upscaling, preroll_ad_asset_hostname, player_source_domain, region, viewer_user_agent, preroll_requested, page_type, startup_score, view_seek_duration, country_name, player_source_height, longitude, buffering_count, video_duration, player_source_type, city, view_id, platform_description, video_startup_preroll_request_time, viewer_device_name, video_series, viewer_application_name, updated_at, view_total_content_playback_time, cdn, player_instance_id, video_language, player_source_width, player_error_message, player_mux_plugin_version, watched, playback_score, page_url, metro, view_max_request_latency, requests_for_first_preroll, view_total_downscaling, latitude, player_source_host_name, inserted_at, view_end, mux_embed_version, player_language, page_load_time, viewer_device_category, video_startup_preroll_load_time, player_version, watch_time, player_source_stream_type, preroll_ad_tag_hostname, viewer_device_manufacturer, rebuffering_score, experiment_name, viewer_os_version, player_preload, buffering_duration, player_view_count, player_software, player_load_time, platform_summary, video_encoding_variant, player_width, view_seek_count, viewer_experience_score, view_error_id, video_variant_name, preroll_played, viewer_application_engine, viewer_os_architecture, player_error_code, buffering_rate, events, player_name, view_start, view_average_request_throughput, video_producer, error_type_id, mux_viewer_id, video_id, continent_code, session_id, exit_before_video_start, video_content_type, viewer_os_family, player_poster, view_average_request_latency, video_variant_id, player_source_duration, player_source_url, mux_api_version, video_title, id, short_time, rebuffer_percentage, time_to_first_frame, viewer_user_id, video_stream_type, player_startup_time, viewer_application_version, view_max_downscale_percentage, view_max_upscale_percentage, country_code, used_fullscreen, isp, property_id, player_autoplay, player_height, asn, asn_name, quality_score, player_software_version, player_mux_plugin_name, sub_property_id, player_remote_played, view_max_playhead_position, view_playing_time, view_session_id, viewer_connection_type, viewer_device_model, weighted_average_bitrate, custom_1, custom_2, custom_3, custom_4, custom_5, custom_6, custom_7, custom_8, custom_9, custom_10, live_stream_latency, asset_id, environment_id, live_stream_id, mux_embed, playback_id, player_error_context, view_drm_type, view_dropped_frame_count, view_has_ad, video_startup_failure, ad_attempt_count, ad_break_count, ad_break_error_count, ad_break_error_percentage, ad_error_count, ad_error_percentage, ad_impression_count, ad_startup_error_count, ad_startup_error_percentage, ad_exit_before_start_count, ad_exit_before_start_percentage, long_resume, long_rebuffering, playback_failure_error_type_id, playback_business_exception_error_type_id, video_startup_business_exception_error_type_id].hash
1497
1634
  end
1498
1635
 
1499
1636
  # Builds the object from hash
@@ -11,5 +11,5 @@ OpenAPI Generator version: 5.0.1
11
11
  =end
12
12
 
13
13
  module MuxRuby
14
- VERSION = '3.12.0'
14
+ VERSION = '3.14.0'
15
15
  end
data/lib/mux_ruby.rb CHANGED
@@ -55,6 +55,8 @@ require 'mux_ruby/models/error'
55
55
  require 'mux_ruby/models/export_date'
56
56
  require 'mux_ruby/models/export_file'
57
57
  require 'mux_ruby/models/filter_value'
58
+ require 'mux_ruby/models/generate_track_subtitles_request'
59
+ require 'mux_ruby/models/generate_track_subtitles_response'
58
60
  require 'mux_ruby/models/get_asset_input_info_response'
59
61
  require 'mux_ruby/models/get_asset_or_live_stream_id_response'
60
62
  require 'mux_ruby/models/get_asset_or_live_stream_id_response_data'
@@ -0,0 +1,34 @@
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 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for MuxRuby::GenerateTrackSubtitlesRequest
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe MuxRuby::GenerateTrackSubtitlesRequest do
21
+ let(:instance) { MuxRuby::GenerateTrackSubtitlesRequest.new }
22
+
23
+ describe 'test an instance of GenerateTrackSubtitlesRequest' do
24
+ it 'should create an instance of GenerateTrackSubtitlesRequest' do
25
+ expect(instance).to be_instance_of(MuxRuby::GenerateTrackSubtitlesRequest)
26
+ end
27
+ end
28
+ describe 'test attribute "generated_subtitles"' do
29
+ it 'should work' do
30
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
31
+ end
32
+ end
33
+
34
+ end
@@ -0,0 +1,34 @@
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 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for MuxRuby::GenerateTrackSubtitlesResponse
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe MuxRuby::GenerateTrackSubtitlesResponse do
21
+ let(:instance) { MuxRuby::GenerateTrackSubtitlesResponse.new }
22
+
23
+ describe 'test an instance of GenerateTrackSubtitlesResponse' do
24
+ it 'should create an instance of GenerateTrackSubtitlesResponse' do
25
+ expect(instance).to be_instance_of(MuxRuby::GenerateTrackSubtitlesResponse)
26
+ end
27
+ end
28
+ describe 'test attribute "data"' do
29
+ it 'should work' do
30
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
31
+ end
32
+ end
33
+
34
+ end