rvideo 0.9.1 → 0.9.2

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.
@@ -1,3 +1,8 @@
1
+ == 0.9.2 2007-10-30
2
+
3
+ One minor bug fix:
4
+ * Correctly parse invalid files, where duration and bitrate are N/A, but start: 0.000 is included
5
+
1
6
  == 0.9.1 2007-10-11
2
7
 
3
8
  One major enhancement:
@@ -54,7 +54,7 @@ module RVideo # :nodoc:
54
54
 
55
55
  if /Unknown format/i.match(@raw_response) || metadata.nil?
56
56
  @unknown_format = true
57
- elsif /Duration: N\/A, bitrate: N\/A/im.match(@raw_response)
57
+ elsif /Duration: N\/A|bitrate: N\/A/im.match(@raw_response)
58
58
  @unreadable_file = true
59
59
  @raw_metadata = metadata[1] # in this case, we can at least still get the container type
60
60
  else
@@ -2,7 +2,7 @@ module Rvideo #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 9
5
- TINY = 1
5
+ TINY = 2
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -371,4 +371,15 @@ invalid:
371
371
  Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'tmp/results/fancypants-ipod.mp4':
372
372
  Duration: N/A, bitrate: N/A
373
373
  Must supply at least one output file
374
-
374
+ failing_ogg:
375
+ response: |
376
+ FFmpeg version SVN-r10656, Copyright (c) 2000-2007 Fabrice Bellard, et al.
377
+ configuration: --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-liba52 --enable-libxvid --enable-libfaac --enable-libfaad --enable-libx264 --enable-libxvid --enable-pp --enable-shared --enable-gpl --enable-libtheora --enable-libfaadbin --enable-liba52bin --enable-libamr_nb --enable-libamr_wb --extra-ldflags=-L/usr/local/ffmpeg-src/ffmpeg/libavcodec/acfr16/ --extra-libs=-lacfr --enable-libacfr16
378
+ libavutil version: 49.5.0
379
+ libavcodec version: 51.44.0
380
+ libavformat version: 51.14.0
381
+ built on Oct 30 2007 15:33:08, gcc: 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
382
+ Input #0, ogg, from 'tmp/37/PodcastPeople___Make_every_Podcast_Count__sweeper-19530.ogg':
383
+ Duration: N/A, start: 0.000000, bitrate: N/A
384
+ Stream #0.0: Audio: vorbis, 44100 Hz, stereo
385
+ Must supply at least one output file
@@ -358,4 +358,4 @@ text:
358
358
  libavcodec version: 51.9.0
359
359
  libavformat version: 50.4.0
360
360
  built on Apr 15 2006 04:58:19, gcc: 4.0.1 (Apple Computer, Inc. build 5250)
361
- TODO: Unknown format
361
+ TODO: Unknown format
@@ -3,196 +3,196 @@ require File.dirname(__FILE__) + '/../spec_helper'
3
3
  module RVideo
4
4
  context "Using various builds of ffmpeg, RVideo should properly inspect" do
5
5
  specify "a cell-phone MP4 file" do
6
- @file = Inspector.new(:raw_response => files(:kites))
7
- @file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
8
- @file.raw_duration.should == "00:00:19.6"
9
- @file.duration.should == 19600
10
- @file.bitrate.should == 98
11
- @file.bitrate_units.should == "kb/s"
12
- @file.audio_stream_id.should == "#0.1"
13
- @file.audio_codec.should == "samr / 0x726D6173"
14
- @file.audio_sample_rate.should == 8000
15
- @file.audio_sample_units.should == "Hz"
16
- @file.audio_channels_string.should == "mono"
17
- @file.video_codec.should == "mpeg4"
18
- @file.video_stream_id.should == "#0.0"
19
- @file.video_colorspace.should == "yuv420p"
20
- @file.width.should == 176
21
- @file.height.should == 144
22
- @file.fps.should == "10.00"
6
+ file = Inspector.new(:raw_response => files(:kites))
7
+ file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
8
+ file.raw_duration.should == "00:00:19.6"
9
+ file.duration.should == 19600
10
+ file.bitrate.should == 98
11
+ file.bitrate_units.should == "kb/s"
12
+ file.audio_stream_id.should == "#0.1"
13
+ file.audio_codec.should == "samr / 0x726D6173"
14
+ file.audio_sample_rate.should == 8000
15
+ file.audio_sample_units.should == "Hz"
16
+ file.audio_channels_string.should == "mono"
17
+ file.video_codec.should == "mpeg4"
18
+ file.video_stream_id.should == "#0.0"
19
+ file.video_colorspace.should == "yuv420p"
20
+ file.width.should == 176
21
+ file.height.should == 144
22
+ file.fps.should == "10.00"
23
23
  end
24
24
 
25
25
  specify "fancypants" do
26
- @file = Inspector.new(:raw_response => files(:fancypants))
27
- @file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
28
- @file.raw_duration.should == "00:00:35.4"
29
- @file.duration.should == 35400
30
- @file.bitrate.should == 1980
31
- @file.bitrate_units.should == "kb/s"
32
- @file.audio_stream_id.should == "#0.1"
33
- @file.audio_codec.should == "aac"
34
- @file.audio_sample_rate.should == 44100
35
- @file.audio_sample_units.should == "Hz"
36
- @file.audio_channels_string.should == "stereo"
37
- @file.video_codec.should == "h264"
38
- @file.video_stream_id.should == "#0.0"
39
- @file.video_colorspace.should == "yuv420p"
40
- @file.width.should == 720
41
- @file.height.should == 400
42
- @file.fps.should == "23.98"
26
+ file = Inspector.new(:raw_response => files(:fancypants))
27
+ file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
28
+ file.raw_duration.should == "00:00:35.4"
29
+ file.duration.should == 35400
30
+ file.bitrate.should == 1980
31
+ file.bitrate_units.should == "kb/s"
32
+ file.audio_stream_id.should == "#0.1"
33
+ file.audio_codec.should == "aac"
34
+ file.audio_sample_rate.should == 44100
35
+ file.audio_sample_units.should == "Hz"
36
+ file.audio_channels_string.should == "stereo"
37
+ file.video_codec.should == "h264"
38
+ file.video_stream_id.should == "#0.0"
39
+ file.video_colorspace.should == "yuv420p"
40
+ file.width.should == 720
41
+ file.height.should == 400
42
+ file.fps.should == "23.98"
43
43
  end
44
44
 
45
45
  specify "mpeg4/xvid" do
46
- @file = Inspector.new(:raw_response => files(:chainsaw))
47
- @file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
48
- @file.raw_duration.should == "00:01:09.5"
49
- @file.duration.should == 69500
50
- @file.bitrate.should == 970
51
- @file.bitrate_units.should == "kb/s"
52
- @file.audio_stream_id.should == "#0.1"
53
- @file.audio_codec.should == "mp2"
54
- @file.audio_sample_rate.should == 48000
55
- @file.audio_sample_units.should == "Hz"
56
- @file.audio_channels_string.should == "stereo"
57
- @file.video_codec.should == "mpeg4"
58
- @file.video_stream_id.should == "#0.0"
59
- @file.video_colorspace.should == "yuv420p"
60
- @file.width.should == 624
61
- @file.height.should == 352
62
- @file.fps.should == "23.98"
46
+ file = Inspector.new(:raw_response => files(:chainsaw))
47
+ file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
48
+ file.raw_duration.should == "00:01:09.5"
49
+ file.duration.should == 69500
50
+ file.bitrate.should == 970
51
+ file.bitrate_units.should == "kb/s"
52
+ file.audio_stream_id.should == "#0.1"
53
+ file.audio_codec.should == "mp2"
54
+ file.audio_sample_rate.should == 48000
55
+ file.audio_sample_units.should == "Hz"
56
+ file.audio_channels_string.should == "stereo"
57
+ file.video_codec.should == "mpeg4"
58
+ file.video_stream_id.should == "#0.0"
59
+ file.video_colorspace.should == "yuv420p"
60
+ file.width.should == 624
61
+ file.height.should == 352
62
+ file.fps.should == "23.98"
63
63
  end
64
64
 
65
65
  specify "mpeg1" do
66
- @file = Inspector.new(:raw_response => files(:mpeg1_957))
67
- @file.container.should == "mpeg"
68
- @file.raw_duration.should == "00:00:22.6"
69
- @file.duration.should == 22600
70
- @file.bitrate.should == 808
71
- @file.bitrate_units.should == "kb/s"
72
- @file.audio_stream_id.should == "#0.0"
73
- @file.audio_codec.should == "mp2"
74
- @file.audio_sample_rate.should == 32000
75
- @file.audio_sample_units.should == "Hz"
76
- @file.audio_channels_string.should == "mono"
77
- @file.video_codec.should == "mpeg1video"
78
- @file.video_stream_id.should == "#0.1"
79
- @file.video_colorspace.should == "yuv420p"
80
- @file.width.should == 320
81
- @file.height.should == 240
82
- @file.fps.should == "25.00"
66
+ file = Inspector.new(:raw_response => files(:mpeg1_957))
67
+ file.container.should == "mpeg"
68
+ file.raw_duration.should == "00:00:22.6"
69
+ file.duration.should == 22600
70
+ file.bitrate.should == 808
71
+ file.bitrate_units.should == "kb/s"
72
+ file.audio_stream_id.should == "#0.0"
73
+ file.audio_codec.should == "mp2"
74
+ file.audio_sample_rate.should == 32000
75
+ file.audio_sample_units.should == "Hz"
76
+ file.audio_channels_string.should == "mono"
77
+ file.video_codec.should == "mpeg1video"
78
+ file.video_stream_id.should == "#0.1"
79
+ file.video_colorspace.should == "yuv420p"
80
+ file.width.should == 320
81
+ file.height.should == 240
82
+ file.fps.should == "25.00"
83
83
  end
84
84
 
85
85
  specify "avi/mpeg4/mp3" do
86
- @file = Inspector.new(:raw_response => files(:buffy))
87
- @file.container.should == "avi"
88
- @file.raw_duration.should == "00:43:25.3"
89
- @file.duration.should == 2605300
90
- @file.bitrate.should == 1266
91
- @file.bitrate_units.should == "kb/s"
92
- @file.audio_stream_id.should == "#0.1"
93
- @file.audio_codec.should == "mp3"
94
- @file.audio_sample_rate.should == 48000
95
- @file.audio_sample_units.should == "Hz"
96
- @file.audio_channels_string.should == "stereo"
97
- @file.video_codec.should == "mpeg4"
98
- @file.video_stream_id.should == "#0.0"
99
- @file.video_colorspace.should == "yuv420p"
100
- @file.width.should == 640
101
- @file.height.should == 464
102
- @file.fps.should == "23.98"
86
+ file = Inspector.new(:raw_response => files(:buffy))
87
+ file.container.should == "avi"
88
+ file.raw_duration.should == "00:43:25.3"
89
+ file.duration.should == 2605300
90
+ file.bitrate.should == 1266
91
+ file.bitrate_units.should == "kb/s"
92
+ file.audio_stream_id.should == "#0.1"
93
+ file.audio_codec.should == "mp3"
94
+ file.audio_sample_rate.should == 48000
95
+ file.audio_sample_units.should == "Hz"
96
+ file.audio_channels_string.should == "stereo"
97
+ file.video_codec.should == "mpeg4"
98
+ file.video_stream_id.should == "#0.0"
99
+ file.video_colorspace.should == "yuv420p"
100
+ file.width.should == 640
101
+ file.height.should == 464
102
+ file.fps.should == "23.98"
103
103
  end
104
104
 
105
105
  specify "HD mpeg2" do
106
- @file = Inspector.new(:raw_response => files(:chairprank))
107
- @file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
108
- @file.raw_duration.should == "00:00:36.6"
109
- @file.duration.should == 36600
110
- @file.bitrate.should == 26602
111
- @file.bitrate_units.should == "kb/s"
112
- @file.audio_stream_id.should == "#0.0"
113
- @file.audio_codec.should == "pcm_s16le"
114
- @file.audio_sample_rate.should == 48000
115
- @file.audio_sample_units.should == "Hz"
116
- @file.audio_channels_string.should == "stereo"
117
- @file.video_codec.should == "mpeg2video"
118
- @file.video_stream_id.should == "#0.1"
119
- @file.video_colorspace.should == "yuv420p"
120
- @file.width.should == 1440
121
- @file.height.should == 1080
122
- @file.fps.should == "29.97"
106
+ file = Inspector.new(:raw_response => files(:chairprank))
107
+ file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
108
+ file.raw_duration.should == "00:00:36.6"
109
+ file.duration.should == 36600
110
+ file.bitrate.should == 26602
111
+ file.bitrate_units.should == "kb/s"
112
+ file.audio_stream_id.should == "#0.0"
113
+ file.audio_codec.should == "pcm_s16le"
114
+ file.audio_sample_rate.should == 48000
115
+ file.audio_sample_units.should == "Hz"
116
+ file.audio_channels_string.should == "stereo"
117
+ file.video_codec.should == "mpeg2video"
118
+ file.video_stream_id.should == "#0.1"
119
+ file.video_colorspace.should == "yuv420p"
120
+ file.width.should == 1440
121
+ file.height.should == 1080
122
+ file.fps.should == "29.97"
123
123
  end
124
124
 
125
125
  specify "h264 (1)" do
126
- @file = Inspector.new(:raw_response => files(:fire_short))
127
- @file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
128
- @file.raw_duration.should == "00:00:10.0"
129
- @file.duration.should == 10000
130
- @file.bitrate.should == 23232
131
- @file.bitrate_units.should == "kb/s"
132
- @file.audio_stream_id.should == "#0.0"
133
- @file.audio_codec.should == "pcm_s16le"
134
- @file.audio_sample_rate.should == 48000
135
- @file.audio_sample_units.should == "Hz"
136
- @file.audio_channels_string.should == "stereo"
137
- @file.video_codec.should == "h264"
138
- @file.video_stream_id.should == "#0.1"
139
- @file.video_colorspace.should == "yuv420p"
140
- @file.width.should == 1280
141
- @file.height.should == 720
142
- @file.fps.should == "29.97"
126
+ file = Inspector.new(:raw_response => files(:fire_short))
127
+ file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
128
+ file.raw_duration.should == "00:00:10.0"
129
+ file.duration.should == 10000
130
+ file.bitrate.should == 23232
131
+ file.bitrate_units.should == "kb/s"
132
+ file.audio_stream_id.should == "#0.0"
133
+ file.audio_codec.should == "pcm_s16le"
134
+ file.audio_sample_rate.should == 48000
135
+ file.audio_sample_units.should == "Hz"
136
+ file.audio_channels_string.should == "stereo"
137
+ file.video_codec.should == "h264"
138
+ file.video_stream_id.should == "#0.1"
139
+ file.video_colorspace.should == "yuv420p"
140
+ file.width.should == 1280
141
+ file.height.should == 720
142
+ file.fps.should == "29.97"
143
143
  end
144
144
 
145
145
  specify "h264 video only" do
146
- @file = Inspector.new(:raw_response => files(:fire_video_only))
147
- @file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
148
- @file.raw_duration.should == "00:00:10.0"
149
- @file.duration.should == 10000
150
- @file.bitrate.should == 506
151
- @file.bitrate_units.should == "kb/s"
152
- @file.audio?.should == false
153
- @file.audio_codec.should == nil
154
- @file.video_codec.should == "h264"
155
- @file.video_stream_id.should == "#0.0"
156
- @file.video_colorspace.should == "yuv420p"
157
- @file.width.should == 320
158
- @file.height.should == 180
159
- @file.fps.should == "29.97"
146
+ file = Inspector.new(:raw_response => files(:fire_video_only))
147
+ file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
148
+ file.raw_duration.should == "00:00:10.0"
149
+ file.duration.should == 10000
150
+ file.bitrate.should == 506
151
+ file.bitrate_units.should == "kb/s"
152
+ file.audio?.should == false
153
+ file.audio_codec.should == nil
154
+ file.video_codec.should == "h264"
155
+ file.video_stream_id.should == "#0.0"
156
+ file.video_colorspace.should == "yuv420p"
157
+ file.width.should == 320
158
+ file.height.should == 180
159
+ file.fps.should == "29.97"
160
160
  end
161
161
 
162
162
  specify "aac audio only" do
