mediainfo-native 0.1.5 → 0.1.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,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 78ccb6789ac08eaeee5b46c17d1999d50c89bbb1
|
4
|
+
data.tar.gz: 7e5e25155198de8386df539586ec44ebd1a1c33d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1cfa0d9a72d1381b64bc473e91d50ea6e8a528d12e69d1fff0390a21247f54ea2a9d0e46c5b219fe3bbeb4f69ec402413f84bdb90c7b9113e81492b4b5b490b1
|
7
|
+
data.tar.gz: 4f39aaae711eae84e30d6cdf5a68500e9df34f820a4c9bc1387ec04a2675e666979ea93f9327b682874441232a6f63d191488890282945446f9e0399948ad663
|
@@ -71,6 +71,13 @@ extern "C"
|
|
71
71
|
return Qnil;
|
72
72
|
}
|
73
73
|
|
74
|
+
static VALUE miw_is_open(VALUE self)
|
75
|
+
{
|
76
|
+
GET_WRAPPER(miw);
|
77
|
+
|
78
|
+
return miw->isOpen() ? Qtrue : Qfalse;
|
79
|
+
}
|
80
|
+
|
74
81
|
static VALUE miw_streams(VALUE self)
|
75
82
|
{
|
76
83
|
GET_WRAPPER(miw);
|
@@ -108,6 +115,7 @@ void Init_MediaInfoWrapper(VALUE mMediaInfoNative)
|
|
108
115
|
|
109
116
|
rb_define_method(cMediaInfo, "close", (RUBYFUNC) miw_close, 0);
|
110
117
|
rb_define_method(cMediaInfo, "open", (RUBYFUNC) miw_open, 1);
|
118
|
+
rb_define_method(cMediaInfo, "is_open?", (RUBYFUNC) miw_is_open, 0);
|
111
119
|
rb_define_method(cMediaInfo, "streams", (RUBYFUNC) miw_streams, 0);
|
112
120
|
|
113
121
|
rb_define_method(cMediaInfo, "inform", (RUBYFUNC) miw_inform, 1);
|
@@ -173,6 +181,11 @@ int MediaInfoWrapper::open(std::string path)
|
|
173
181
|
return 0;
|
174
182
|
}
|
175
183
|
|
184
|
+
bool MediaInfoWrapper::isOpen() const
|
185
|
+
{
|
186
|
+
return file_opened;
|
187
|
+
}
|
188
|
+
|
176
189
|
void MediaInfoWrapper::close()
|
177
190
|
{
|
178
191
|
CHECK_OPEN;
|
@@ -11,8 +11,16 @@ module MediaInfoNative
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
+
def respond_to?(meth, include_all = false)
|
15
|
+
(is_open? && self.general.respond_to?(meth, include_all)) || super
|
16
|
+
end
|
17
|
+
|
14
18
|
def method_missing(meth, *args, &block)
|
15
|
-
self.general.
|
19
|
+
if self.general.respond_to?(meth)
|
20
|
+
self.general.send(meth, *args, &block)
|
21
|
+
else
|
22
|
+
super
|
23
|
+
end
|
16
24
|
end
|
17
25
|
|
18
26
|
[:video, :audio, :image, :other].each do |t|
|
@@ -20,6 +28,10 @@ module MediaInfoNative
|
|
20
28
|
self.send(t).count > 0
|
21
29
|
end
|
22
30
|
end
|
31
|
+
|
32
|
+
# Alias the open method as it is actually a Kernel method and
|
33
|
+
# brings trouble with method_missing approaches.
|
34
|
+
alias_method :open_file, :open
|
23
35
|
end
|
24
36
|
|
25
37
|
class StreamProxy
|
@@ -34,6 +46,19 @@ module MediaInfoNative
|
|
34
46
|
def [](idx); @streams[idx]; end
|
35
47
|
def count; @streams.size; end
|
36
48
|
|
49
|
+
def respond_to?(meth, include_all = false)
|
50
|
+
begin
|
51
|
+
case @streams.size
|
52
|
+
when 0
|
53
|
+
false
|
54
|
+
when 1
|
55
|
+
@streams.first.respond_to?(meth, include_all)
|
56
|
+
else
|
57
|
+
raise SingleStreamAPIError
|
58
|
+
end
|
59
|
+
end || super
|
60
|
+
end
|
61
|
+
|
37
62
|
def method_missing(m, *a, &b)
|
38
63
|
case @streams.size
|
39
64
|
when 0
|
@@ -5,6 +5,7 @@ module MediaInfoNative
|
|
5
5
|
mediainfo_duration_reader :duration, 'Duration'
|
6
6
|
|
7
7
|
mediainfo_attr_reader :format, 'Format'
|
8
|
+
alias_method :fmt, :format
|
8
9
|
mediainfo_attr_reader :format_profile, 'Format_Profile'
|
9
10
|
mediainfo_attr_reader :format_info, 'Format_Info'
|
10
11
|
mediainfo_attr_reader :codec, 'Codec'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mediainfo-native
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- FlavourSys Technology GmbH
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake-compiler
|