mxfinfo 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ODFhN2ZhZWQ2Mzc0NTUzNDNiZDdkZTgyYjA0MDdhOTBhNzRhNDAyZg==
5
- data.tar.gz: !binary |-
6
- NDNmMTVlMDM0MmVkMDIxMzdmMTc4NDYzYmNkOTZlMDk0OTY2OGI3ZA==
2
+ SHA1:
3
+ metadata.gz: d04e3ede25d3f995fc537847db3e77926da7260c
4
+ data.tar.gz: 2cac391c5acddbcdd6f69fa31525871736c05d92
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- Yzk2NjQxYzY4OWM0NWEwNDk0ODQ2MjQ4MTQzNDY3ZjM0Yjg3NjY4NDUwODg1
10
- MGI2ZDJiNWEzMzFkN2Q1YzhlYWM5MGU2YmE3NTYzZTNkM2JiZTgzYjQ5OTIw
11
- OGI0ZTBjYWY1YmJiODUxMjE1ZWM2NDA0ODUxMWY2M2EwMGI1MGQ=
12
- data.tar.gz: !binary |-
13
- OTk0ZWY2ZjdkY2E4OTEzYmI2MDMwOTdmM2Y4NzljNmM4NjMzYTUxZTc4ODJi
14
- Yjk3Njk3MWU4OTU3MWZlYmJlNjhhNGFiZWE5MTRhOTRjNDM2Mzg2N2Q1ZDNh
15
- YjdkZjM4ZTRhODk3ZmZmZmY5NGU1ZDU0NmU1YTQzNTY5ZDQyY2Q=
6
+ metadata.gz: 978049af1af28e9f6de0c9cab432d451a2829f29c2a729a1dd087cfe308b087639e5cc3ffb5f104ec5eb9e9ba206d6865f2e76b1bad50bfa04d994686c291b55
7
+ data.tar.gz: 9f3ec26881682b442ce8da97f9cfbb68689eddcdc9dd59a7d6e464ee36ee3bd484e894fc9dea2c0d901b0ceae97daf9bd1bc92729cbccf211b5d2a65b3485077
data/Gemfile CHANGED
@@ -1,2 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
1
3
  gemspec
2
4
 
@@ -1,5 +1,6 @@
1
1
  #include <time.h>
2
2
  #include <ruby.h>
3
+ #include <ruby/thread.h>
3
4
  #include "avid_mxf_info.h"
4
5
 
5
6
  /* Helpers. */
@@ -91,6 +92,20 @@ void cio_free(void *ptr) {
91
92
  ami_free_info(ptr);
92
93
  }
93
94
 
95
+ typedef struct {
96
+ const char *fn;
97
+ AvidMXFInfo *info;
98
+ int result;
99
+ } AmiReadInfoParams;
100
+
101
+ static
102
+ void* ami_read_info_without_gvl(void* ptr)
103
+ {
104
+ AmiReadInfoParams* params = (AmiReadInfoParams*) ptr;
105
+ params->result = ami_read_info(params->fn, params->info, 1);
106
+ return NULL;
107
+ }
108
+
94
109
  static
95
110
  VALUE cio_new(VALUE class, VALUE path)
96
111
  {
@@ -99,13 +114,19 @@ VALUE cio_new(VALUE class, VALUE path)
99
114
 
100
115
  AvidMXFInfo *info = ALLOC(AvidMXFInfo);
101
116
 
102
- int result = ami_read_info(fn, info, 1);
117
+ AmiReadInfoParams params = {
118
+ fn,
119
+ info,
120
+ -1
121
+ };
122
+
123
+ rb_thread_call_without_gvl(ami_read_info_without_gvl, (void*) &params, NULL, NULL);
103
124
 
104
- if(result != 0)
125
+ if(params.result != 0)
105
126
  {
106
127
  ami_free_info(info);
107
128
 
108
- switch(result)
129
+ switch(params.result)
109
130
  {
110
131
  case -2:
111
132
  rb_raise(rb_eIOError, "Failed to open file.");
@@ -1,4 +1,4 @@
1
1
  module MXFInfo
2
- VERSION = '0.0.5'
2
+ VERSION = '0.0.6'
3
3
  end
4
4
 
data/mxfinfo.gemspec CHANGED
@@ -14,10 +14,11 @@ Gem::Specification.new do |gem|
14
14
  gem.name = 'mxfinfo'
15
15
  gem.require_paths = ['lib']
16
16
  gem.version = MXFInfo::VERSION
17
+ gem.license = 'MIT'
18
+
17
19
  gem.required_ruby_version = '>= 1.9.3'
18
- gem.license = 'MIT'
19
20
 
20
- gem.add_development_dependency 'rspec'
21
- gem.add_development_dependency 'rake-compiler'
21
+ gem.add_development_dependency 'rspec', '~> 2.14'
22
+ gem.add_development_dependency 'rake-compiler', '~> 0.9'
22
23
  end
23
24
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mxfinfo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Dierker
@@ -9,36 +9,36 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-11-04 00:00:00.000000000 Z
12
+ date: 2014-07-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ! '>='
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '0'
20
+ version: '2.14'
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ! '>='
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '0'
27
+ version: '2.14'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rake-compiler
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ! '>='
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '0'
34
+ version: '0.9'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ! '>='
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '0'
41
+ version: '0.9'
42
42
  description: MXFinfo is a gem that wraps avidmxfinfo from libmxf in a native ruby
43
43
  extension.
44
44
  email:
@@ -48,7 +48,7 @@ extensions:
48
48
  - ext/mxfinfo/extconf.rb
49
49
  extra_rdoc_files: []
50
50
  files:
51
- - .gitignore
51
+ - ".gitignore"
52
52
  - Gemfile
53
53
  - LICENSE
54
54
  - README.md
@@ -75,17 +75,17 @@ require_paths:
75
75
  - lib
76
76
  required_ruby_version: !ruby/object:Gem::Requirement
77
77
  requirements:
78
- - - ! '>='
78
+ - - ">="
79
79
  - !ruby/object:Gem::Version
80
80
  version: 1.9.3
81
81
  required_rubygems_version: !ruby/object:Gem::Requirement
82
82
  requirements:
83
- - - ! '>='
83
+ - - ">="
84
84
  - !ruby/object:Gem::Version
85
85
  version: '0'
86
86
  requirements: []
87
87
  rubyforge_project:
88
- rubygems_version: 2.1.10
88
+ rubygems_version: 2.2.2
89
89
  signing_key:
90
90
  specification_version: 4
91
91
  summary: MXFinfo is a gem that wraps avidmxfinfo from libmxf in a native ruby extension.