exif 2.2.2 → 2.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/exif/data.c +22 -1
- data/ext/exif/exif.c +1 -0
- data/ext/exif/exif_entry_to_ivar.c +22 -18
- data/ext/exif/extconf.rb +16 -0
- data/lib/exif/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 94166b206954d71046f6efdc63da23894aac94d69880d3c54370a78eb8e9f2fc
|
4
|
+
data.tar.gz: bebff85412e1f9efabbcee638f48e74b4ce2b68e81e1783d62eac2a8c0fc8258
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5f19c8fdbfb4cc0b0bf0112c881b93cadf5abf76f98a4100ae03aa4ee31457f9e6c163a8efe00c22d4cec263cf4aab4a9a5297afe1756cebdb1251aad987040
|
7
|
+
data.tar.gz: af9cbecf6b07dd72f721eea8eb8ee7a56ac84cb94dc4b015dfd366648b3cf24c5e1f943d79aac8e3c0ddc2b8d5144a50915a1f11298b294525b2bddcb8e38ded
|
data/ext/exif/data.c
CHANGED
@@ -161,7 +161,27 @@ static const char *attr_readers[] = {"ifds",
|
|
161
161
|
"y_resolution",
|
162
162
|
"ycbcr_coefficients",
|
163
163
|
"ycbcr_positioning",
|
164
|
-
"ycbcr_sub_sampling"
|
164
|
+
"ycbcr_sub_sampling"
|
165
|
+
"body_serial_number",
|
166
|
+
"camera_owner_name",
|
167
|
+
"composite_image",
|
168
|
+
"gps_h_positioning_error",
|
169
|
+
"image_depth",
|
170
|
+
"iso_speed",
|
171
|
+
"iso_speedlatitudeyyy",
|
172
|
+
"iso_speedlatitudezzz",
|
173
|
+
"lens_make",
|
174
|
+
"lens_model",
|
175
|
+
"lens_serial_number",
|
176
|
+
"lens_specification",
|
177
|
+
"offset_time",
|
178
|
+
"offset_time_digitized",
|
179
|
+
"offset_time_original",
|
180
|
+
"recommended_exposure_index",
|
181
|
+
"sensitivity_type",
|
182
|
+
"source_exposure_times_of_composite_image",
|
183
|
+
"source_image_number_of_composite_image",
|
184
|
+
"standard_output_sensitivity"};
|
165
185
|
|
166
186
|
static VALUE new (VALUE self, VALUE input);
|
167
187
|
static VALUE dump(VALUE self);
|
@@ -185,6 +205,7 @@ void init_data(void) {
|
|
185
205
|
int length;
|
186
206
|
|
187
207
|
rb_cExifData = rb_define_class_under(rb_mExif, "Data", rb_cObject);
|
208
|
+
rb_undef_alloc_func(rb_cExifData);
|
188
209
|
length = sizeof(attr_readers) / sizeof(char *);
|
189
210
|
for (int i = 0; i < length; ++i)
|
190
211
|
rb_define_attr(rb_cExifData, attr_readers[i], 1, 0);
|
data/ext/exif/exif.c
CHANGED
@@ -24,5 +24,6 @@ void Init_exif(void) {
|
|
24
24
|
rb_define_class_under(rb_mExif, "UnknownDataType", rb_eError);
|
25
25
|
rb_define_singleton_method(rb_mExif, "const_missing", rb_exif_const_missing,
|
26
26
|
1);
|
27
|
+
rb_define_const(rb_mExif, "LIBEXIF_VERSION", rb_str_new2(LIBEXIF_VERSION));
|
27
28
|
init_data();
|
28
29
|
}
|
@@ -447,6 +447,7 @@ const char *exif_entry_to_ivar(ExifEntry *ee) {
|
|
447
447
|
case EXIF_TAG_GPS_DIFFERENTIAL:
|
448
448
|
return "@gps_differential";
|
449
449
|
break;
|
450
|
+
#ifdef LIBEXIF_0_6_22_OR_HIGHER
|
450
451
|
case EXIF_TAG_BODY_SERIAL_NUMBER:
|
451
452
|
return "@body_serial_number";
|
452
453
|
break;
|
@@ -459,18 +460,6 @@ const char *exif_entry_to_ivar(ExifEntry *ee) {
|
|
459
460
|
case EXIF_TAG_GPS_H_POSITIONING_ERROR:
|
460
461
|
return "@gps_h_positioning_error";
|
461
462
|
break;
|
462
|
-
case EXIF_TAG_IMAGE_DEPTH:
|
463
|
-
return "@image_depth";
|
464
|
-
break;
|
465
|
-
case EXIF_TAG_ISO_SPEED:
|
466
|
-
return "@iso_speed";
|
467
|
-
break;
|
468
|
-
case EXIF_TAG_ISO_SPEEDLatitudeYYY:
|
469
|
-
return "@iso_speedlatitudeyyy";
|
470
|
-
break;
|
471
|
-
case EXIF_TAG_ISO_SPEEDLatitudeZZZ:
|
472
|
-
return "@iso_speedlatitudezzz";
|
473
|
-
break;
|
474
463
|
case EXIF_TAG_LENS_MAKE:
|
475
464
|
return "@lens_make";
|
476
465
|
break;
|
@@ -483,6 +472,26 @@ const char *exif_entry_to_ivar(ExifEntry *ee) {
|
|
483
472
|
case EXIF_TAG_LENS_SPECIFICATION:
|
484
473
|
return "@lens_specification";
|
485
474
|
break;
|
475
|
+
case EXIF_TAG_SOURCE_EXPOSURE_TIMES_OF_COMPOSITE_IMAGE:
|
476
|
+
return "@source_exposure_times_of_composite_image";
|
477
|
+
break;
|
478
|
+
case EXIF_TAG_SOURCE_IMAGE_NUMBER_OF_COMPOSITE_IMAGE:
|
479
|
+
return "@source_image_number_of_composite_image";
|
480
|
+
break;
|
481
|
+
#endif
|
482
|
+
#ifdef LIBEXIF_0_6_23_OR_HIGHER
|
483
|
+
case EXIF_TAG_IMAGE_DEPTH:
|
484
|
+
return "@image_depth";
|
485
|
+
break;
|
486
|
+
case EXIF_TAG_ISO_SPEED:
|
487
|
+
return "@iso_speed";
|
488
|
+
break;
|
489
|
+
case EXIF_TAG_ISO_SPEEDLatitudeYYY:
|
490
|
+
return "@iso_speedlatitudeyyy";
|
491
|
+
break;
|
492
|
+
case EXIF_TAG_ISO_SPEEDLatitudeZZZ:
|
493
|
+
return "@iso_speedlatitudezzz";
|
494
|
+
break;
|
486
495
|
case EXIF_TAG_OFFSET_TIME:
|
487
496
|
return "@offset_time";
|
488
497
|
break;
|
@@ -498,15 +507,10 @@ const char *exif_entry_to_ivar(ExifEntry *ee) {
|
|
498
507
|
case EXIF_TAG_SENSITIVITY_TYPE:
|
499
508
|
return "@sensitivity_type";
|
500
509
|
break;
|
501
|
-
case EXIF_TAG_SOURCE_EXPOSURE_TIMES_OF_COMPOSITE_IMAGE:
|
502
|
-
return "@source_exposure_times_of_composite_image";
|
503
|
-
break;
|
504
|
-
case EXIF_TAG_SOURCE_IMAGE_NUMBER_OF_COMPOSITE_IMAGE:
|
505
|
-
return "@source_image_number_of_composite_image";
|
506
|
-
break;
|
507
510
|
case EXIF_TAG_STANDARD_OUTPUT_SENSITIVITY:
|
508
511
|
return "@standard_output_sensitivity";
|
509
512
|
break;
|
513
|
+
#endif
|
510
514
|
}
|
511
515
|
return 0;
|
512
516
|
}
|
data/ext/exif/extconf.rb
CHANGED
@@ -5,4 +5,20 @@ $CFLAGS << ' -std=c99 '
|
|
5
5
|
pkg_config('libexif')
|
6
6
|
have_library('exif')
|
7
7
|
have_header('libexif/exif-data.h')
|
8
|
+
|
9
|
+
checking_for 'libexif >= 0.6.22' do
|
10
|
+
if try_const(%w[EXIF_TAG_LENS_SPECIFICATION ExifTag], 'libexif/exif-tag.h')
|
11
|
+
append_cflags('-D LIBEXIF_0_6_22_OR_HIGHER')
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
checking_for 'libexif >= 0.6.23' do
|
16
|
+
if try_const(%w[EXIF_TAG_IMAGE_DEPTH ExifTag], 'libexif/exif-tag.h')
|
17
|
+
append_cflags('-D LIBEXIF_0_6_23_OR_HIGHER')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
libexif_version = pkg_config('libexif', 'modversion') || 'unknown'
|
22
|
+
append_cflags("-D LIBEXIF_VERSION='\"#{libexif_version}\"'")
|
23
|
+
|
8
24
|
create_makefile('exif/exif')
|
data/lib/exif/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exif
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jian Weihang
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -85,7 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
85
85
|
- !ruby/object:Gem::Version
|
86
86
|
version: '0'
|
87
87
|
requirements: []
|
88
|
-
rubygems_version: 3.
|
88
|
+
rubygems_version: 3.4.2
|
89
89
|
signing_key:
|
90
90
|
specification_version: 4
|
91
91
|
summary: Ruby EXIF reader written in C extension.
|