class Bitmovin::Encoding::Inputs::AnalysisTask
Attributes
id[R]
input_id[R]
Public Class Methods
new(input, analysis_id)
click to toggle source
Creates a new Analysis
object
Parameters:¶ ↑
- input
-
Either an input-id (string) or a
InputResource
- analysis_id
-
Id of the analysis task
# File lib/bitmovin/encoding/inputs/analysis_task.rb, line 9 def initialize(input, analysis_id) if (input.instance_of?(String)) @input_id = input else @input_id = input.id @input = input end @id = analysis_id end
Public Instance Methods
created?()
click to toggle source
# File lib/bitmovin/encoding/inputs/analysis_task.rb, line 36 def created? status.status == "CREATED" end
error?()
click to toggle source
# File lib/bitmovin/encoding/inputs/analysis_task.rb, line 52 def error? status.status == "ERROR" end
eta?()
click to toggle source
# File lib/bitmovin/encoding/inputs/analysis_task.rb, line 56 def eta? status.eta end
finished?()
click to toggle source
# File lib/bitmovin/encoding/inputs/analysis_task.rb, line 48 def finished? status.status == "FINISHED" end
input()
click to toggle source
# File lib/bitmovin/encoding/inputs/analysis_task.rb, line 21 def input @input end
progress?()
click to toggle source
# File lib/bitmovin/encoding/inputs/analysis_task.rb, line 60 def progress? status.progress end
queued?()
click to toggle source
# File lib/bitmovin/encoding/inputs/analysis_task.rb, line 40 def queued? status.status == "QUEUED" end
result()
click to toggle source
Returns the analysis result Will raise and error if analysis is not yet finished
# File lib/bitmovin/encoding/inputs/analysis_task.rb, line 66 def result if !finished? raise BitmovinError.new(self), "analysis is not finished yet" end Analysis.new(@input_id).find(@id) end
running?()
click to toggle source
# File lib/bitmovin/encoding/inputs/analysis_task.rb, line 44 def running? status.status == "RUNNING" end
status()
click to toggle source
# File lib/bitmovin/encoding/inputs/analysis_task.rb, line 25 def status five_seconds_ago = (Time.now - 5) puts @last_status_call if @last_status_call.nil? || @last_status_call <= five_seconds_ago response = Bitmovin.client.get File.join("/v1/encoding/inputs/", @input_id, "analysis", @id, "status") @status_result = OpenStruct.new(JSON.parse(response.body)['data']['result']['analysis']) @last_status_call = Time.now end @status_result end