uencode 3.0.0 → 3.1.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.
- data/LICENSE.txt +9 -0
 - data/README.md +15 -4
 - data/lib/uencode.rb +12 -3
 - data/lib/uencode/elements.rb +153 -16
 - data/lib/uencode/request.rb +1 -1
 - data/lib/uencode/response.rb +1 -1
 - data/lib/uencode/version.rb +2 -2
 - metadata +3 -3
 - data/Guardfile +0 -8
 
    
        data/LICENSE.txt
    ADDED
    
    | 
         @@ -0,0 +1,9 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            This project is released under The MIT License
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Copyright © 2011, uEncode, Cássio Marques
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # UEncode
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            A Ruby gem to interact with the [uEncode](http://www.uencode.com) API. This extends the work of [ 
     | 
| 
      
 3 
     | 
    
         
            +
            A Ruby gem to interact with the [uEncode](http://www.uencode.com) API. This extends the work of [Cássio Marques](https://github.com/cassiomarques/).
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            ## Creating a job
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
         @@ -14,8 +14,7 @@ end 
     | 
|
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
            #create job and set source video
         
     | 
| 
       17 
     | 
    
         
            -
            job = UEncode::Job.new :userdata => "AnyDataUsefulToYou", :callback => "Your Email Address or Callack Url"
         
     | 
| 
       18 
     | 
    
         
            -
            job.source_video = UEncode::Source.new :url => "http://your.source.url/foo.flv", :timeout => 600
         
     | 
| 
      
 17 
     | 
    
         
            +
            job = UEncode::Job.new :userdata => "AnyDataUsefulToYou", :callback => "Your Email Address or Callack Url", :source_video => {:url => "http://your.source.url/foo.flv", :timeout => 600}
         
     | 
| 
       19 
18 
     | 
    
         | 
| 
       20 
19 
     | 
    
         
             
            #create configuration for a video output
         
     | 
| 
       21 
20 
     | 
    
         
             
            configuration = {:video => {:bitrate => 1000, :codec => 'h264', :profile => 'baseline', :size => {:width => 640, :height => 480}, :fix_rotation => true, :force_sqare_pixels => true}}
         
     | 
| 
         @@ -45,6 +44,18 @@ puts response.code 
     | 
|
| 
       45 
44 
     | 
    
         
             
            puts response.data
         
     | 
| 
       46 
45 
     | 
    
         
             
            ```
         
     | 
| 
       47 
46 
     | 
    
         | 
| 
      
 47 
     | 
    
         
            +
            ## Advanced output options
         
     | 
| 
      
 48 
     | 
    
         
            +
            ``` ruby
         
     | 
| 
      
 49 
     | 
    
         
            +
            #add an overlay to a video or capture output
         
     | 
| 
      
 50 
     | 
    
         
            +
            out = UEncode::VideoOutput.new :container => 'mpeg4', :overlay => {:quadrant=>'Lower-Right', :source_image=>{:url=>'http://your.source.url/logo.png'}}
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
            #encode only a portion of input video (values are seconds)
         
     | 
| 
      
 53 
     | 
    
         
            +
            out = UEncode::VideoOutput.new :container => 'mpeg4', :clip => {:start => 30, :duration => 60}
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
            #add metadata to a video
         
     | 
| 
      
 56 
     | 
    
         
            +
            out = UEncode::VideoOutput.new :container => 'mpeg4', :metadata => {:title => 'Video Title', :author => 'Video Author'}
         
     | 
| 
      
 57 
     | 
    
         
            +
            ```
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
       48 
59 
     | 
    
         
             
            ## Checking job status
         
     | 
| 
       49 
60 
     | 
    
         
             
            ``` ruby
         
     | 
| 
       50 
61 
     | 
    
         
             
            require 'uencode'
         
     | 
| 
         @@ -81,7 +92,7 @@ The gem does not validate input. Consult the [uEncode API documentation](http:// 
     | 
|
| 
       81 
92 
     | 
    
         | 
| 
       82 
93 
     | 
    
         
             
            This project is released under The MIT License
         
     | 
| 
       83 
94 
     | 
    
         | 
| 
       84 
     | 
    
         
            -
            Copyright © 2011, uEncode,  
     | 
| 
      
 95 
     | 
    
         
            +
            Copyright © 2011, uEncode, Cássio Marques
         
     | 
| 
       85 
96 
     | 
    
         | 
| 
       86 
97 
     | 
    
         
             
            Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
         
     | 
| 
       87 
98 
     | 
    
         | 
    
        data/lib/uencode.rb
    CHANGED
    
    | 
         @@ -1,4 +1,4 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # Copyright (c) 2011, uEncode,  
     | 
| 
      
 1 
     | 
    
         
            +
            # Copyright (c) 2011, uEncode, Cássio Marques
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            $LOAD_PATH.unshift(File.dirname(__FILE__))
         
     | 
| 
       4 
4 
     | 
    
         
             
            $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
         
     | 
| 
         @@ -18,8 +18,17 @@ module UEncode 
     | 
|
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
              module AttrSetting
         
     | 
| 
       20 
20 
     | 
    
         
             
                def set_attributes(options)
         
     | 
| 
       21 
     | 
    
         
            -
                  self.class.const_get("ATTRIBUTES").each { |attr| instance_variable_set(:"@#{attr}", options[attr.to_sym] || options[attr.to_s]) }
         
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
      
 21 
     | 
    
         
            +
            #      self.class.const_get("ATTRIBUTES").each { |attr| instance_variable_set(:"@#{attr}", options[attr.to_sym] || options[attr.to_s]) }
         
     | 
| 
      
 22 
     | 
    
         
            +
            #      options.each do |key, value|
         
     | 
| 
      
 23 
     | 
    
         
            +
                      options.each_pair { |key, value| 
         
     | 
| 
      
 24 
     | 
    
         
            +
                      if self.class.const_get("ATTRIBUTES").include?(key)
         
     | 
| 
      
 25 
     | 
    
         
            +
                        instance_variable_set(:"@#{key}", value)
         
     | 
| 
      
 26 
     | 
    
         
            +
                      else
         
     | 
| 
      
 27 
     | 
    
         
            +
                        self.send("#{key}=", value) 
         
     | 
| 
      
 28 
     | 
    
         
            +
                      end
         
     | 
| 
      
 29 
     | 
    
         
            +
                      }
         
     | 
| 
      
 30 
     | 
    
         
            +
                    
         
     | 
| 
      
 31 
     | 
    
         
            +
                  end
         
     | 
| 
       23 
32 
     | 
    
         | 
| 
       24 
33 
     | 
    
         
             
                def initialize(options)
         
     | 
| 
       25 
34 
     | 
    
         
             
                  set_attributes options
         
     | 
    
        data/lib/uencode/elements.rb
    CHANGED
    
    | 
         @@ -1,4 +1,4 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # Copyright (c) 2011, uEncode,  
     | 
| 
      
 1 
     | 
    
         
            +
            # Copyright (c) 2011, uEncode, Cássio Marques
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            module UEncode
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
         @@ -76,6 +76,62 @@ module UEncode 
     | 
|
| 
       76 
76 
     | 
    
         
             
                private
         
     | 
| 
       77 
77 
     | 
    
         
             
                def root_name; "source"; end
         
     | 
| 
       78 
78 
     | 
    
         
             
              end
         
     | 
| 
      
 79 
     | 
    
         
            +
              
         
     | 
| 
      
 80 
     | 
    
         
            +
              class OverlayUrl
         
     | 
| 
      
 81 
     | 
    
         
            +
                include Transfer
         
     | 
| 
      
 82 
     | 
    
         
            +
                
         
     | 
| 
      
 83 
     | 
    
         
            +
                private
         
     | 
| 
      
 84 
     | 
    
         
            +
                def root_name; "url"; end
         
     | 
| 
      
 85 
     | 
    
         
            +
              end
         
     | 
| 
      
 86 
     | 
    
         
            +
              
         
     | 
| 
      
 87 
     | 
    
         
            +
              class Position
         
     | 
| 
      
 88 
     | 
    
         
            +
                ATTRIBUTES = [:x, :y]
         
     | 
| 
      
 89 
     | 
    
         
            +
                
         
     | 
| 
      
 90 
     | 
    
         
            +
                include AttrSetting
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
                def to_xml
         
     | 
| 
      
 93 
     | 
    
         
            +
                  %Q{
         
     | 
| 
      
 94 
     | 
    
         
            +
                  <position>
         
     | 
| 
      
 95 
     | 
    
         
            +
                  <#{x.nil? ? '<x>' + x.to_s + '</x>' : ""}
         
     | 
| 
      
 96 
     | 
    
         
            +
                  <#{y.nil? ? '<y>' + y.to_s + '</y>' : ""}
         
     | 
| 
      
 97 
     | 
    
         
            +
                  </position>
         
     | 
| 
      
 98 
     | 
    
         
            +
                  }
         
     | 
| 
      
 99 
     | 
    
         
            +
                end
         
     | 
| 
      
 100 
     | 
    
         
            +
              end
         
     | 
| 
      
 101 
     | 
    
         
            +
              
         
     | 
| 
      
 102 
     | 
    
         
            +
              class Overlay
         
     | 
| 
      
 103 
     | 
    
         
            +
                ATTRIBUTES = [:quadrant]
         
     | 
| 
      
 104 
     | 
    
         
            +
                
         
     | 
| 
      
 105 
     | 
    
         
            +
                include AttrSetting
         
     | 
| 
      
 106 
     | 
    
         
            +
             
     | 
| 
      
 107 
     | 
    
         
            +
                def position=(_position)
         
     | 
| 
      
 108 
     | 
    
         
            +
                  _position = Position.new(_position) unless _position.instance_of?(Position) || _position.nil?
         
     | 
| 
      
 109 
     | 
    
         
            +
                  instance_variable_set :@position, _position
         
     | 
| 
      
 110 
     | 
    
         
            +
                end
         
     | 
| 
      
 111 
     | 
    
         
            +
                
         
     | 
| 
      
 112 
     | 
    
         
            +
                def position
         
     | 
| 
      
 113 
     | 
    
         
            +
                  @position
         
     | 
| 
      
 114 
     | 
    
         
            +
                end
         
     | 
| 
      
 115 
     | 
    
         
            +
                
         
     | 
| 
      
 116 
     | 
    
         
            +
                def source_image=(_source)
         
     | 
| 
      
 117 
     | 
    
         
            +
                   _source = OverlayUrl.new(_source) unless _source.instance_of?(OverlayUrl) || _source.nil?
         
     | 
| 
      
 118 
     | 
    
         
            +
                   instance_variable_set :@source_image, _source
         
     | 
| 
      
 119 
     | 
    
         
            +
                end
         
     | 
| 
      
 120 
     | 
    
         
            +
                                
         
     | 
| 
      
 121 
     | 
    
         
            +
                def source_image
         
     | 
| 
      
 122 
     | 
    
         
            +
                  @source_image
         
     | 
| 
      
 123 
     | 
    
         
            +
                end                                          
         
     | 
| 
      
 124 
     | 
    
         
            +
                
         
     | 
| 
      
 125 
     | 
    
         
            +
                def to_xml
         
     | 
| 
      
 126 
     | 
    
         
            +
                  %Q{
         
     | 
| 
      
 127 
     | 
    
         
            +
                    <overlay>
         
     | 
| 
      
 128 
     | 
    
         
            +
                      #{!source_image.nil? ? source_image.to_xml : ""}
         
     | 
| 
      
 129 
     | 
    
         
            +
                      #{!@position.nil? ? @position.to_xml : ""}
         
     | 
| 
      
 130 
     | 
    
         
            +
                      #{!quadrant.nil? ? '<quadrant>' + quadrant.to_s + '</quadrant>' : ""}
         
     | 
| 
      
 131 
     | 
    
         
            +
                    </overlay>
         
     | 
| 
      
 132 
     | 
    
         
            +
                  }
         
     | 
| 
      
 133 
     | 
    
         
            +
                end
         
     | 
| 
      
 134 
     | 
    
         
            +
              end
         
     | 
| 
       79 
135 
     | 
    
         | 
| 
       80 
136 
     | 
    
         
             
              class CaptureOutput
         
     | 
| 
       81 
137 
     | 
    
         
             
                ATTRIBUTES = [:rate, :stretch, :crop, :zip, :prefix]
         
     | 
| 
         @@ -107,6 +163,14 @@ module UEncode 
     | 
|
| 
       107 
163 
     | 
    
         
             
                  @max_size
         
     | 
| 
       108 
164 
     | 
    
         
             
                end
         
     | 
| 
       109 
165 
     | 
    
         | 
| 
      
 166 
     | 
    
         
            +
                def overlay=(_overlay)
         
     | 
| 
      
 167 
     | 
    
         
            +
                  _overlay = Overlay.new(_overlay) unless _overlay.instance_of?(Overlay) || _overlay.nil?
         
     | 
| 
      
 168 
     | 
    
         
            +
                  instance_variable_set :@overlay, _overlay
         
     | 
| 
      
 169 
     | 
    
         
            +
                end
         
     | 
| 
      
 170 
     | 
    
         
            +
             
     | 
| 
      
 171 
     | 
    
         
            +
                def overlay
         
     | 
| 
      
 172 
     | 
    
         
            +
                  @overlay
         
     | 
| 
      
 173 
     | 
    
         
            +
                end
         
     | 
| 
       110 
174 
     | 
    
         | 
| 
       111 
175 
     | 
    
         
             
                def to_xml
         
     | 
| 
       112 
176 
     | 
    
         
             
                  %Q{
         
     | 
| 
         @@ -119,19 +183,93 @@ module UEncode 
     | 
|
| 
       119 
183 
     | 
    
         
             
                        </destinations>
         
     | 
| 
       120 
184 
     | 
    
         
             
                      #{@size ? @size.to_xml : ""}
         
     | 
| 
       121 
185 
     | 
    
         
             
                      #{@max_size ? @max_size.to_xml : ""}                    
         
     | 
| 
      
 186 
     | 
    
         
            +
                      #{@overlay ? @overlay.to_xml : ""}
         
     | 
| 
       122 
187 
     | 
    
         
             
                      </capture>
         
     | 
| 
       123 
188 
     | 
    
         
             
                  }
         
     | 
| 
       124 
189 
     | 
    
         
             
                end
         
     | 
| 
       125 
190 
     | 
    
         
             
              end
         
     | 
| 
       126 
191 
     | 
    
         | 
| 
      
 192 
     | 
    
         
            +
              class Metadata
         
     | 
| 
      
 193 
     | 
    
         
            +
                ATTRIBUTES = [:title, :author, :composer, :album, :year, :track, :comment, :genre, :copyright, :description, :synopsis, :show, :episode_id, :network]
         
     | 
| 
      
 194 
     | 
    
         
            +
             
     | 
| 
      
 195 
     | 
    
         
            +
                include AttrSetting
         
     | 
| 
      
 196 
     | 
    
         
            +
             
     | 
| 
      
 197 
     | 
    
         
            +
                def to_xml
         
     | 
| 
      
 198 
     | 
    
         
            +
                  %Q{
         
     | 
| 
      
 199 
     | 
    
         
            +
                    <meta>
         
     | 
| 
      
 200 
     | 
    
         
            +
                    #{!title.nil? ? '<title>' + title.to_s + '</title>' : ""}
         
     | 
| 
      
 201 
     | 
    
         
            +
                    #{!author.nil? ? '<author>' + author.to_s + '</author>' : ""}
         
     | 
| 
      
 202 
     | 
    
         
            +
                    #{!composer.nil? ? '<composer>' + composer.to_s + '</composer>' : ""}
         
     | 
| 
      
 203 
     | 
    
         
            +
                    #{!album.nil? ? '<album>' + album.to_s + '</album>' : ""}
         
     | 
| 
      
 204 
     | 
    
         
            +
                    #{!year.nil? ? '<year>' + year.to_s + '</year>' : ""}
         
     | 
| 
      
 205 
     | 
    
         
            +
                    #{!track.nil? ? '<track>' + track.to_s + '</track>' : ""}
         
     | 
| 
      
 206 
     | 
    
         
            +
                    #{!comment.nil? ? '<comment>' + comment.to_s + '</comment>' : ""}
         
     | 
| 
      
 207 
     | 
    
         
            +
                    #{!genre.nil? ? '<genre>' + genre.to_s + '</genre>' : ""}
         
     | 
| 
      
 208 
     | 
    
         
            +
                    #{!copyright.nil? ? '<copyright>' + copyright.to_s + '</copyright>' : ""}
         
     | 
| 
      
 209 
     | 
    
         
            +
                    #{!description.nil? ? '<description>' + description.to_s + '</description>' : ""}
         
     | 
| 
      
 210 
     | 
    
         
            +
                    #{!synopsis.nil? ? '<synopsis>' + synopsis.to_s + '</synopsis>' : ""}
         
     | 
| 
      
 211 
     | 
    
         
            +
                    #{!show.nil? ? '<show>' + show.to_s + '</show>' : ""}
         
     | 
| 
      
 212 
     | 
    
         
            +
                    #{!episode_id.nil? ? '<episode_id>' + episode_id.to_s + '</episode_id>' : ""}
         
     | 
| 
      
 213 
     | 
    
         
            +
                    #{!network.nil? ? '<network>' + network.to_s + '</network>' : ""}
         
     | 
| 
      
 214 
     | 
    
         
            +
                    </meta>
         
     | 
| 
      
 215 
     | 
    
         
            +
                  }
         
     | 
| 
      
 216 
     | 
    
         
            +
                end
         
     | 
| 
      
 217 
     | 
    
         
            +
              end                      
         
     | 
| 
      
 218 
     | 
    
         
            +
             
     | 
| 
      
 219 
     | 
    
         
            +
              class Clip
         
     | 
| 
      
 220 
     | 
    
         
            +
                ATTRIBUTES = [:start, :duration]
         
     | 
| 
      
 221 
     | 
    
         
            +
             
     | 
| 
      
 222 
     | 
    
         
            +
                include AttrSetting
         
     | 
| 
      
 223 
     | 
    
         
            +
                
         
     | 
| 
      
 224 
     | 
    
         
            +
                def to_xml
         
     | 
| 
      
 225 
     | 
    
         
            +
                  %Q{
         
     | 
| 
      
 226 
     | 
    
         
            +
                    <clip>
         
     | 
| 
      
 227 
     | 
    
         
            +
                    #{!start.nil? ? '<start>' + start.to_s + '</start>' : ""}
         
     | 
| 
      
 228 
     | 
    
         
            +
                    #{!duration.nil? ? '<duration>' + duration.to_s + '</duration>' : ""}
         
     | 
| 
      
 229 
     | 
    
         
            +
                    </clip>
         
     | 
| 
      
 230 
     | 
    
         
            +
                  }
         
     | 
| 
      
 231 
     | 
    
         
            +
                end
         
     | 
| 
      
 232 
     | 
    
         
            +
              end
         
     | 
| 
      
 233 
     | 
    
         
            +
              
         
     | 
| 
       127 
234 
     | 
    
         
             
              class VideoOutput
         
     | 
| 
       128 
235 
     | 
    
         
             
                ATTRIBUTES = [:destination, :container]
         
     | 
| 
       129 
236 
     | 
    
         | 
| 
      
 237 
     | 
    
         
            +
                include AttrSetting
         
     | 
| 
      
 238 
     | 
    
         
            +
             
     | 
| 
       130 
239 
     | 
    
         
             
                include Enumerable
         
     | 
| 
       131 
240 
     | 
    
         | 
| 
       132 
241 
     | 
    
         
             
                attr_writer :container
         
     | 
| 
       133 
242 
     | 
    
         
             
                attr_accessor :streams
         
     | 
| 
       134 
243 
     | 
    
         | 
| 
      
 244 
     | 
    
         
            +
             
     | 
| 
      
 245 
     | 
    
         
            +
                def overlay=(_overlay)
         
     | 
| 
      
 246 
     | 
    
         
            +
                  _overlay = Overlay.new(_overlay) unless _overlay.instance_of?(Overlay) || _overlay.nil?
         
     | 
| 
      
 247 
     | 
    
         
            +
                  instance_variable_set :@overlay, _overlay
         
     | 
| 
      
 248 
     | 
    
         
            +
                end
         
     | 
| 
      
 249 
     | 
    
         
            +
             
     | 
| 
      
 250 
     | 
    
         
            +
                def overlay
         
     | 
| 
      
 251 
     | 
    
         
            +
                  @overlay
         
     | 
| 
      
 252 
     | 
    
         
            +
                end
         
     | 
| 
      
 253 
     | 
    
         
            +
             
     | 
| 
      
 254 
     | 
    
         
            +
                def clip=(_clip)
         
     | 
| 
      
 255 
     | 
    
         
            +
                  _clip = Clip.new(_clip) unless _clip.instance_of?(Clip) || _clip.nil?
         
     | 
| 
      
 256 
     | 
    
         
            +
                  instance_variable_set :@clip, _clip
         
     | 
| 
      
 257 
     | 
    
         
            +
                end
         
     | 
| 
      
 258 
     | 
    
         
            +
             
     | 
| 
      
 259 
     | 
    
         
            +
                def clip
         
     | 
| 
      
 260 
     | 
    
         
            +
                  @clip
         
     | 
| 
      
 261 
     | 
    
         
            +
                end
         
     | 
| 
      
 262 
     | 
    
         
            +
             
     | 
| 
      
 263 
     | 
    
         
            +
                def metadata=(_metadata)
         
     | 
| 
      
 264 
     | 
    
         
            +
                  _metadata = Metadata.new(_metadata) unless _metadata.instance_of?(Metadata) || _metadata.nil?
         
     | 
| 
      
 265 
     | 
    
         
            +
                  instance_variable_set :@metadata, _metadata
         
     | 
| 
      
 266 
     | 
    
         
            +
                end
         
     | 
| 
      
 267 
     | 
    
         
            +
             
     | 
| 
      
 268 
     | 
    
         
            +
                def metadata
         
     | 
| 
      
 269 
     | 
    
         
            +
                  @metadata
         
     | 
| 
      
 270 
     | 
    
         
            +
                end
         
     | 
| 
      
 271 
     | 
    
         
            +
             
     | 
| 
      
 272 
     | 
    
         
            +
             
     | 
| 
       135 
273 
     | 
    
         
             
                def initialize(options)
         
     | 
| 
       136 
274 
     | 
    
         
             
                  @streams = VideoStreams.new
         
     | 
| 
       137 
275 
     | 
    
         
             
                  @destinations = []
         
     | 
| 
         @@ -150,8 +288,11 @@ module UEncode 
     | 
|
| 
       150 
288 
     | 
    
         
             
                  %Q{
         
     | 
| 
       151 
289 
     | 
    
         
             
                      <video>
         
     | 
| 
       152 
290 
     | 
    
         
             
                        <destinations>
         
     | 
| 
       153 
     | 
    
         
            -
             
     | 
| 
      
 291 
     | 
    
         
            +
                        #{@destinations.inject("") { |s, dest| s << dest.to_xml}}                        
         
     | 
| 
       154 
292 
     | 
    
         
             
                        </destinations>
         
     | 
| 
      
 293 
     | 
    
         
            +
                        #{metadata.nil? ? "" : metadata.to_xml}
         
     | 
| 
      
 294 
     | 
    
         
            +
                        #{clip.nil? ? "" : clip.to_xml}
         
     | 
| 
      
 295 
     | 
    
         
            +
                        #{overlay.nil? ? "" : overlay.to_xml}
         
     | 
| 
       155 
296 
     | 
    
         
             
                        <container>#{container}</container>
         
     | 
| 
       156 
297 
     | 
    
         
             
                        #{@streams.to_xml}
         
     | 
| 
       157 
298 
     | 
    
         
             
                      </video>
         
     | 
| 
         @@ -163,6 +304,7 @@ module UEncode 
     | 
|
| 
       163 
304 
     | 
    
         
             
              class VideoStreams
         
     | 
| 
       164 
305 
     | 
    
         
             
                attr_reader :video_config, :audio_config
         
     | 
| 
       165 
306 
     | 
    
         | 
| 
      
 307 
     | 
    
         
            +
             
     | 
| 
       166 
308 
     | 
    
         
             
                def initialize
         
     | 
| 
       167 
309 
     | 
    
         
             
                  @video_config = VideoConfig.new
         
     | 
| 
       168 
310 
     | 
    
         
             
                  @audio_config = AudioConfig.new
         
     | 
| 
         @@ -180,17 +322,17 @@ module UEncode 
     | 
|
| 
       180 
322 
     | 
    
         
             
                # codec, bitrate, channels, samplerate.
         
     | 
| 
       181 
323 
     | 
    
         
             
                #   
         
     | 
| 
       182 
324 
     | 
    
         
             
                def configure(hash)
         
     | 
| 
       183 
     | 
    
         
            -
                   
     | 
| 
       184 
     | 
    
         
            -
                   
     | 
| 
       185 
     | 
    
         
            -
                  if ! 
     | 
| 
      
 325 
     | 
    
         
            +
                  vid = hash[:video]
         
     | 
| 
      
 326 
     | 
    
         
            +
                  aud = hash[:audio]      
         
     | 
| 
      
 327 
     | 
    
         
            +
                  if !vid.nil?
         
     | 
| 
       186 
328 
     | 
    
         
             
                    configure_video do |c|
         
     | 
| 
       187 
     | 
    
         
            -
                       
     | 
| 
      
 329 
     | 
    
         
            +
                      vid.each_pair { |key, value| c.send("#{key}=", value)}
         
     | 
| 
       188 
330 
     | 
    
         
             
                    end
         
     | 
| 
       189 
331 
     | 
    
         
             
                  end
         
     | 
| 
       190 
332 
     | 
    
         | 
| 
       191 
     | 
    
         
            -
                  if ! 
     | 
| 
      
 333 
     | 
    
         
            +
                  if !aud.nil?
         
     | 
| 
       192 
334 
     | 
    
         
             
                    configure_audio do |c|
         
     | 
| 
       193 
     | 
    
         
            -
                       
     | 
| 
      
 335 
     | 
    
         
            +
                      aud.each_pair { |key, value| c.send("#{key}=", value) }
         
     | 
| 
       194 
336 
     | 
    
         
             
                    end
         
     | 
| 
       195 
337 
     | 
    
         
             
                  end
         
     | 
| 
       196 
338 
     | 
    
         
             
                end
         
     | 
| 
         @@ -241,12 +383,6 @@ module UEncode 
     | 
|
| 
       241 
383 
     | 
    
         
             
              class VideoConfig
         
     | 
| 
       242 
384 
     | 
    
         
             
                attr_accessor :bitrate, :codec, :profile, :quality, :framerate, :passes, :deinterlace, :fix_rotation, :force_square_pixels
         
     | 
| 
       243 
385 
     | 
    
         | 
| 
       244 
     | 
    
         
            -
                def initialize
         
     | 
| 
       245 
     | 
    
         
            -
                  @deinterlace = false
         
     | 
| 
       246 
     | 
    
         
            -
                  @profile     = "main"
         
     | 
| 
       247 
     | 
    
         
            -
                  @passes      = 1
         
     | 
| 
       248 
     | 
    
         
            -
                end
         
     | 
| 
       249 
     | 
    
         
            -
             
     | 
| 
       250 
386 
     | 
    
         
             
                def size=(_size)
         
     | 
| 
       251 
387 
     | 
    
         
             
                  _size = Size.new(_size) unless _size.instance_of?(Size) || _size.nil?
         
     | 
| 
       252 
388 
     | 
    
         
             
                  instance_variable_set :@size, _size
         
     | 
| 
         @@ -269,6 +405,7 @@ module UEncode 
     | 
|
| 
       269 
405 
     | 
    
         
             
              # The audio configs for each VideoStream
         
     | 
| 
       270 
406 
     | 
    
         
             
              class AudioConfig
         
     | 
| 
       271 
407 
     | 
    
         
             
                attr_accessor :codec, :bitrate, :channels, :samplerate, :quality
         
     | 
| 
      
 408 
     | 
    
         
            +
             
     | 
| 
       272 
409 
     | 
    
         
             
              end
         
     | 
| 
       273 
410 
     | 
    
         | 
| 
       274 
411 
     | 
    
         
             
              class JobStatus
         
     | 
| 
         @@ -290,7 +427,7 @@ module UEncode 
     | 
|
| 
       290 
427 
     | 
    
         
             
                def source_video
         
     | 
| 
       291 
428 
     | 
    
         
             
                  @source_video
         
     | 
| 
       292 
429 
     | 
    
         
             
                end
         
     | 
| 
       293 
     | 
    
         
            -
             
     | 
| 
      
 430 
     | 
    
         
            +
                
         
     | 
| 
       294 
431 
     | 
    
         
             
                def initialize(options)
         
     | 
| 
       295 
432 
     | 
    
         
             
                  @video_outputs = []
         
     | 
| 
       296 
433 
     | 
    
         
             
                  @captures = []
         
     | 
| 
         @@ -311,7 +448,7 @@ module UEncode 
     | 
|
| 
       311 
448 
     | 
    
         
             
                    <job>
         
     | 
| 
       312 
449 
     | 
    
         
             
                      #{source_video.nil? ? "" : source_video.to_xml}
         
     | 
| 
       313 
450 
     | 
    
         
             
                      #{userdata.nil? ? "" : '<userdata>' + userdata + '</userdata>'}
         
     | 
| 
       314 
     | 
    
         
            -
                      #{callback.nil? ? "" : '<callback>' + callback + '</callback>'}
         
     | 
| 
      
 451 
     | 
    
         
            +
                      #{callback.nil? ? "" : '<callback>' + callback + '</callback>'}          
         
     | 
| 
       315 
452 
     | 
    
         
             
                      <outputs>
         
     | 
| 
       316 
453 
     | 
    
         
             
                        #{@video_outputs.inject("") { |s, vid| s << vid.to_xml}}
         
     | 
| 
       317 
454 
     | 
    
         
             
                        #{@captures.inject("") { |s, cap| s << cap.to_xml }}
         
     | 
    
        data/lib/uencode/request.rb
    CHANGED
    
    
    
        data/lib/uencode/response.rb
    CHANGED
    
    
    
        data/lib/uencode/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -2,7 +2,7 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
            name: uencode
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
4 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       5 
     | 
    
         
            -
              version: 3. 
     | 
| 
      
 5 
     | 
    
         
            +
              version: 3.1.0
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors: 
         
     | 
| 
       8 
8 
     | 
    
         
             
              - uencode
         
     | 
| 
         @@ -11,7 +11,7 @@ autorequire: 
     | 
|
| 
       11 
11 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       12 
12 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
            date: 2012-03- 
     | 
| 
      
 14 
     | 
    
         
            +
            date: 2012-03-29 00:00:00 -04:00
         
     | 
| 
       15 
15 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       16 
16 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       17 
17 
     | 
    
         
             
              - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -71,7 +71,7 @@ files: 
     | 
|
| 
       71 
71 
     | 
    
         
             
              - .autotest
         
     | 
| 
       72 
72 
     | 
    
         
             
              - .gitignore
         
     | 
| 
       73 
73 
     | 
    
         
             
              - Gemfile
         
     | 
| 
       74 
     | 
    
         
            -
              -  
     | 
| 
      
 74 
     | 
    
         
            +
              - LICENSE.txt
         
     | 
| 
       75 
75 
     | 
    
         
             
              - README.md
         
     | 
| 
       76 
76 
     | 
    
         
             
              - Rakefile
         
     | 
| 
       77 
77 
     | 
    
         
             
              - lib/uencode.rb
         
     | 
    
        data/Guardfile
    DELETED