av_capture 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f8e99dad77f6a89bc049ebf0872b2ab163a447c7
4
- data.tar.gz: 01122777757c350ff765ffb06ebff748ee54fa78
3
+ metadata.gz: b453a7db7dd87d42ed5cbda0b72933aa507216c3
4
+ data.tar.gz: 95b36932ca28353b09ff82873ffa6eefe8cc3341
5
5
  SHA512:
6
- metadata.gz: 5f98f29863c002f6a728e6631562bc3dc30e0b77bca77285a3121f296b66a94653ad3da8a2957b9f49c16b896b325c85474256793d1d450c6cda9e06bc8423e5
7
- data.tar.gz: 55ca12dc317b176d4b2b302e360b056d472fbbeb1c1abfa63c80eecab9d1bfa4382bbc23abd5e66aa56f5cbabb6ea09fd981ab96b5b5100b3fca365ed451b179
6
+ metadata.gz: e251ec7899cedb4a08e797b465dee4835d78af05cd6710985f4585bea15fb2d55fa8d767e573c6d8b2f226f0486f691d986315db547a43a59095436a13325ae0
7
+ data.tar.gz: c2ae4465ff5dee39eac94d199206ca34a2fcde4d0a3098f2170b793f45b807126fc038655a157eeb8d8eac4fcc32f1d348bf8108e6129781151182fc4fe07def
@@ -4,37 +4,37 @@
4
4
 
5
5
  ## DESCRIPTION:
6
6
 
7
- Wraps up AVCapture and exposes it to Ruby.
7
+ Wraps up AVCapture and exposes it to Ruby. This gem only works on OS X.
8
8
 
9
9
  ## FEATURES/PROBLEMS:
10
10
 
11
+ * This gem only works on OS X
11
12
  * Not particularly easy to use right now
13
+ * This gem only works on OS X
14
+ * This gem only works on OS X
15
+ * This gem only works on OS X
16
+ * This gem only works on OS X
17
+ * This gem only works on OS X
12
18
 
13
19
  ### SYNOPSIS:
14
20
 
15
21
  Capture an image:
16
22
 
17
23
  ```ruby
18
- session = AVCapture::Session.new # AVCaptureSession
19
- dev = AVCapture.devices.find(&:video?) # AVCaptureDevice
24
+ require 'av_capture'
25
+
26
+ session = AVCapture::Session.new
27
+ dev = AVCapture.devices.find(&:video?)
20
28
 
21
29
  p dev.name
22
30
  p dev.video?
23
- output = AVCapture::StillImageOutput.new # AVCaptureOutput subclass
24
- session.add_input dev.as_input
25
- session.add_output output
26
-
27
- session.run do
28
- connection = output.video_connection
29
-
30
- ios = 5.times.map {
31
- io = output.capture_on connection
32
- sleep 0.5
33
- io
34
- }
35
31
 
36
- ios.each_with_index do |io, i|
37
- File.open("x_#{i}.jpg", 'wb') { |f| f.write io.data }
32
+ session.run_with(dev) do |connection|
33
+ 2.times do |i|
34
+ File.open("x_#{i}.jpg", 'wb') { |f|
35
+ f.write connection.capture
36
+ }
37
+ sleep 1
38
38
  end
39
39
  end
40
40
  ```
data/Rakefile CHANGED
@@ -20,6 +20,8 @@ Hoe.spec 'av_capture' do
20
20
  :required_ruby_version => '>= 2.0.0'
21
21
  }
22
22
 
23
+ license 'MIT'
24
+
23
25
  Rake::ExtensionTask.new "av_capture", spec do |ext|
24
26
  ext.lib_dir = File.join(*['lib', ENV['FAT_DIR']].compact)
25
27
  end
@@ -2,7 +2,7 @@ require 'av_capture.so'
2
2
  require 'thread'
3
3
 
4
4
  module AVCapture
5
- VERSION = '1.0.0'
5
+ VERSION = '1.0.1'
6
6
 
7
7
  class Device
8
8
  def video?
@@ -42,6 +42,26 @@ module AVCapture
42
42
  end
43
43
 
44
44
  class Session
45
+ class Capture
46
+ def initialize output, connection
47
+ @output = output
48
+ @connection = connection
49
+ end
50
+
51
+ def capture
52
+ @output.capture_on(@connection).data
53
+ end
54
+ end
55
+
56
+ def run_with dev
57
+ output = AVCapture::StillImageOutput.new
58
+ add_input dev.as_input
59
+ add_output output
60
+ connection = output.video_connection
61
+ capture = Capture.new output, connection
62
+ run { yield capture }
63
+ end
64
+
45
65
  def run
46
66
  start_running!
47
67
  yield
@@ -6,6 +6,17 @@ class TestAVCapture < MiniTest::Test
6
6
  AVCapture.devices.find(&:video?)
7
7
  end
8
8
 
9
+ def test_simplified_api
10
+ session = AVCapture::Session.new
11
+ dev = AVCapture.devices.find(&:video?)
12
+
13
+ data = nil
14
+ session.run_with(dev) do |connection|
15
+ data = connection.capture
16
+ end
17
+ assert data
18
+ end
19
+
9
20
  def test_output
10
21
  sio = AVCapture::StillImageOutput.new
11
22
  assert_equal 0, sio.connections.length
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: av_capture
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Patterson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-17 00:00:00.000000000 Z
11
+ date: 2014-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '5.2'
19
+ version: '5.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '5.2'
26
+ version: '5.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rdoc
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,15 +44,16 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.6'
47
+ version: '3.8'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.6'
55
- description: Wraps up AVCapture and exposes it to Ruby.
54
+ version: '3.8'
55
+ description: Wraps up AVCapture and exposes it to Ruby. This gem only works on OS
56
+ X.
56
57
  email:
57
58
  - tenderlove@ruby-lang.org
58
59
  executables: []
@@ -64,6 +65,7 @@ extra_rdoc_files:
64
65
  - README.markdown
65
66
  files:
66
67
  - ".autotest"
68
+ - ".gemtest"
67
69
  - CHANGELOG.rdoc
68
70
  - Gemfile
69
71
  - Manifest.txt
@@ -79,9 +81,9 @@ files:
79
81
  - ext/av_capture/still_image_output.m
80
82
  - lib/av_capture.rb
81
83
  - test/test_maccam.rb
82
- - ".gemtest"
83
84
  homepage: https://github.com/tenderlove/av_capture
84
- licenses: []
85
+ licenses:
86
+ - MIT
85
87
  metadata: {}
86
88
  post_install_message:
87
89
  rdoc_options:
@@ -101,9 +103,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
103
  version: '0'
102
104
  requirements: []
103
105
  rubyforge_project: av_capture
104
- rubygems_version: 2.0.2
106
+ rubygems_version: 2.2.2
105
107
  signing_key:
106
108
  specification_version: 4
107
- summary: Wraps up AVCapture and exposes it to Ruby.
109
+ summary: Wraps up AVCapture and exposes it to Ruby
108
110
  test_files:
109
111
  - test/test_maccam.rb