bitmovin-ruby 0.4.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.ruby-version +1 -0
  4. data/.travis.yml +1 -1
  5. data/Gemfile.lock +49 -49
  6. data/README.md +1 -1
  7. data/bitmovin-ruby.gemspec +3 -3
  8. data/lib/bitmovin-ruby.rb +2 -2
  9. data/lib/bitmovin/client.rb +8 -6
  10. data/lib/bitmovin/encoding/encodings.rb +4 -1
  11. data/lib/bitmovin/encoding/encodings/input_streams/ingest.rb +44 -0
  12. data/lib/bitmovin/encoding/encodings/input_streams/trimming/time_based.rb +48 -0
  13. data/lib/bitmovin/encoding/encodings/muxings/drms/drm_muxing_resource.rb +1 -1
  14. data/lib/bitmovin/encoding/encodings/muxings/mp4_muxing.rb +1 -0
  15. data/lib/bitmovin/encoding/encodings/muxings/muxing_resource.rb +1 -1
  16. data/lib/bitmovin/encoding/encodings/sprites/sprite.rb +76 -0
  17. data/lib/bitmovin/encoding/encodings/stream.rb +16 -2
  18. data/lib/bitmovin/encoding/encodings/stream_input.rb +5 -3
  19. data/lib/bitmovin/encoding/encodings/thumbnails/thumbnail.rb +71 -0
  20. data/lib/bitmovin/encoding/manifests/audio_adaptation_set.rb +1 -2
  21. data/lib/bitmovin/encoding/manifests/fmp4_representation.rb +1 -2
  22. data/lib/bitmovin/encoding/manifests/hls_audio_media.rb +16 -11
  23. data/lib/bitmovin/encoding/manifests/hls_variant_stream.rb +1 -1
  24. data/lib/bitmovin/encoding/manifests/hls_variant_stream_list.rb +1 -2
  25. data/lib/bitmovin/encoding/manifests/manifest_resource.rb +1 -1
  26. data/lib/bitmovin/encoding/manifests/period.rb +1 -1
  27. data/lib/bitmovin/encoding/manifests/video_adaptation_set.rb +1 -2
  28. data/lib/bitmovin/encoding/stream_output.rb +1 -0
  29. data/lib/bitmovin/helpers.rb +5 -1
  30. data/lib/bitmovin/resource.rb +19 -13
  31. data/lib/bitmovin/version.rb +1 -1
  32. data/lib/bitmovin/webhooks.rb +1 -0
  33. data/lib/bitmovin/webhooks/encoding_error_webhook.rb +14 -0
  34. data/lib/bitmovin/webhooks/encoding_finished_webhook.rb +9 -0
  35. metadata +17 -17
  36. data/examples/create_encoding_finished_webhook.rb +0 -21
  37. data/examples/dash_hls_mp4_encoding_with_manifests.rb +0 -502
  38. data/examples/hls_multi_codec.rb +0 -205
  39. data/examples/simple_dash.rb +0 -221
  40. data/examples/simple_dash_with_http_input.rb +0 -216
  41. data/examples/simple_hls_with_aes128.rb +0 -197
@@ -3,18 +3,20 @@ module Bitmovin::Encoding::Encodings
3
3
  attr_accessor :encoding_id
4
4
  attr_accessor :id
5
5
  attr_accessor :conditions
6
+ attr_accessor :mode
6
7
 
7
8
  def initialize(encoding_id, hash = {})
8
9
  set_defaults
9
10
  hsh = ActiveSupport::HashWithIndifferentAccess.new(underscore_hash(hash))
10
11
  @encoding_id = encoding_id
11
- self.class.init(File.join("/v1/encoding/encodings/", encoding_id, "streams"))
12
+ init_instance(File.join("/v1/encoding/encodings/", encoding_id, "streams"))
12
13
  super(hash)
13
14
  @outputs = (hsh[:outputs] || []).map { |output| Bitmovin::Encoding::StreamOutput.new(output) }
14
15
  @input_streams = (hsh[:input_streams] || []).map { |input| StreamInput.new(@encoding_id, @id, input) }
15
16
 
16
17
  @errors = []
17
18
  @conditions = nil
19
+ @mode = "STANDARD"
18
20
  end
19
21
 
20
22
  attr_accessor :name, :description, :created_at, :modified_at, :create_quality_meta_data
@@ -69,11 +71,23 @@ module Bitmovin::Encoding::Encodings
69
71
  @errors
70
72
  end
71
73
 
74
+ def input_details
75
+ path = File.join("/v1/encoding/encodings/", @encoding_id, "streams", @id, "input")
76
+ response = Bitmovin.client.get(path)
77
+ hash_to_struct(result(response))
78
+ end
79
+
80
+ def input_analysis
81
+ path = File.join("/v1/encoding/encodings/", @encoding_id, "streams", @id, "inputs")
82
+ response = Bitmovin.client.get(path)
83
+ hash_to_struct(result(response))
84
+ end
85
+
72
86
  private
73
87
  def collect_attributes
74
88
  val = Hash.new
75
89
  [:name, :description, :create_quality_meta_data,
76
- :input_streams, :outputs, :codec_config_id, :conditions].each do |name|
90
+ :input_streams, :outputs, :codec_config_id, :conditions, :mode].each do |name|
77
91
  json_name = ActiveSupport::Inflector.camelize(name.to_s, false)
78
92
  val[json_name] = instance_variable_get("@#{name}")
79
93
  end
@@ -10,7 +10,7 @@ module Bitmovin::Encoding::Encodings
10
10
  end
11
11
 
12
12
  attr_accessor :encoding_id, :stream_id
13
- attr_accessor :input_id, :input_path, :selection_mode, :position
13
+ attr_accessor :input_id, :input_path, :selection_mode, :position, :input_stream_id
14
14
 
15
15
  def valid?
16
16
  validate!
@@ -29,10 +29,10 @@ module Bitmovin::Encoding::Encodings
29
29
  collect_attributes.to_json(args)
30
30
  end
31
31
 
32
- private
32
+ private
33
33
  def collect_attributes
34
34
  val = Hash.new
35
- [:input_id, :input_path, :selection_mode, :position].each do |name|
35
+ [:input_id, :input_path, :selection_mode, :position, :input_stream_id].each do |name|
36
36
  json_name = ActiveSupport::Inflector.camelize(name.to_s, false)
37
37
  value = instance_variable_get("@#{name}")
38
38
  if (!value.nil?)
@@ -42,6 +42,8 @@ module Bitmovin::Encoding::Encodings
42
42
  val
43
43
  end
44
44
  def validate!
45
+ return unless @input_stream_id.blank?
46
+
45
47
  @errors << "input_id cannot be blank" if @input_id.blank?
46
48
  @errors << "input_path cannot be blank" if @input_path.blank?
47
49
  @errors << "selection_mode cannot be blank" if @selection_mode.blank?
@@ -0,0 +1,71 @@
1
+ module Bitmovin::Encoding::Encodings
2
+ class Thumbnail < Bitmovin::Resource
3
+
4
+ def initialize(encoding_id, stream_id, hash = {})
5
+ @errors = []
6
+ init_instance(File.join('/v1/encoding/encodings', encoding_id, 'streams', stream_id, 'thumbnails'))
7
+
8
+ @encoding_id = encoding_id
9
+ @stream_id = stream_id
10
+
11
+ hsh = ActiveSupport::HashWithIndifferentAccess.new(underscore_hash(hash))
12
+ @positions = hsh[:positions] || []
13
+ @unit = hsh[:unit]
14
+ @height = hsh[:height]
15
+ @pattern = hsh[:pattern]
16
+ @outputs = (hsh[:outputs] || []).map { |output| Bitmovin::Encoding::StreamOutput.new(output) }
17
+ end
18
+
19
+ attr_accessor :positions, :unit, :height, :pattern, :outputs
20
+
21
+ def save!
22
+ if valid?
23
+ super
24
+ end
25
+ end
26
+
27
+ def errors
28
+ @errors
29
+ end
30
+
31
+ def valid?
32
+ validate!
33
+ unless @errors.empty?
34
+ puts errors
35
+ return false
36
+ end
37
+ true
38
+ end
39
+
40
+ def invalid?
41
+ !valid?
42
+ end
43
+
44
+ def validate!
45
+ @errors = []
46
+
47
+ if @positions.nil? || @positions.empty?
48
+ @errors << 'There has to be at least one position for a thumbnail'
49
+ end
50
+
51
+ if @height.nil? || @height <= 0
52
+ @errors << 'The height has to be set and must be greater than 0'
53
+ end
54
+
55
+ if @pattern.nil? || @pattern.blank?
56
+ @errors << 'The pattern has to be set and must not be blank'
57
+ end
58
+
59
+ unless ['SECONDS', 'PERCENTS', nil].include? @unit
60
+ @errors << "The unit can only be 'SECONDS' or 'PERCENTS'"
61
+ end
62
+
63
+ @outputs.each do |output|
64
+ @errors << output.errors unless output.valid?
65
+ end
66
+
67
+ @errors.flatten!
68
+ end
69
+
70
+ end
71
+ end
@@ -2,8 +2,7 @@ module Bitmovin::Encoding::Manifests
2
2
  class AudioAdaptationSet < Bitmovin::Resource
3
3
  include Bitmovin::ChildCollection
4
4
  def initialize(manifest_id, period_id, hash = {})
5
- path = File.join("/v1/encoding/manifests/dash/", manifest_id, "periods", period_id, "adaptationsets/audio")
6
- self.class.init(path)
5
+ init_instance(File.join("/v1/encoding/manifests/dash/", manifest_id, "periods", period_id, "adaptationsets/audio"))
7
6
  @manifest_id = manifest_id
8
7
  @period_id = period_id
9
8
  end
@@ -1,8 +1,7 @@
1
1
  module Bitmovin::Encoding::Manifests
2
2
  class Fmp4Representation < Bitmovin::Resource
3
3
  def initialize(manifest_id, period_id, adaptationset_id, hash = {})
4
- path = File.join("/v1/encoding/manifests/dash/", manifest_id, "periods", period_id, "adaptationsets/", adaptationset_id, "representations/fmp4")
5
- self.class.init(path)
4
+ init_instance(File.join("/v1/encoding/manifests/dash/", manifest_id, "periods", period_id, "adaptationsets/", adaptationset_id, "representations/fmp4"))
6
5
  super(hash)
7
6
  @manifest_id = manifest_id
8
7
  @period_id = period_id
@@ -1,27 +1,32 @@
1
1
  module Bitmovin::Encoding::Manifests
2
2
  class HlsAudioMedia < Bitmovin::Resource
3
3
  attr_accessor :manifest_id
4
- attr_accessor :groupId
4
+ attr_accessor :group_id
5
5
  attr_accessor :language
6
- attr_accessor :assocLanguage
6
+ attr_accessor :assoc_language
7
7
  attr_accessor :name
8
- attr_accessor :isDefault
8
+ attr_accessor :is_default
9
9
  attr_accessor :autoselect
10
10
  attr_accessor :characteristics
11
- attr_accessor :segmentPath
12
- attr_accessor :encodingId
13
- attr_accessor :streamId
14
- attr_accessor :muxingId
15
- attr_accessor :drmId
16
- attr_accessor :startSegmentNumber
17
- attr_accessor :endSegmentNumber
11
+ attr_accessor :segment_path
12
+ attr_accessor :encoding_id
13
+ attr_accessor :stream_id
14
+ attr_accessor :muxing_id
15
+ attr_accessor :drm_id
16
+ attr_accessor :start_segment_number
17
+ attr_accessor :end_segment_number
18
18
  attr_accessor :uri
19
19
 
20
20
  def initialize(manifest_id, hash = {})
21
21
  hsh = ActiveSupport::HashWithIndifferentAccess.new(underscore_hash(hash))
22
22
  @manifest_id = manifest_id
23
- self.class.init(File.join("/v1/encoding/manifests/hls/", manifest_id, "media/audio"))
23
+ init_instance(File.join("/v1/encoding/manifests/hls/", manifest_id, "media/audio"))
24
24
  super(hsh)
25
25
  end
26
+
27
+ def ignore_fields
28
+ return [:@manifest_id, :@id]
29
+ end
30
+
26
31
  end
27
32
  end
@@ -13,7 +13,7 @@ module Bitmovin::Encoding::Manifests
13
13
  def initialize(manifest_id, hash = {})
14
14
  hsh = ActiveSupport::HashWithIndifferentAccess.new(underscore_hash(hash))
15
15
  @manifest_id = manifest_id