163
- @file = Inspector.new(:raw_response => files(:fire_audio_only))
164
- @file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
165
- @file.raw_duration.should == "00:00:10.0"
166
- @file.duration.should == 10000
167
- @file.bitrate.should == 86
168
- @file.bitrate_units.should == "kb/s"
169
- @file.audio_stream_id.should == "#0.0"
170
- @file.audio_codec.should == "aac"
171
- @file.audio_sample_rate.should == 48000
172
- @file.audio_sample_units.should == "Hz"
173
- @file.audio_channels_string.should == "stereo"
174
- @file.video?.should == false
175
- @file.video_codec.should be_nil
163
+ file = Inspector.new(:raw_response => files(:fire_audio_only))
164
+ file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
165
+ file.raw_duration.should == "00:00:10.0"
166
+ file.duration.should == 10000
167
+ file.bitrate.should == 86
168
+ file.bitrate_units.should == "kb/s"
169
+ file.audio_stream_id.should == "#0.0"
170
+ file.audio_codec.should == "aac"
171
+ file.audio_sample_rate.should == 48000
172
+ file.audio_sample_units.should == "Hz"
173
+ file.audio_channels_string.should == "stereo"
174
+ file.video?.should == false
175
+ file.video_codec.should be_nil
176
176
  end
177
177
 
178
178
  specify "apple intermediate" do
179
- @file = Inspector.new(:raw_response => files(:fireproof))
180
- @file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
181
- @file.raw_duration.should == "00:00:18.7"
182
- @file.duration.should == 18700
183
- @file.bitrate.should == 24281
184
- @file.bitrate_units.should == "kb/s"
185
- @file.audio_stream_id.should == "#0.0"
186
- @file.audio_codec.should == "pcm_s16be"
187
- @file.audio_sample_rate.should == 48000
188
- @file.audio_sample_units.should == "Hz"
189
- @file.audio_channels_string.should == "mono"
190
- @file.video_codec.should == "Apple Intermediate Codec"
191
- @file.video_stream_id.should == "#0.1"
192
- @file.video_colorspace.should == nil
193
- @file.width.should == 1280
194
- @file.height.should == 720
195
- @file.fps.should == "600.00" # this is a known FFMPEG problem
179
+ file = Inspector.new(:raw_response => files(:fireproof))
180
+ file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
181
+ file.raw_duration.should == "00:00:18.7"
182
+ file.duration.should == 18700
183
+ file.bitrate.should == 24281
184
+ file.bitrate_units.should == "kb/s"
185
+ file.audio_stream_id.should == "#0.0"
186
+ file.audio_codec.should == "pcm_s16be"
187
+ file.audio_sample_rate.should == 48000
188
+ file.audio_sample_units.should == "Hz"
189
+ file.audio_channels_string.should == "mono"
190
+ file.video_codec.should == "Apple Intermediate Codec"
191
+ file.video_stream_id.should == "#0.1"
192
+ file.video_colorspace.should == nil
193
+ file.width.should == 1280
194
+ file.height.should == 720
195
+ file.fps.should == "600.00" # this is a known FFMPEG problem
196
196
  end
197
197
 
198
198
  specify "dv video" do
@@ -244,44 +244,52 @@ module RVideo
244
244
  end
245
245
 
246
246
  specify "audio only mp3" do
247
- @file = Inspector.new(:raw_response => files(:duck))
248
- @file.container.should == "mp3"
249
- @file.raw_duration.should == "00:02:03.0"
250
- @file.duration.should == 123000
251
- @file.bitrate.should == 128
252
- @file.bitrate_units.should == "kb/s"
253
- @file.audio_stream_id.should == "#0.0"
254
- @file.audio_codec.should == "mp3"
255
- @file.audio_sample_rate.should == 44100
256
- @file.audio_sample_units.should == "Hz"
257
- @file.audio_channels_string.should == "stereo"
258
- @file.audio?.should == true
259
- @file.video?.should == false
247
+ file = Inspector.new(:raw_response => files(:duck))
248
+ file.container.should == "mp3"
249
+ file.raw_duration.should == "00:02:03.0"
250
+ file.duration.should == 123000
251
+ file.bitrate.should == 128
252
+ file.bitrate_units.should == "kb/s"
253
+ file.audio_stream_id.should == "#0.0"
254
+ file.audio_codec.should == "mp3"
255
+ file.audio_sample_rate.should == 44100
256
+ file.audio_sample_units.should == "Hz"
257
+ file.audio_channels_string.should == "stereo"
258
+ file.audio?.should == true
259
+ file.video?.should == false
260
260
  end
261
261
 
262
262
  specify "audio only aac" do
263
- @file = Inspector.new(:raw_response => files(:eiffel))
264
- @file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
265
- @file.raw_duration.should == "00:02:50.3"
266
- @file.duration.should == 170300
267
- @file.bitrate.should == 162
268
- @file.bitrate_units.should == "kb/s"
269
- @file.audio_stream_id.should == "#0.0"
270
- @file.audio_codec.should == "aac"
271
- @file.audio_sample_rate.should == 44100
272
- @file.audio_sample_units.should == "Hz"
273
- @file.audio_channels_string.should == "stereo"
274
- @file.audio?.should == true
275
- @file.video?.should == false
263
+ file = Inspector.new(:raw_response => files(:eiffel))
264
+ file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
265
+ file.raw_duration.should == "00:02:50.3"
266
+ file.duration.should == 170300
267
+ file.bitrate.should == 162
268
+ file.bitrate_units.should == "kb/s"
269
+ file.audio_stream_id.should == "#0.0"
270
+ file.audio_codec.should == "aac"
271
+ file.audio_sample_rate.should == 44100
272
+ file.audio_sample_units.should == "Hz"
273
+ file.audio_channels_string.should == "stereo"
274
+ file.audio?.should == true
275
+ file.video?.should == false
276
276
  end
277
277
 
278
278
  specify "invalid file" do
279
- @file = Inspector.new(:raw_response => files(:invalid))
280
- @file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
281
- @file.raw_duration.should be_nil
282
- @file.valid?.should be_false
283
- @file.unknown_format?.should be_false
284
- @file.unreadable_file?.should be_true
279
+ file = Inspector.new(:raw_response => files(:invalid))
280
+ file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
281
+ file.raw_duration.should be_nil
282
+ file.valid?.should be_false
283
+ file.unknown_format?.should be_false
284
+ file.unreadable_file?.should be_true
285
285
  end
286
+
287
+ specify "failing mp3 file" do
288
+ file = Inspector.new(:raw_response => files(:failing_ogg))
289
+ file.raw_duration.should be_nil
290
+ file.invalid?.should be_true
291
+ file.unknown_format?.should be_false
292
+ file.unreadable_file?.should be_true
293
+ end
286
294
  end
287
295
  end
@@ -37,5 +37,13 @@ module RVideo
37
37
  file.ffmpeg_build.should == "built on Apr 15 2006 04:58:19, gcc: 4.0.1 (Apple Computer, Inc. build 5250)"
38
38
  file.raw_metadata.should =~ /^Input #/
39
39
  end
40
+
41
+ it "should handle '\n' newline characters" do
42
+ raw_response = "FFmpeg version SVN-r10656, Copyright (c) 2000-2007 Fabrice Bellard, et al.\n configuration: --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-liba52 --enable-libxvid --enable-libfaac --enable-libfaad --enable-libx264 --enable-libxvid --enable-pp --enable-shared --enable-gpl --enable-libtheora --enable-libfaadbin --enable-liba52bin --enable-libamr_nb --enable-libamr_wb --enable-libacfr16 --extra-ldflags=-L/root/src/ffmpeg/libavcodec/acfr16/ --extra-libs=-lacfr\n libavutil version: 49.5.0\n libavcodec version: 51.44.0\n libavformat version: 51.14.0\n built on Oct 9 2007 18:53:49, gcc: 4.1.2 (Ubuntu 4.1.2-0ubuntu4)\nInput #0, mp3, from '/mnt/app/worker/tmp/2112/2007-07-29_11AM.mp3':\n Duration: 00:22:09.2, bitrate: 80 kb/s\n Stream #0.0: Audio: mp3, 22050 Hz, stereo, 80 kb/s\nMust supply at least one output file\n"
43
+
44
+ file = Inspector.new(:raw_response => raw_response)
45
+ file.ffmpeg_version.should == "SVN-r10656"
46
+ file.audio_codec.should == "mp3"
47
+ end
40
48
  end
41
49
  end
@@ -30,12 +30,12 @@
30
30
  <body>
31
31
  <div id="main">
32
32
  <div style="text-align:right">
33
- <a href="http://rvideo.rubyforge.org/rdoc">Documentation</a> | <a href="http://spinoza.tv">Spinoza</a> | <a href="http://railspikes.com">Blog</a> | <a href="http://groups.google.com/group/rvideo">Group</a>
33
+ <a href="http://rvideo.rubyforge.org/rdoc">Documentation</a> | <a href="http://zencoder.tv">Zencoder</a> | <a href="http://railspikes.com">Blog</a> | <a href="http://groups.google.com/group/rvideo">Group</a>
34
34
  </div>
35
35
  <h1>Ruby Video Processing</h1>
36
36
  <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/rvideo"; return false'>
37
37
  <p>Get Version</p>
38
- <a href="http://rubyforge.org/projects/rvideo" class="numbers">0.9.1</a>
38
+ <a href="http://rubyforge.org/projects/rvideo" class="numbers">0.9.2</a>
39
39
  </div>
40
40
  <h1>&#x2192; &#8216;rvideo&#8217;</h1>
41
41
 
@@ -191,10 +191,10 @@ do.</p>
191
191
  <p><a href="http://groups.google.com/group/rvideo">http://groups.google.com/group/rvideo</a></p>
192
192
 
193
193
 
194
- <h2>Spinoza (Shameless Plug)</h2>
194
+ <h2>Zencoder (Shameless Plug)</h2>
195
195
 
196
196
 
197
- <p>Spinoza is a commercial video transcoder built by Slantwise Design. Spinoza uses RVideo for its video processing, but adds file queuing, distributed transcoding, a web-based transcoder dashboard, and more. See <a href="http://spinoza.tv">http://spinoza.tv</a> or <a href="http://slantwisedesign.com">http://slantwisedesign.com</a> for more.</p>
197
+ <p>Zencoder is a commercial video transcoder built by Slantwise Design. Zencoder uses RVideo for its video processing, but adds file queuing, distributed transcoding, a web-based transcoder dashboard, and more. See <a href="http://zencoder.tv">http://zencoder.tv</a> or <a href="http://slantwisedesign.com">http://slantwisedesign.com</a> for more.</p>
198
198
 
199
199
 
200
200
  <h2>License</h2>
@@ -208,7 +208,7 @@ do.</p>
208
208
 
209
209
  <p>Comments are welcome. Send an email to Jonathan Dahl at jon [at] slantwisedesign.</p>
210
210
  <p class="coda">
211
- Page created with newgem by <a href="mailto:drnicwilliams@gmail.com">Dr Nic</a>, 11th October 2007<br>
211
+ Page created with newgem by <a href="mailto:drnicwilliams@gmail.com">Dr Nic</a>, 30th October 2007<br>
212
212
  Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
213
213
  </p>
214
214
  </div>
@@ -129,9 +129,9 @@ h2. Forum
129
129
 
130
130
  "http://groups.google.com/group/rvideo":http://groups.google.com/group/rvideo
131
131
 
132
- h2. Spinoza (Shameless Plug)
132
+ h2. Zencoder (Shameless Plug)
133
133
 
134
- Spinoza is a commercial video transcoder built by Slantwise Design. Spinoza uses RVideo for its video processing, but adds file queuing, distributed transcoding, a web-based transcoder dashboard, and more. See "http://spinoza.tv":http://spinoza.tv or "http://slantwisedesign.com":http://slantwisedesign.com for more.
134
+ Zencoder is a commercial video transcoder built by Slantwise Design. Zencoder uses RVideo for its video processing, but adds file queuing, distributed transcoding, a web-based transcoder dashboard, and more. See "http://zencoder.tv":http://zencoder.tv or "http://slantwisedesign.com":http://slantwisedesign.com for more.
135
135
 
136
136
  h2. License
137
137
 
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: rvideo
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.9.1
7
- date: 2007-10-11 00:00:00 -05:00
6
+ version: 0.9.2
7
+ date: 2007-10-30 00:00:00 -05:00
8
8
  summary: Inspect and process video or audio files
9
9
  require_paths:
10
10
  - lib