class Bitmovin::Encoding::Encodings::Stream
Attributes
conditions[RW]
create_quality_meta_data[RW]
created_at[RW]
description[RW]
encoding_id[RW]
id[RW]
mode[RW]
modified_at[RW]
name[RW]
Public Class Methods
new(encoding_id, hash = {})
click to toggle source
Calls superclass method
Bitmovin::Resource::new
# File lib/bitmovin/encoding/encodings/stream.rb, line 8 def initialize(encoding_id, hash = {}) set_defaults hsh = ActiveSupport::HashWithIndifferentAccess.new(underscore_hash(hash)) @encoding_id = encoding_id init_instance(File.join("/v1/encoding/encodings/", encoding_id, "streams")) super(hash) @outputs = (hsh[:outputs] || []).map { |output| Bitmovin::Encoding::StreamOutput.new(output) } @input_streams = (hsh[:input_streams] || []).map { |input| StreamInput.new(@encoding_id, @id, input) } @errors = [] @conditions = nil @mode = "STANDARD" end
Public Instance Methods
build_input_stream(opts = {})
click to toggle source
# File lib/bitmovin/encoding/encodings/stream.rb, line 28 def build_input_stream(opts = {}) input = StreamInput.new(@encoding_id, @id, opts) @input_streams << input input end
build_output(opts = {})
click to toggle source
# File lib/bitmovin/encoding/encodings/stream.rb, line 38 def build_output(opts = {}) output = Bitmovin::Encoding::StreamOutput.new(opts) @outputs << output output end
codec_configuration()
click to toggle source
# File lib/bitmovin/encoding/encodings/stream.rb, line 51 def codec_configuration @codec_config_id end
codec_configuration=(configuration)
click to toggle source
# File lib/bitmovin/encoding/encodings/stream.rb, line 44 def codec_configuration=(configuration) if configuration.instance_of?(String) @codec_config_id = configuration else @codec_config_id = configuration.id end end
errors()
click to toggle source
# File lib/bitmovin/encoding/encodings/stream.rb, line 70 def errors @errors end
input_analysis()
click to toggle source
# File lib/bitmovin/encoding/encodings/stream.rb, line 80 def input_analysis path = File.join("/v1/encoding/encodings/", @encoding_id, "streams", @id, "inputs") response = Bitmovin.client.get(path) hash_to_struct(result(response)) end
input_details()
click to toggle source
# File lib/bitmovin/encoding/encodings/stream.rb, line 74 def input_details path = File.join("/v1/encoding/encodings/", @encoding_id, "streams", @id, "input") response = Bitmovin.client.get(path) hash_to_struct(result(response)) end
input_streams()
click to toggle source
# File lib/bitmovin/encoding/encodings/stream.rb, line 24 def input_streams @input_streams end
invalid?()
click to toggle source
# File lib/bitmovin/encoding/encodings/stream.rb, line 66 def invalid? !valid? end
outputs()
click to toggle source
# File lib/bitmovin/encoding/encodings/stream.rb, line 34 def outputs @outputs end
save!()
click to toggle source
Calls superclass method
Bitmovin::Resource#save!
# File lib/bitmovin/encoding/encodings/stream.rb, line 55 def save! if valid? super end end
valid?()
click to toggle source
# File lib/bitmovin/encoding/encodings/stream.rb, line 61 def valid? validate! @errors.empty? end
Private Instance Methods
collect_attributes()
click to toggle source
# File lib/bitmovin/encoding/encodings/stream.rb, line 87 def collect_attributes val = Hash.new [:name, :description, :create_quality_meta_data, :input_streams, :outputs, :codec_config_id, :conditions, :mode].each do |name| json_name = ActiveSupport::Inflector.camelize(name.to_s, false) val[json_name] = instance_variable_get("@#{name}") end if @conditions.nil? val.delete("conditions") end val end
set_defaults()
click to toggle source
# File lib/bitmovin/encoding/encodings/stream.rb, line 117 def set_defaults @create_quality_meta_data = false end
validate!()
click to toggle source
# File lib/bitmovin/encoding/encodings/stream.rb, line 99 def validate! @errors = [] if @input_streams.empty? @errors << "Stream needs at least one input_stream" end @input_streams.each do |stream| @errors << stream.errors if !stream.valid? end @outputs.each do |output| @errors << output.errors if !output.valid? end @errors << "codec_configuration must be set" if @codec_config_id.blank? @errors.flatten! end