ffmpeg-ruby 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/ext/ffmpeg_ruby/ffmpeg_avcodec.c +28 -7
- data/ffmpeg-ruby.gemspec +2 -2
- metadata +2 -2
data/Rakefile
CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
|
|
2
2
|
require 'rake'
|
3
3
|
require 'echoe'
|
4
4
|
|
5
|
-
Echoe.new("ffmpeg-ruby", "0.1.
|
5
|
+
Echoe.new("ffmpeg-ruby", "0.1.3") do |p|
|
6
6
|
p.description = "FFMpeg Ruby Bridge. Call FFMpeg/LibAVCodec/LibAVFormat directly"
|
7
7
|
p.url = "http://github.com/hackerdude/ffmpeg-ruby"
|
8
8
|
p.author = "David Martinez"
|
@@ -39,6 +39,27 @@ VALUE AVCodecContext_codec_id(VALUE self)
|
|
39
39
|
return result;
|
40
40
|
}
|
41
41
|
|
42
|
+
VALUE AVCodecContext_fourcc_tag(VALUE self)
|
43
|
+
{
|
44
|
+
AVCodecContext *enc;
|
45
|
+
char buf1[128];
|
46
|
+
|
47
|
+
Data_Get_Struct(self, AVCodecContext, enc);
|
48
|
+
// TODO
|
49
|
+
if( isprint(enc->codec_tag&0xFF) && isprint((enc->codec_tag>>8)&0xFF)
|
50
|
+
&& isprint((enc->codec_tag>>16)&0xFF) && isprint((enc->codec_tag>>24)&0xFF)){
|
51
|
+
snprintf(buf1, sizeof(buf1), "%c%c%c%c",
|
52
|
+
enc->codec_tag & 0xff,
|
53
|
+
(enc->codec_tag >> 8) & 0xff,
|
54
|
+
(enc->codec_tag >> 16) & 0xff,
|
55
|
+
(enc->codec_tag >> 24) & 0xff);
|
56
|
+
} else {
|
57
|
+
snprintf(buf1, sizeof(buf1), "0x%04x", enc->codec_tag);
|
58
|
+
}
|
59
|
+
VALUE result = rb_str_new2(buf1);
|
60
|
+
return result;
|
61
|
+
}
|
62
|
+
|
42
63
|
VALUE AVCodecContext_width(VALUE self)
|
43
64
|
{
|
44
65
|
AVCodecContext *ptr;
|
@@ -166,8 +187,8 @@ VALUE supported_audio_codecs()
|
|
166
187
|
return result;
|
167
188
|
}
|
168
189
|
/*
|
169
|
-
* Similar to avcodec_string but only
|
170
|
-
* gets the name using thse same logic
|
190
|
+
* Similar to avcodec_string on ffmpeg, but only
|
191
|
+
* gets the name using thse same logic. Uses the AVI tags
|
171
192
|
*/
|
172
193
|
VALUE avcodec_canonical_name(AVCodecContext *enc)
|
173
194
|
{
|
@@ -182,18 +203,17 @@ VALUE avcodec_canonical_name(AVCodecContext *enc)
|
|
182
203
|
/* fake mpeg2 transport stream codec (currently not
|
183
204
|
* registered) */
|
184
205
|
codec_name = "mpeg2ts";
|
185
|
-
} else if (enc->codec_name[0] != '\0') {
|
186
|
-
codec_name = enc->codec_name;
|
206
|
+
// } else if (enc->codec_name[0] != '\0') {
|
207
|
+
// codec_name = enc->codec_name;
|
187
208
|
} else {
|
188
209
|
/* output avi tags */
|
189
210
|
if( isprint(enc->codec_tag&0xFF) && isprint((enc->codec_tag>>8)&0xFF)
|
190
211
|
&& isprint((enc->codec_tag>>16)&0xFF) && isprint((enc->codec_tag>>24)&0xFF)){
|
191
|
-
snprintf(buf1, sizeof(buf1), "%c%c%c%c
|
212
|
+
snprintf(buf1, sizeof(buf1), "%c%c%c%c",
|
192
213
|
enc->codec_tag & 0xff,
|
193
214
|
(enc->codec_tag >> 8) & 0xff,
|
194
215
|
(enc->codec_tag >> 16) & 0xff,
|
195
|
-
(enc->codec_tag >> 24) & 0xff
|
196
|
-
enc->codec_tag);
|
216
|
+
(enc->codec_tag >> 24) & 0xff);
|
197
217
|
} else {
|
198
218
|
snprintf(buf1, sizeof(buf1), "0x%04x", enc->codec_tag);
|
199
219
|
}
|
@@ -218,6 +238,7 @@ void Init_ffmpeg_ruby_avcodec(VALUE module)
|
|
218
238
|
rb_define_method(cFFMpegAVCodecContext, "long_name", AVCodecContext_codec_long_name, 0);
|
219
239
|
rb_define_method(cFFMpegAVCodecContext, "name", AVCodecContext_codec_name, 0);
|
220
240
|
rb_define_method(cFFMpegAVCodecContext, "codec_type", AVCodecContext_codec_type, 0);
|
241
|
+
rb_define_method(cFFMpegAVCodecContext, "fourcc_tag", AVCodecContext_fourcc_tag, 0);
|
221
242
|
rb_define_method(cFFMpegAVCodecContext, "codec_id", AVCodecContext_codec_id, 0);
|
222
243
|
rb_define_method(cFFMpegAVCodecContext, "width", AVCodecContext_width, 0);
|
223
244
|
rb_define_method(cFFMpegAVCodecContext, "height", AVCodecContext_height, 0);
|
data/ffmpeg-ruby.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{ffmpeg-ruby}
|
5
|
-
s.version = "0.1.
|
5
|
+
s.version = "0.1.3"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["David Martinez"]
|
9
|
-
s.date = %q{2010-02-
|
9
|
+
s.date = %q{2010-02-17}
|
10
10
|
s.description = %q{FFMpeg Ruby Bridge. Call FFMpeg/LibAVCodec/LibAVFormat directly}
|
11
11
|
s.email = %q{}
|
12
12
|
s.extensions = ["ext/ffmpeg_ruby/extconf.rb"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ffmpeg-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Martinez
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-02-
|
12
|
+
date: 2010-02-17 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|