ffprober 0.2.3 → 0.3.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b29847084d8dbc8e10c2c4193b5957a6fcf08af9
4
- data.tar.gz: 9fe8c79d5a88d4c4a5cf740e98ba55081b9c83ac
3
+ metadata.gz: 601137d7c5b4608a87e94ee51eecf53b14feed41
4
+ data.tar.gz: 95281fcb4d95afa5c26624689d49be75c362ce94
5
5
  SHA512:
6
- metadata.gz: 72b340b1bbf4e915a1bcfb4dc6d6c10d99aefd74054e2f4a789607db5e8492950e9d2712d6739963c9e4583ac440e5c21c16a44d666f6e500fc227bd195cfbba
7
- data.tar.gz: 421320686370ba7698fd688312fed908a3d1f10c63be8abcb734de04561bcfef42682dd564299e29e7c69041984cf5514e44ca04f92102f57dca06d0d55f3b4f
6
+ metadata.gz: 82193fa36d33469563bcda19253d32f8df70f8423c169c0799da6da6ca86993af6d20134caf31122736e5aa7ba8dd9e0e7ba0df1de9f28ad1463b36a3f096ed1
7
+ data.tar.gz: 4d07d14c7ad89713b97c3cc9b62d3893e6d3e06b11620a5993b61f23a59d65ae766bdfd61326bbae0887d1ad30ced8d3a5cb4a8b30aad84a7c52fcd211262b6e
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.0.0-p0
1
+ 2.0.0-p195
data/Changes.md ADDED
@@ -0,0 +1,68 @@
1
+ unrelaesed
2
+ -----------
3
+ - correctly detect ffprobe path on windows
4
+ - correctly detect avprobe
5
+ - detect nighlt builds
6
+ - refactor ffprobe version detection (+spec)
7
+
8
+ 0.2.3
9
+ -----------
10
+ - Raise error if input file is invalid (InvalidInputFileError)
11
+ - Added support for Ffmpeg 1.1.4 and 1.2.1
12
+
13
+ 0.2.2
14
+ -----------
15
+ - Added Caching to instantiated Stream Objects
16
+ - Switched from attr_reader to of attr_accessor in stream classes
17
+
18
+ 0.2.1
19
+ -----------
20
+ - Refactored Ffmpeg version check
21
+ - Convert to ruby 1.9 hash syntax
22
+ - Bumped minmun required ruby version to 1.9.3
23
+ - JSON input will be parsed lazily
24
+ - Moved Ffprobe path finder into Ffprober Module
25
+
26
+ 0.2.0
27
+ -----------
28
+ - Droped ruby 1.8 support
29
+ - Switched from multi_json to json
30
+ - Updated travis config
31
+
32
+ 0.1.7
33
+ -----------
34
+ - Added support for Ffmpeg 1.1.4 and 1.2
35
+
36
+ 0.1.6
37
+ -----------
38
+ - added bit rate attribute to video stream
39
+ - Added support for Ffmpeg 1.1.3
40
+
41
+ 0.1.5
42
+ -----------
43
+ - Added support for Ffmpeg 1.1.2
44
+
45
+ 0.1.4
46
+ -----------
47
+ - Added support for Ffmpeg 1.1.1
48
+ - Bumped rake dependency to 0.10
49
+
50
+ 0.1.3
51
+ -----------
52
+ - Added support for Ffmpeg 1.1 and 1.0.1
53
+
54
+ 0.1.1
55
+ -----------
56
+ - Added support for Ffmpeg 1.0
57
+ - Added tests for ffmpeg version checker
58
+ - Updated README
59
+
60
+ 0.1.0
61
+ -----------
62
+ - Added missing License to README
63
+ - Improved Ffmpeg version detection
64
+ - Updated README
65
+
66
+ 0.0.2
67
+ -----------
68
+ - first working version (supports Ffmpeg 0.10.2)
data/README.md CHANGED
@@ -33,12 +33,25 @@ according to [ffmpeg changelog](http://git.videolan.org/?p=ffmpeg.git;a=blob_pla
33
33
 
34
34
  [ffprobe documentation](http://www.ffmpeg.org/ffprobe.html)
35
35
 
36
+ ## Improve FFMPEG version detection
37
+
38
+ help me collecting various version outputs of fprobe/ffmpeg
39
+
40
+ 1. run `ffprobe -version` on your system
41
+ 2. open an issue and send the output to me along with the expected version
42
+ 3. profit
43
+
36
44
  ## Supported Rubies
37
45
 
38
46
  Ffprober is tested under 1.9.3, 2.0, JRuby (1.9mode) and Rubinius (1.9mode) and ruby-head.
39
47
 
40
48
  [![Build Status](https://secure.travis-ci.org/beanieboi/ffprober.png?branch=master)](http://travis-ci.org/beanieboi/ffprober)
41
49
 
50
+ ## Contributors
51
+
52
+ - Michael B. Kulik
53
+ - rmoriz
54
+
42
55
  ## Contributing
43
56
 
44
57
  1. Fork it
@@ -1,21 +1,40 @@
1
1
  module Ffprober
2
2
  class FfprobeVersion
3
- @@version_regex = /^ffprobe version (\d+)\.?(\d+)\.?(|\d+)$/
3
+ @@version_regex = /^(ffprobe|avprobe|ffmpeg) version (\d+)\.?(\d+)\.?(\d+)*/
4
+ @@nightly_regex = /^(ffprobe|avprobe|ffmpeg) version N-/
4
5
 
5
6
  MIN_VERSION = Gem::Version.new("0.9.0")
6
7
  MAX_VERSION = Gem::Version.new("1.2.1")
7
8
 
8
9
  def self.valid?
9
- MIN_VERSION <= parsed_version && parsed_version <= MAX_VERSION
10
+ self.new.valid?
10
11
  end
11
12
 
12
- def self.parsed_version
13
- version = `#{Ffprober.path} -version`.match(@@version_regex)
14
- raise Errno::ENOENT if version.nil?
15
- major, minor, patch = version[1].to_i, version[2].to_i, version[3].to_i
16
- Gem::Version.new([major, minor, patch].join("."))
17
- rescue Errno::ENOENT => e
18
- Gem::Version.new("0.0.0")
13
+ def valid?
14
+ nightly? || (MIN_VERSION <= version && version <= MAX_VERSION)
15
+ end
16
+
17
+ def parse_version
18
+ @parse_version ||= begin
19
+ _p = version_output.match(@@version_regex)
20
+ if _p.nil?
21
+ [0, 0, 0]
22
+ else
23
+ [_p[2].to_i, _p[3].to_i, _p[4].to_i]
24
+ end
25
+ end
26
+ end
27
+
28
+ def version
29
+ @version ||= Gem::Version.new(parse_version.join("."))
30
+ end
31
+
32
+ def nightly?
33
+ !!(version_output =~ @@nightly_regex)
34
+ end
35
+
36
+ def version_output
37
+ @version_output ||= `#{Ffprober.path} -version`
19
38
  end
20
39
  end
21
40
  end
@@ -1,3 +1,3 @@
1
1
  module Ffprober
2
- VERSION = "0.2.3"
2
+ VERSION = "0.3.0"
3
3
  end
data/lib/ffprober.rb CHANGED
@@ -10,15 +10,17 @@ require "json"
10
10
  module Ffprober
11
11
  def self.path
12
12
  name = 'ffprobe'
13
+ name << '.exe' if self.windows?
13
14
 
14
- if File.executable? name
15
- cmd
16
- else
17
- path = ENV['PATH'].split(File::PATH_SEPARATOR).find { |path|
18
- File.executable? File.join(path, name)
19
- }
20
- path && File.expand_path(name, path)
15
+ path = ENV['PATH'].split(File::PATH_SEPARATOR).find do |path|
16
+ File.executable?(File.join(path, name))
21
17
  end
18
+
19
+ path && File.expand_path(name, path)
20
+ end
21
+
22
+ def self.windows?
23
+ !!(RUBY_PLATFORM =~ /(mingw|mswin)/)
22
24
  end
23
25
 
24
26
  class InvalidInputFileError < ::StandardError; end
@@ -0,0 +1,11 @@
1
+ ffprobe version 1.0
2
+ built on May 18 2013 15:54:36 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
3
+ configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
4
+ libavutil 52. 18.100 / 52. 18.100
5
+ libavcodec 54. 92.100 / 54. 92.100
6
+ libavformat 54. 63.104 / 54. 63.104
7
+ libavdevice 54. 3.103 / 54. 3.103
8
+ libavfilter 3. 42.103 / 3. 42.103
9
+ libswscale 2. 2.100 / 2. 2.100
10
+ libswresample 0. 17.102 / 0. 17.102
11
+ libpostproc 52. 2.100 / 52. 2.100
@@ -0,0 +1,11 @@
1
+ ffprobe version 1.2.0
2
+ built on May 18 2013 15:54:36 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
3
+ configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
4
+ libavutil 52. 18.100 / 52. 18.100
5
+ libavcodec 54. 92.100 / 54. 92.100
6
+ libavformat 54. 63.104 / 54. 63.104
7
+ libavdevice 54. 3.103 / 54. 3.103
8
+ libavfilter 3. 42.103 / 3. 42.103
9
+ libswscale 2. 2.100 / 2. 2.100
10
+ libswresample 0. 17.102 / 0. 17.102
11
+ libpostproc 52. 2.100 / 52. 2.100
@@ -0,0 +1,10 @@
1
+ avprobe version 0.8.6-6:0.8.6-1+rpi1, Copyright (c) 2007-2013 the Libav developers
2
+ built on Mar 31 2013 13:58:10 with gcc 4.6.3
3
+ avprobe 0.8.6-6:0.8.6-1+rpi1
4
+ libavutil 51. 22. 1 / 51. 22. 1
5
+ libavcodec 53. 35. 0 / 53. 35. 0
6
+ libavformat 53. 21. 1 / 53. 21. 1
7
+ libavdevice 53. 2. 0 / 53. 2. 0
8
+ libavfilter 2. 15. 0 / 2. 15. 0
9
+ libswscale 2. 1. 0 / 2. 1. 0
10
+ libpostproc 52. 0. 0 / 52. 0. 0
@@ -0,0 +1,11 @@
1
+ ffprobe version 0.10.6-6:0.10.6-0ubuntu0jon1
2
+ built on Nov 12 2012 12:53:40 with gcc 4.7.2
3
+ configuration: --arch=amd64 --enable-pthreads --enable-runtime-cpudetect --extra-version='6:0.10.6-0ubuntu0jon1' --libdir=/usr/lib/x86_64-linux-gnu --disable-stripping --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-static
4
+ libavutil 51. 35.100 / 51. 35.100
5
+ libavcodec 53. 61.100 / 53. 61.100
6
+ libavformat 53. 32.100 / 53. 32.100
7
+ libavdevice 53. 4.100 / 53. 4.100
8
+ libavfilter 2. 61.100 / 2. 61.100
9
+ libswscale 2. 1.100 / 2. 1.100
10
+ libswresample 0. 6.100 / 0. 6.100
11
+ libpostproc 52. 0.100 / 52. 0.100
@@ -0,0 +1,2 @@
1
+ ffmpeg version N-50354-g2ecf564 Copyright (c) 2000-2013 the FFmpeg developers
2
+ built on Feb 27 2013 17:51:13 with gcc 4.7.2 (GCC)
@@ -2,37 +2,40 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Ffprober::FfprobeVersion do
5
- let(:before_one_zero) { Gem::Version.new("0.9.0") }
6
- let(:one_zero) { Gem::Version.new("1.0.0") }
7
- let(:one_one) { Gem::Version.new("1.1.0") }
8
- let(:after_one_zero) { Gem::Version.new("1.9.0") }
9
- let(:latest) { Gem::Version.new("1.2") }
5
+ VERSION_CHECKS = [
6
+ { version: "0.9.0", pass: true },
7
+ { version: "1.0.0", pass: true },
8
+ { version: "1.1.0", pass: true },
9
+ { version: "1.9.0", pass: false },
10
+ { version: "1.2.1", pass: true }
11
+ ]
10
12
 
11
13
  context 'validates the ffprobe version' do
12
- it 'detects versions < 0.9' do
13
- Ffprober::FfprobeVersion.stub(:parsed_version) { before_one_zero }
14
- Ffprober::FfprobeVersion.valid?.should be_true
15
- end
16
-
17
- it 'detects versions 1.0' do
18
- Ffprober::FfprobeVersion.stub(:parsed_version) { one_zero }
19
- Ffprober::FfprobeVersion.valid?.should be_true
14
+ VERSION_CHECKS.each do |check|
15
+ it "detects version #{check[:version]}" do
16
+ Ffprober::FfprobeVersion.any_instance.stub(:version) { Gem::Version.new(check[:version]) }
17
+ Ffprober::FfprobeVersion.valid?.should be(check[:pass])
18
+ end
20
19
  end
20
+ end
21
21
 
22
- it 'detects versions 1.1' do
23
- Ffprober::FfprobeVersion.stub(:parsed_version) { one_one }
24
- Ffprober::FfprobeVersion.valid?.should be_true
25
- end
22
+ describe 'detects the version of ffprobe' do
23
+ Dir.new("spec/assets/version_outputs").each do |entry|
24
+ next if [".", "..", ".DS_Store"].include?(entry)
25
+ os, expected_version = entry.split("-")
26
26
 
27
- it 'detects versions 1.9' do
28
- Ffprober::FfprobeVersion.stub(:parsed_version) { after_one_zero }
29
- Ffprober::FfprobeVersion.valid?.should be_false
30
- end
27
+ it "on #{os} from #{expected_version}" do
28
+ version_output = File.read("spec/assets/version_outputs/" + entry)
29
+ Ffprober::FfprobeVersion.any_instance.stub(:version_output) { version_output }
30
+ version_check = Ffprober::FfprobeVersion.new
31
31
 
32
- it 'detects latest' do
33
- Ffprober::FfprobeVersion.stub(:parsed_version) { latest }
34
- Ffprober::FfprobeVersion.valid?.should be_true
32
+ if expected_version == "nightly"
33
+ version_check.nightly?.should eq(true)
34
+ version_check.valid?.should eq(true)
35
+ else
36
+ version_check.version.should eq(Gem::Version.new(expected_version.gsub("_", ".")))
37
+ end
38
+ end
35
39
  end
36
-
37
40
  end
38
41
  end
@@ -0,0 +1,97 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe Ffprober::Parser do
5
+
6
+ describe "from_file", if: Ffprober::FfprobeVersion.valid? do
7
+ before :each do
8
+ @ffprobe = Ffprober::Parser.from_file('spec/assets/301-extracting_a_ruby_gem.m4v')
9
+ end
10
+
11
+ describe "format" do
12
+ it "should determine the correct filename" do
13
+ @ffprobe.format.filename.should eq("spec/assets/301-extracting_a_ruby_gem.m4v")
14
+ end
15
+
16
+ it "should find the correct size" do
17
+ @ffprobe.format.size.should eq("130694")
18
+ end
19
+
20
+ it "should find the correct bit_rate" do
21
+ @ffprobe.format.bit_rate.should eq("502669")
22
+ end
23
+ end
24
+ end
25
+
26
+ describe "from invalid file", if: Ffprober::FfprobeVersion.valid? do
27
+ before :each do
28
+ @ffprobe = Ffprober::Parser.from_file('spec/assets/empty_file')
29
+ end
30
+
31
+ describe "format" do
32
+ it "should determine the correct filename" do
33
+ expect do
34
+ @ffprobe.format.filename.should eq("spec/assets/empty_file")
35
+ end.to raise_error
36
+ end
37
+
38
+ it "should find the correct size" do
39
+ expect do
40
+ @ffprobe.format.size.should eq("130694")
41
+ end.to raise_error
42
+ end
43
+
44
+ it "should find the correct bit_rate" do
45
+ expect do
46
+ @ffprobe.format.bit_rate.should eq("502669")
47
+ end.to raise_error
48
+ end
49
+ end
50
+ end
51
+
52
+ describe "from_json" do
53
+ before :each do
54
+ @ffprobe = Ffprober::Parser.from_json(File.read('spec/assets/301-extracting_a_ruby_gem.json'))
55
+ end
56
+
57
+ describe "format" do
58
+ it "should determine the correct filename" do
59
+ @ffprobe.format.filename.should eq("301-extracting-a-ruby-gem.mp4")
60
+ end
61
+
62
+ it "should find the correct size" do
63
+ @ffprobe.format.size.should eq("44772490")
64
+ end
65
+
66
+ it "should find the correct bit_rate" do
67
+ @ffprobe.format.bit_rate.should eq("361309")
68
+ end
69
+ end
70
+
71
+ describe "audio_streams" do
72
+ it "should determine the correct number of audio streams" do
73
+ @ffprobe.audio_streams.count.should eq(1)
74
+ end
75
+
76
+ it "should determine the correct sample rate of the first audio stream" do
77
+ @ffprobe.audio_streams.first.sample_rate.should eq("48000")
78
+ end
79
+
80
+ end
81
+
82
+ describe "video_streams" do
83
+ it "should determine the correct width of the first video streams" do
84
+ @ffprobe.video_streams.first.width.should eq(960)
85
+ end
86
+
87
+ it "should determine the correct width of the first video streams" do
88
+ @ffprobe.video_streams.first.height.should eq(600)
89
+ end
90
+
91
+ it "should determine the correct number of video streams" do
92
+ @ffprobe.video_streams.count.should eq(1)
93
+ end
94
+ end
95
+ end
96
+
97
+ end
@@ -2,51 +2,6 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Ffprober do
5
- describe "from_file", if: Ffprober::FfprobeVersion.valid? do
6
- before :each do
7
- @ffprobe = Ffprober::Parser.from_file('spec/assets/301-extracting_a_ruby_gem.m4v')
8
- end
9
-
10
- describe "format" do
11
- it "should determine the correct filename" do
12
- @ffprobe.format.filename.should eq("spec/assets/301-extracting_a_ruby_gem.m4v")
13
- end
14
-
15
- it "should find the correct size" do
16
- @ffprobe.format.size.should eq("130694")
17
- end
18
-
19
- it "should find the correct bit_rate" do
20
- @ffprobe.format.bit_rate.should eq("502669")
21
- end
22
- end
23
- end
24
-
25
- describe "from invalid file", if: Ffprober::FfprobeVersion.valid? do
26
- before :each do
27
- @ffprobe = Ffprober::Parser.from_file('spec/assets/empty_file')
28
- end
29
-
30
- describe "format" do
31
- it "should determine the correct filename" do
32
- expect do
33
- @ffprobe.format.filename.should eq("spec/assets/empty_file")
34
- end.to raise_error
35
- end
36
-
37
- it "should find the correct size" do
38
- expect do
39
- @ffprobe.format.size.should eq("130694")
40
- end.to raise_error
41
- end
42
-
43
- it "should find the correct bit_rate" do
44
- expect do
45
- @ffprobe.format.bit_rate.should eq("502669")
46
- end.to raise_error
47
- end
48
- end
49
- end
50
5
 
51
6
  describe "if no ffprobe is found" do
52
7
  it "should raise a exception" do
@@ -55,48 +10,4 @@ describe Ffprober do
55
10
  end
56
11
  end
57
12
 
58
- describe "from_json" do
59
- before :each do
60
- @ffprobe = Ffprober::Parser.from_json(File.read('spec/assets/301-extracting_a_ruby_gem.json'))
61
- end
62
-
63
- describe "format" do
64
- it "should determine the correct filename" do
65
- @ffprobe.format.filename.should eq("301-extracting-a-ruby-gem.mp4")
66
- end
67
-
68
- it "should find the correct size" do
69
- @ffprobe.format.size.should eq("44772490")
70
- end
71
-
72
- it "should find the correct bit_rate" do
73
- @ffprobe.format.bit_rate.should eq("361309")
74
- end
75
- end
76
-
77
- describe "audio_streams" do
78
- it "should determine the correct number of audio streams" do
79
- @ffprobe.audio_streams.count.should eq(1)
80
- end
81
-
82
- it "should determine the correct sample rate of the first audio stream" do
83
- @ffprobe.audio_streams.first.sample_rate.should eq("48000")
84
- end
85
-
86
- end
87
-
88
- describe "video_streams" do
89
- it "should determine the correct width of the first video streams" do
90
- @ffprobe.video_streams.first.width.should eq(960)
91
- end
92
-
93
- it "should determine the correct width of the first video streams" do
94
- @ffprobe.video_streams.first.height.should eq(600)
95
- end
96
-
97
- it "should determine the correct number of video streams" do
98
- @ffprobe.video_streams.count.should eq(1)
99
- end
100
- end
101
- end
102
13
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffprober
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - beanieboi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-18 00:00:00.000000000 Z
11
+ date: 2013-06-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -49,6 +49,7 @@ files:
49
49
  - .rspec
50
50
  - .ruby-version
51
51
  - .travis.yml
52
+ - Changes.md
52
53
  - Gemfile
53
54
  - LICENSE
54
55
  - README.md
@@ -65,7 +66,13 @@ files:
65
66
  - spec/assets/301-extracting_a_ruby_gem.json
66
67
  - spec/assets/301-extracting_a_ruby_gem.m4v
67
68
  - spec/assets/empty_file
69
+ - spec/assets/version_outputs/osx-1_0
70
+ - spec/assets/version_outputs/osx-1_2_0
71
+ - spec/assets/version_outputs/raspian-0_8_6
72
+ - spec/assets/version_outputs/ubuntu-0_10_6
73
+ - spec/assets/version_outputs/windows-nightly
68
74
  - spec/ffprober/ffprobe_version_spec.rb
75
+ - spec/ffprober/parser_spec.rb
69
76
  - spec/ffprober_spec.rb
70
77
  - spec/spec_helper.rb
71
78
  homepage: https://github.com/beanieboi/ffprober
@@ -88,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
88
95
  version: '0'
89
96
  requirements: []
90
97
  rubyforge_project: ffprober
91
- rubygems_version: 2.0.0
98
+ rubygems_version: 2.0.2
92
99
  signing_key:
93
100
  specification_version: 4
94
101
  summary: a Ruby wrapper for ffprobe (part of ffmpeg)
@@ -96,6 +103,13 @@ test_files:
96
103
  - spec/assets/301-extracting_a_ruby_gem.json
97
104
  - spec/assets/301-extracting_a_ruby_gem.m4v
98
105
  - spec/assets/empty_file
106
+ - spec/assets/version_outputs/osx-1_0
107
+ - spec/assets/version_outputs/osx-1_2_0
108
+ - spec/assets/version_outputs/raspian-0_8_6
109
+ - spec/assets/version_outputs/ubuntu-0_10_6
110
+ - spec/assets/version_outputs/windows-nightly
99
111
  - spec/ffprober/ffprobe_version_spec.rb
112
+ - spec/ffprober/parser_spec.rb
100
113
  - spec/ffprober_spec.rb
101
114
  - spec/spec_helper.rb
115
+ has_rdoc: