awslive-poster 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: df64c7f470bd9e2d44a2198ec794d6573f4e4d516dc5cbfcdd16a49ae03ea9e2
4
- data.tar.gz: 6f2f54a4907142a17b4358d334d322055bec9bf08a833a18d8cb4069ae0967c0
3
+ metadata.gz: c19944959ef73fb75ec58858c59febda14b281d1d65da922b836d181a633d363
4
+ data.tar.gz: b285bd04100e1b185aedbd55121a9b23dd3ef44c4b0cbdbfe345c2529238822b
5
5
  SHA512:
6
- metadata.gz: ad5b38a8ab418dd169dc0b9e49bd07f68862c05ae30912f07e85ec9f90c1973b58f55a0bdd38b315408e1cb6a2936041c1c62e47da4c971567cb6c9203c01a21
7
- data.tar.gz: b1d55f9bb287bf8f426b5d09e71161f078fa049b2097aeb7a403a8bc020eef04fa4e1e8f50da64c0ae2a4055912801bc6a6d62852831ce5226f3b59b74afd4d9
6
+ metadata.gz: 5e430229ee5e589462cc7d8de2809215d26d1afddbe08e4940d5c4af9a08508b32fca0fb90788fbb17f040bc832b0bb7540cf4ddbbb4d5e612208dd789f6a200
7
+ data.tar.gz: d9d6bb2f679a975fbdaf4630ba348f8015e20f4dc88f18459fc191b124d5336c2b2da311d4f92421ed58ae102e70faf50fe0d6d6c4249723ce13779bbf404c44
@@ -33,15 +33,6 @@ module Awslive
33
33
  end
34
34
 
35
35
  def get_url(channel_info = nil)
36
- if !@last_computed_time.nil? && !@last_preview_url.nil? && !@interval.nil?
37
- threshold_gap = @interval > MAX_CHANNEL_START_TIME ? MAX_CHANNEL_START_TIME : @interval
38
- current_time = Time.now.to_i
39
- if current_time - @last_computed_time < threshold_gap
40
- # quick fetch hence returning already computed preview URL.
41
- puts "returning from cache"
42
- return @last_preview_url
43
- end
44
- end
45
36
  preview_url = nil
46
37
  channel_info = @medialiveclient.describe_channel({ :channel_id => "#{@channel_id}" }) if channel_info.nil?
47
38
  channel_state = channel_info[:state]
@@ -60,23 +51,33 @@ module Awslive
60
51
  suffix = uri.path[1..-1]
61
52
  bucket = @s3.bucket("#{uri.host}")
62
53
  obj = bucket.object("#{suffix}#{modifier}.#{seq_counter}.jpg")
63
- if obj.exists?
64
- preview_url = obj.presigned_url(:get)
65
- else
66
- raise PosterImageDoesNotExist.new("Poster Image #{suffix}#{modifier}.#{seq_counter}.jpg Does not exist!")
54
+ preview_url = get_presigned_url(obj)
55
+ if preview_url.nil?
56
+ puts "seems delay in generating posters; giving a pause for fetching!!"
57
+ sleep (@interval / 2 ).round
58
+ preview_url = get_presigned_url(obj)
67
59
  end
60
+ raise PosterImageDoesNotExist.new("Poster Image #{suffix}#{modifier}.#{seq_counter}.jpg Does not exist!") if preview_url.nil?
68
61
  else
69
62
  raise InvalidChannelState.new("Channel Need to be in running state!, current state is #{channel_state}")
70
63
  end
71
- @last_preview_url = preview_url
72
64
  preview_url
73
65
  end
74
66
 
67
+ def get_presigned_url(obj)
68
+ url = nil
69
+ puts "Fetching the object at #{Time.now}"
70
+ if obj.exists?
71
+ url = obj.presigned_url(:get)
72
+ end
73
+ url
74
+ end
75
+
75
76
  def compute_index(start_time, interval)
76
77
  channel_start_time = Time.iso8601(start_time).to_i
77
78
  current_time = Time.now.utc.to_i
78
79
  diff_time = current_time - channel_start_time
79
- image_index = (diff_time / interval.to_i).to_i.round
80
+ image_index = (diff_time / interval.to_i).round
80
81
  index = image_index.to_s.rjust(5,'0')
81
82
  index
82
83
  end
@@ -152,4 +153,4 @@ module Awslive
152
153
  video_info
153
154
  end
154
155
  end
155
- end
156
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awslive-poster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maheshwaran G
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-02-21 00:00:00.000000000 Z
11
+ date: 2020-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler