vidibus-recording 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -13,7 +13,7 @@ module Vidibus::Recording
13
13
  raise ProtocolError.new(%(No protocol could be derived stream "#{stream}")) if protocol == ""
14
14
 
15
15
  for backend in BACKENDS
16
- require "recording/backend/#{backend}"
16
+ require "vidibus/recording/backend/#{backend}"
17
17
  backend_class = "Vidibus::Recording::Backend::#{backend.classify}".constantize
18
18
  if backend_class::PROTOCOLS.include?(protocol)
19
19
  return backend_class.new(attributes)
@@ -22,4 +22,4 @@ module Vidibus::Recording
22
22
  raise ProtocolError.new(%(No recording backend available for "#{protocol}" protocol.))
23
23
  end
24
24
  end
25
- end
25
+ end
@@ -14,7 +14,12 @@ module Vidibus::Recording
14
14
 
15
15
  def start
16
16
  self.pid = fork do
17
- record!
17
+ begin
18
+ record!
19
+ rescue => e
20
+ fail(e.inspect)
21
+ return
22
+ end
18
23
  end
19
24
  Process.detach(pid)
20
25
  pid
@@ -52,7 +57,7 @@ module Vidibus::Recording
52
57
  maxloops = 10
53
58
  loop do
54
59
  begin
55
- string = stdout.read_nonblock(1024)
60
+ string = stdout.read_nonblock(1024).force_encoding('UTF-8')
56
61
  log(string)
57
62
  extract_metadata(string) unless metadata
58
63
  rescue Errno::EAGAIN
@@ -62,7 +67,7 @@ module Vidibus::Recording
62
67
  unless metadata
63
68
  maxloops -= 1
64
69
  if maxloops == 0
65
- recording.fail("No Metadata has been received. This stream does not work.")
70
+ fail('No Metadata has been received. This stream does not work.')
66
71
  return
67
72
  end
68
73
  end
@@ -78,6 +83,11 @@ module Vidibus::Recording
78
83
  end
79
84
  end
80
85
 
86
+ def fail(msg)
87
+ log("\n\n---------\nError:\n#{msg}")
88
+ recording.fail(msg)
89
+ end
90
+
81
91
  def extract_metadata(string)
82
92
  self.metadata = recording.backend.extract_metadata(string)
83
93
  if metadata
@@ -1,5 +1,5 @@
1
1
  module Vidibus
2
2
  module Recording
3
- VERSION = '0.0.6'
3
+ VERSION = '0.0.7'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,173 +1,182 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: vidibus-recording
3
- version: !ruby/object:Gem::Version
4
- hash: 19
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.7
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 6
10
- version: 0.0.6
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Andre Pankratz
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2013-04-14 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- version_requirements: &id001 !ruby/object:Gem::Requirement
12
+ date: 2013-05-30 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: !ruby/object:Gem::Requirement
22
17
  none: false
23
- requirements:
18
+ requirements:
24
19
  - - ~>
25
- - !ruby/object:Gem::Version
26
- hash: 5
27
- segments:
28
- - 3
29
- version: "3"
20
+ - !ruby/object:Gem::Version
21
+ version: '3'
30
22
  type: :runtime
31
- requirement: *id001
32
23
  prerelease: false
33
- name: activesupport
34
- - !ruby/object:Gem::Dependency
35
- version_requirements: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
36
25
  none: false
37
- requirements:
26
+ requirements:
38
27
  - - ~>
39
- - !ruby/object:Gem::Version
40
- hash: 7
41
- segments:
42
- - 2
43
- version: "2"
44
- type: :runtime
45
- requirement: *id002
46
- prerelease: false
28
+ - !ruby/object:Gem::Version
29
+ version: '3'
30
+ - !ruby/object:Gem::Dependency
47
31
  name: mongoid
48
- - !ruby/object:Gem::Dependency
49
- version_requirements: &id003 !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- hash: 3
55
- segments:
56
- - 0
57
- version: "0"
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '2'
58
38
  type: :runtime
59
- requirement: *id003
60
39
  prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '2'
46
+ - !ruby/object:Gem::Dependency
61
47
  name: delayed_job_mongoid
62
- - !ruby/object:Gem::Dependency
63
- version_requirements: &id004 !ruby/object:Gem::Requirement
64
- none: false
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- hash: 3
69
- segments:
70
- - 0
71
- version: "0"
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
72
54
  type: :runtime
73
- requirement: *id004
74
55
  prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
75
63
  name: vidibus-uuid
