vidibus-recording 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
-