16
- self.class.init(File.join("/v1/encoding/manifests/hls/", manifest_id, "streams"))
16
+ init_instance(File.join("/v1/encoding/manifests/hls/", manifest_id, "streams"))
17
17
  super(hsh)
18
18
  end
19
19
  end
@@ -1,11 +1,10 @@
1
1
  module Bitmovin::Encoding::Manifests
2
2
  class HlsVariantStreamList < Bitmovin::Resource
3
- init "streams"
4
3
  attr_accessor :manifest_id
5
4
 
6
5
  def initialize(manifest_id)
7
6
  @manifest_id = manifest_id
8
- self.class.init(File.join("/v1/encoding/manifests/", manifest_id, "streams"))
7
+ init_instance(File.join("/v1/encoding/manifests/", manifest_id, "streams"))
9
8
  #super(hsh)
10
9
  end
11
10
 
@@ -3,7 +3,7 @@ module Bitmovin::Encoding::Manifests
3
3
  def initialize(hash = {})
4
4
  hsh = ActiveSupport::HashWithIndifferentAccess.new(underscore_hash(hash))
5
5
  muxing_type = self.class.name.demodulize.gsub(/(.*)Muxing/, '\1').downcase
6
- self.class.init(File.join("/v1/encoding/manifests/", encoding_id, "muxings", muxing_type))
6
+ init_instance(File.join("/v1/encoding/manifests/", encoding_id, "muxings", muxing_type))
7
7
  super(hsh)
8
8
  @outputs = (hsh[:outputs] || []).map do |output|
9
9
  Bitmovin::Encoding::Encodings::StreamOutput.new(encoding_id, @id, output)
@@ -3,7 +3,7 @@ module Bitmovin::Encoding::Manifests
3
3
  include Bitmovin::ChildCollection
4
4
 
5
5
  def initialize(manifest_id, hash = {})
6
- self.class.init(File.join("/v1/encoding/manifests/dash/", manifest_id, "periods"))
6
+ init_instance(File.join("/v1/encoding/manifests/dash/", manifest_id, "periods"))
7
7
  @manifest_id = manifest_id
8
8
  super(hash)
9
9
  @video_adaptationsets = nil
@@ -2,8 +2,7 @@ module Bitmovin::Encoding::Manifests
2
2
  class VideoAdaptationSet < Bitmovin::Resource
3
3
  include Bitmovin::ChildCollection
4
4
  def initialize(manifest_id, period_id, hash = {})
5
- path = File.join("/v1/encoding/manifests/dash/", manifest_id, "periods", period_id, "adaptationsets/video")
6
- self.class.init(path)
5
+ init_instance(File.join("/v1/encoding/manifests/dash/", manifest_id, "periods", period_id, "adaptationsets/video"))
7
6
  super(hash)
8
7
  @manifest_id = manifest_id
9
8
  @period_id = period_id
@@ -36,6 +36,7 @@ module Bitmovin::Encoding
36
36
  end
37
37
  val
38
38
  end
39
+
39
40
  def validate!
40
41
  @errors << "output_id cannot be blank" if @output_id.blank?
41
42
  @errors << "output_path cannot be blank" if @output_path.blank?
@@ -10,7 +10,11 @@ module Bitmovin::Helpers
10
10
  def camelize_hash(hash)
11
11
  ret = Hash.new
12
12
  hash.each do |key, value|
13
- ret[ActiveSupport::Inflector.camelize(key, false)] = value
13
+ if value.is_a?(Hash)
14
+ ret[ActiveSupport::Inflector.camelize(key, false)] = camelize_hash(value)
15
+ else
16
+ ret[ActiveSupport::Inflector.camelize(key, false)] = value
17
+ end
14
18
  end
15
19
  ret
16
20
  end
@@ -8,7 +8,6 @@ module Bitmovin
8
8
  end
9
9
  attr_reader :resource_path
10
10
 
11
-
12
11
  def list(limit = 100, offset = 0)
13
12
  response = Bitmovin.client.get @resource_path, limit: limit, offset: offset
14
13
  Bitmovin::Helpers.result(response)['items'].map do |item|
@@ -22,6 +21,10 @@ module Bitmovin
22
21
  end
23
22
  end
24
23
 
24
+ def init_instance(path)
25
+ @instance_resource_path = path
26
+ end
27
+
25
28
  attr_accessor :id, :name, :description, :created_at, :modified_at