76
- - !ruby/object:Gem::Dependency
77
- version_requirements: &id005 !ruby/object:Gem::Requirement
78
- none: false
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- hash: 23
83
- segments:
84
- - 1
85
- - 0
86
- - 0
87
- version: 1.0.0
88
- type: :development
89
- requirement: *id005
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
90
71
  prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
91
79
  name: bundler
92
- - !ruby/object:Gem::Dependency
93
- version_requirements: &id006 !ruby/object:Gem::Requirement
94
- none: false
95
- requirements:
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- hash: 3
99
- segments:
100
- - 0
101
- version: "0"
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: 1.0.0
102
86
  type: :development
103
- requirement: *id006
104
87
  prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: 1.0.0
94
+ - !ruby/object:Gem::Dependency
105
95
  name: rake
106
- - !ruby/object:Gem::Dependency
107
- version_requirements: &id007 !ruby/object:Gem::Requirement
108
- none: false
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- hash: 3
113
- segments:
114
- - 0
115
- version: "0"
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
116
102
  type: :development
117
- requirement: *id007
118
103
  prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
119
111
  name: rdoc
120
- - !ruby/object:Gem::Dependency
121
- version_requirements: &id008 !ruby/object:Gem::Requirement
122
- none: false
123
- requirements:
124
- - - ">="
125
- - !ruby/object:Gem::Version
126
- hash: 3
127
- segments:
128
- - 0
129
- version: "0"
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
130
118
  type: :development
131
- requirement: *id008
132
119
  prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
133
127
  name: rcov
134
- - !ruby/object:Gem::Dependency
135
- version_requirements: &id009 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
136
129
  none: false
137
- requirements:
138
- - - ~>
139
- - !ruby/object:Gem::Version
140
- hash: 7
141
- segments:
142
- - 2
143
- version: "2"
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
144
134
  type: :development
145
- requirement: *id009
146
135
  prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
147
143
  name: rspec
148
- - !ruby/object:Gem::Dependency
149
- version_requirements: &id010 !ruby/object:Gem::Requirement
150
- none: false
151
- requirements:
152
- - - ">="
153
- - !ruby/object:Gem::Version
154
- hash: 3
155
- segments:
156
- - 0
157
- version: "0"
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ~>
148
+ - !ruby/object:Gem::Version
149
+ version: '2'
158
150
  type: :development
159
- requirement: *id010
160
151
  prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ~>
156
+ - !ruby/object:Gem::Version
157
+ version: '2'
158
+ - !ruby/object:Gem::Dependency
161
159
  name: rr
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
162
174
  description: Allows recording of RTMP video streams. Uses RTMPdump.
163
175
  email: andre@vidibus.com
164
176
  executables: []
165
-
166
177
  extensions: []
167
-
168
178
  extra_rdoc_files: []
169
-
170
- files:
179
+ files:
171
180
  - lib/vidibus/recording/backend/rtmpdump.rb
172
181
  - lib/vidibus/recording/backend.rb
173
182
  - lib/vidibus/recording/helpers.rb
@@ -182,38 +191,26 @@ files:
182
191
  - Rakefile
183
192
  homepage: https://github.com/vidibus/vidibus-recording
184
193
  licenses: []
185
-
186
194
  post_install_message:
187
195
  rdoc_options: []
188
-
189
- require_paths:
196
+ require_paths:
190
197
  - lib
191
- required_ruby_version: !ruby/object:Gem::Requirement
198
+ required_ruby_version: !ruby/object:Gem::Requirement
192
199
  none: false
193
- requirements:
194
- - - ">="
195
- - !ruby/object:Gem::Version
196
- hash: 3
197
- segments:
198
- - 0
199
- version: "0"
200
- required_rubygems_version: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - ! '>='
202
+ - !ruby/object:Gem::Version
203
+ version: '0'
204
+ required_rubygems_version: !ruby/object:Gem::Requirement
201
205
  none: false
202
- requirements:
203
- - - ">="
204
- - !ruby/object:Gem::Version
205
- hash: 23
206
- segments:
207
- - 1
208
- - 3
209
- - 6
206
+ requirements:
207
+ - - ! '>='
208
+ - !ruby/object:Gem::Version
210
209
  version: 1.3.6
211
210
  requirements: []
212
-
213
211
  rubyforge_project:
214
212
  rubygems_version: 1.8.24
215
213
  signing_key:
216
214
  specification_version: 3
217
215
  summary: Video stream recording tools
218
216
  test_files: []
219
-