av 0.1.2 → 0.4.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 +4 -4
- data/lib/av.rb +10 -4
- data/lib/av/commands/base.rb +3 -3
- data/lib/av/engine.rb +7 -0
- data/lib/av/logger.rb +17 -0
- data/lib/av/version.rb +1 -1
- data/spec/av/base_spec.rb +12 -3
- data/spec/support/assets/image.png +0 -0
- metadata +6 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 2680b92872fd043f4f223ccaad0d7b667c8e9e51
         | 
| 4 | 
            +
              data.tar.gz: 29f2a2d421492496ba12f0942845cefe817069eb
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 94ed1426a502750e3e2b8e336d89805f64ef6f136655adf5caa37596d6689762e1b9f5952f7b9bdbb192f9ab96d6e3c4582eca0a373baa49d357da774af50947
         | 
| 7 | 
            +
              data.tar.gz: ce444930d672df1b1c5805909bde0c9934ac84c95538d437ccadf939a8f41dfeb667334e2ae67d9b477e9602c8b85d1e2dd72aeb143a48faf85c161fc76e61bb
         | 
    
        data/lib/av.rb
    CHANGED
    
    | @@ -1,15 +1,25 @@ | |
| 1 1 | 
             
            require "av/version"
         | 
| 2 2 | 
             
            require "av/exceptions"
         | 
| 3 | 
            +
            require "av/logger"
         | 
| 3 4 | 
             
            require "av/cli"
         | 
| 4 5 | 
             
            require "av/param_hash"
         | 
| 5 6 | 
             
            require "av/commands/ffmpeg"
         | 
| 6 7 | 
             
            require "av/commands/avconv"
         | 
| 7 8 | 
             
            require "cocaine"
         | 
| 9 | 
            +
            require "av/engine" if defined?(Rails)
         | 
| 8 10 |  | 
| 9 11 | 
             
            module Av
         | 
| 10 12 | 
             
              extend self
         | 
| 13 | 
            +
              extend Logger
         | 
| 14 | 
            +
              
         | 
| 15 | 
            +
              def options
         | 
| 16 | 
            +
                @options ||= {
         | 
| 17 | 
            +
                  log: false
         | 
| 18 | 
            +
                }
         | 
| 19 | 
            +
              end
         | 
| 11 20 |  | 
| 12 21 | 
             
              def cli(options = {})
         | 
| 22 | 
            +
                @options = options unless options.empty?
         | 
| 13 23 | 
             
                ::Av::Cli.new(options)
         | 
| 14 24 | 
             
              end
         | 
| 15 25 |  | 
| @@ -21,8 +31,4 @@ module Av | |
| 21 31 | 
             
                  raise Av::CommandError, "error while running command #{line}: #{e}"
         | 
| 22 32 | 
             
                end
         | 
| 23 33 | 
             
              end
         | 
| 24 | 
            -
              
         | 
| 25 | 
            -
              def log message
         | 
| 26 | 
            -
                puts "[AV] #{message}"
         | 
| 27 | 
            -
              end
         | 
| 28 34 | 
             
            end
         | 
    
        data/lib/av/commands/base.rb
    CHANGED
    
    | @@ -104,8 +104,8 @@ module Av | |
| 104 104 | 
             
                      if line =~ /Video:(.*)/
         | 
| 105 105 | 
             
                         v = $1.to_s
         | 
| 106 106 | 
             
                         size = v.match(/\d{3,5}x\d{3,5}/).to_s
         | 
| 107 | 
            -
                         meta[:size] = size
         | 
| 108 | 
            -
                         meta[:aspect] = size.split('x').first.to_f / size.split('x').last.to_f
         | 
| 107 | 
            +
                         meta[:size] = size unless size.empty?
         | 
| 108 | 
            +
                         meta[:aspect] = size.split('x').first.to_f / size.split('x').last.to_f if meta[:size]
         | 
| 109 109 | 
             
                       end
         | 
| 110 110 | 
             
                      # Matching Duration: 00:01:31.66, start: 0.000000, bitrate: 10404 kb/s
         | 