26
29
 
27
30
 
@@ -35,7 +38,7 @@ module Bitmovin
35
38
  end
36
39
 
37
40
  response = Bitmovin.client.post do |post|
38
- post.url self.class.resource_path
41
+ post.url resource_path
39
42
  post.body = collect_attributes
40
43
  end
41
44
  yield(response.body) if block_given?
@@ -48,7 +51,7 @@ module Bitmovin
48
51
  end
49
52
 
50
53
  def delete!
51
- Bitmovin.client.delete File.join(self.class.resource_path, @id)
54
+ Bitmovin.client.delete File.join(resource_path, @id)
52
55
  end
53
56
 
54
57
  def inspect
@@ -57,6 +60,10 @@ module Bitmovin
57
60
 
58
61
  private
59
62
 
63
+ def resource_path
64
+ @instance_resource_path || self.class.resource_path
65
+ end
66
+
60
67
  def init_from_hash(hash = {})
61
68
  hash.each do |name, value|
62
69
  instance_variable_set("@#{ActiveSupport::Inflector.underscore(name)}", value)
@@ -64,23 +71,22 @@ module Bitmovin
64
71
  end
65
72
 
66
73
  def collect_attributes
67
- val = Hash.new
68
74
  ignored_variables = []
69
75
  if (self.respond_to?(:ignore_fields))
70
76
  ignored_variables = self.ignore_fields
71
77
  end
72
- instance_variables.each do |name|
73
- if ignored_variables.include?(name)
74
- next
75
- end
76
- if name == :@max_ctu_size
77
- val['maxCTUSize'] = instance_variable_get(name)
78
+ ignored_variables.push(:@instance_resource_path)
79
+ attributes_value = instance_variables.inject({}) do |result, item|
80
+ if ignored_variables.include?(item)
81
+ result
78
82
  else
79
- json_name = ActiveSupport::Inflector.camelize(name.to_s.gsub(/@/, ''), false)
80
- val[json_name] = instance_variable_get(name)
83
+ name = item == :@max_ctu_size ? 'maxCTUSize' : item.to_s.gsub(/@/, '')
84
+ result.merge(
85
+ name => instance_variable_get(item)
86
+ )
81
87
  end
82
88
  end
83
- val
89
+ camelize_hash(attributes_value)
84
90
  end
85
91
  end
86
92
  end
@@ -1,3 +1,3 @@
1
1
  module Bitmovin
2
- VERSION = "0.4.0"
2
+ VERSION = "0.9.0"
3
3
  end
@@ -4,5 +4,6 @@ module Bitmovin
4
4
  end
5
5
  require 'bitmovin/webhooks/webhook_resource'
6
6
  require 'bitmovin/webhooks/encoding_finished_webhook'
7
+ require 'bitmovin/webhooks/encoding_error_webhook'
7
8
  require 'bitmovin/webhooks/webhook_encryption'
8
9
  require 'bitmovin/webhooks/webhook_signature'
@@ -0,0 +1,14 @@
1
+ module Bitmovin::Webhooks
2
+ class EncodingErrorWebhook < WebhookResource
3
+ init 'notifications/webhooks/encoding/encodings/error'
4
+ def initialize(encoding_id, hash = {})
5
+ if encoding_id.kind_of?(String)
6
+ @encoding_id = encoding_id
7
+ init_instance("notifications/webhooks/encoding/encodings/#{encoding_id}/error")
8
+ else
9
+ hash = encoding_id
10
+ end
11
+ init_from_hash(hash)
12
+ end
13
+ end
14
+ end
@@ -1,5 +1,14 @@
1
1
  module Bitmovin::Webhooks
2
2
  class EncodingFinishedWebhook < WebhookResource
3
3
  init 'notifications/webhooks/encoding/encodings/finished'
4
+ def initialize(encoding_id = {}, hash = {})
5
+ if encoding_id.kind_of?(String)
6
+ @encoding_id = encoding_id
7
+ init_instance("notifications/webhooks/encoding/encodings/#{encoding_id}/finished")
8
+ else
9
+ hash = encoding_id
10
+ end
11
+ init_from_hash(hash)
12
+ end
4
13
  end
5
14
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitmovin-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Hoelbling-Inzko
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-12-04 00:00:00.000000000 Z
11
+ date: 2021-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -78,28 +78,28 @@ dependencies:
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '1.13'
81
+ version: 2.2.11
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '1.13'
88
+ version: 2.2.11
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: rake
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '10.0'
95
+ version: '13.0'
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '10.0'
102
+ version: '13.0'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: rspec
105
105
  requirement: !ruby/object:Gem::Requirement
@@ -123,6 +123,7 @@ extra_rdoc_files: []
123
123
  files:
124
124
  - ".gitignore"
125
125
  - ".rspec"
126
+ - ".ruby-version"
126
127
  - ".travis.yml"
127
128
  - Gemfile
128
129
  - Gemfile.lock
@@ -133,12 +134,6 @@ files:
133
134
  - bin/console
134
135
  - bin/setup
135
136
  - bitmovin-ruby.gemspec
136
- - examples/create_encoding_finished_webhook.rb
137
- - examples/dash_hls_mp4_encoding_with_manifests.rb
138
- - examples/hls_multi_codec.rb
139
- - examples/simple_dash.rb
140
- - examples/simple_dash_with_http_input.rb
141
- - examples/simple_hls_with_aes128.rb
142
137
  - lib/bitmovin-ruby.rb
143
138
  - lib/bitmovin/bitmovin_error.rb
144
139
  - lib/bitmovin/child_collection.rb
@@ -152,6 +147,8 @@ files:
152
147
  - lib/bitmovin/encoding/codec_configurations/vp9_configuration.rb
153
148
  - lib/bitmovin/encoding/encodings.rb
154
149
  - lib/bitmovin/encoding/encodings/encoding_task.rb
150
+ - lib/bitmovin/encoding/encodings/input_streams/ingest.rb
151
+ - lib/bitmovin/encoding/encodings/input_streams/trimming/time_based.rb
155
152
  - lib/bitmovin/encoding/encodings/list.rb
156
153
  - lib/bitmovin/encoding/encodings/muxing_list.rb
157
154
  - lib/bitmovin/encoding/encodings/muxings/drms/drm_muxing_resource.rb
@@ -168,9 +165,11 @@ files:
168
165
  - lib/bitmovin/encoding/encodings/muxings/ts_muxing_list.rb
169
166
  - lib/bitmovin/encoding/encodings/muxings/webm_muxing.rb
170
167
  - lib/bitmovin/encoding/encodings/muxings/webm_muxing_list.rb
168
+ - lib/bitmovin/encoding/encodings/sprites/sprite.rb
171
169
  - lib/bitmovin/encoding/encodings/stream.rb
172
170
  - lib/bitmovin/encoding/encodings/stream_input.rb
173
171
  - lib/bitmovin/encoding/encodings/stream_list.rb
172
+ - lib/bitmovin/encoding/encodings/thumbnails/thumbnail.rb
174
173
  - lib/bitmovin/encoding/inputs.rb
175
174
  - lib/bitmovin/encoding/inputs/analysis.rb
176
175
  - lib/bitmovin/encoding/inputs/analysis_task.rb
@@ -207,6 +206,7 @@ files:
207
206
  - lib/bitmovin/resource.rb
208
207
  - lib/bitmovin/version.rb
209
208
  - lib/bitmovin/webhooks.rb
209
+ - lib/bitmovin/webhooks/encoding_error_webhook.rb
210
210
  - lib/bitmovin/webhooks/encoding_finished_webhook.rb
211
211
  - lib/bitmovin/webhooks/webhook_encryption.rb
212
212
  - lib/bitmovin/webhooks/webhook_resource.rb
@@ -215,7 +215,7 @@ homepage: https://github.com/bitmovin/bitmovin-ruby
215
215
  licenses:
216
216
  - MIT
217
217
  metadata: {}
218
- post_install_message:
218
+ post_install_message:
219
219
  rdoc_options: []
220
220
  require_paths:
221
221
  - lib
@@ -230,9 +230,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
230
230
  - !ruby/object:Gem::Version
231
231
  version: '0'
232
232
  requirements: []
233
- rubyforge_project:
234
- rubygems_version: 2.6.12
235
- signing_key:
233
+ rubyforge_project:
234
+ rubygems_version: 2.5.2.3
235
+ signing_key:
236
236
  specification_version: 4
237
237
  summary: Api Client for the Bitmovin API
238
238
  test_files: []