mxfinfo 0.0.5 → 0.0.6

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,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.