| 111 111 | 
             
                      if line =~ /Duration:(\s.?(\d*):(\d*):(\d*\.\d*))/
         | 
| @@ -115,7 +115,7 @@ module Av | |
| 115 115 | 
             
                        meta[:rotate] = $1.to_i
         | 
| 116 116 | 
             
                      end
         | 
| 117 117 | 
             
                    end
         | 
| 118 | 
            -
                    meta
         | 
| 118 | 
            +
                    meta unless meta.empty?
         | 
| 119 119 | 
             
                  end
         | 
| 120 120 |  | 
| 121 121 | 
             
                  def output_format format
         | 
    
        data/lib/av/engine.rb
    ADDED
    
    
    
        data/lib/av/logger.rb
    ADDED
    
    
    
        data/lib/av/version.rb
    CHANGED
    
    
    
        data/spec/av/base_spec.rb
    CHANGED
    
    | @@ -5,10 +5,19 @@ describe Av::Commands::Base do | |
| 5 5 | 
             
              let(:source) { File.new(Dir.pwd + '/spec/support/assets/sample.mp4').path }
         | 
| 6 6 |  | 
| 7 7 | 
             
              describe '.identify' do
         | 
| 8 | 
            -
                 | 
| 8 | 
            +
                describe 'supported files' do
         | 
| 9 | 
            +
                  let(:meta) { subject.identify source }
         | 
| 9 10 |  | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 11 | 
            +
                  it { expect(meta).to be_a Hash }
         | 
| 12 | 
            +
                  it { expect(meta.keys).to include :size, :fps, :length, :aspect }
         | 
| 13 | 
            +
                end
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                describe 'unsupported files' do
         | 
| 16 | 
            +
                  let(:unsupported) { File.new(Dir.pwd + '/spec/support/assets/image.png').path }
         | 
| 17 | 
            +
                  let(:meta) { subject.identify unsupported }
         | 
| 18 | 
            +
                
         | 
| 19 | 
            +
                  it { expect(meta).to be_nil }
         | 
| 20 | 
            +
                end
         | 
| 12 21 | 
             
              end
         | 
| 13 22 |  | 
| 14 23 | 
             
              describe '.add_input_param' do
         | 
| Binary file | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: av
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.4.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Omar Abdel-Wahab
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014-09- | 
| 11 | 
            +
            date: 2014-09-13 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -85,7 +85,9 @@ files: | |
| 85 85 | 
             
            - lib/av/commands/avconv.rb
         | 
| 86 86 | 
             
            - lib/av/commands/base.rb
         | 
| 87 87 | 
             
            - lib/av/commands/ffmpeg.rb
         | 
| 88 | 
            +
            - lib/av/engine.rb
         | 
| 88 89 | 
             
            - lib/av/exceptions.rb
         | 
| 90 | 
            +
            - lib/av/logger.rb
         | 
| 89 91 | 
             
            - lib/av/param_hash.rb
         | 
| 90 92 | 
             
            - lib/av/version.rb
         | 
| 91 93 | 
             
            - spec/av/av_spec.rb
         | 
| @@ -93,6 +95,7 @@ files: | |
| 93 95 | 
             
            - spec/av/base_spec.rb
         | 
| 94 96 | 
             
            - spec/av/ffmpeg_spec.rb
         | 
| 95 97 | 
             
            - spec/spec_helper.rb
         | 
| 98 | 
            +
            - spec/support/assets/image.png
         | 
| 96 99 | 
             
            - spec/support/assets/sample.mp4
         | 
| 97 100 | 
             
            homepage: https://github.com/ruby-av
         | 
| 98 101 | 
             
            licenses:
         | 
| @@ -124,4 +127,5 @@ test_files: | |
| 124 127 | 
             
            - spec/av/base_spec.rb
         | 
| 125 128 | 
             
            - spec/av/ffmpeg_spec.rb
         | 
| 126 129 | 
             
            - spec/spec_helper.rb
         | 
| 130 | 
            +
            - spec/support/assets/image.png
         | 
| 127 131 | 
             
            - spec/support/assets/sample.mp4
         |