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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 99fc8c3352a6b7fb6ed711235a8e591ad67e886002e553cce0adf99985fc6cf3
4
- data.tar.gz: '0815653149598f32ab68d4c06a7cf08038f83a47bbc2ce2190b3b726d128933c'
3
+ metadata.gz: 94166b206954d71046f6efdc63da23894aac94d69880d3c54370a78eb8e9f2fc
4
+ data.tar.gz: bebff85412e1f9efabbcee638f48e74b4ce2b68e81e1783d62eac2a8c0fc8258
5
5
  SHA512:
6
- metadata.gz: a0d12c8de1440301baa8f5e6d7c26f0a3b1b91565869ff58628f6552288d46fd264eae9ae73569c24c1fffd4f06c702b9ca031061bebf5d8cab34190ca841f11
7
- data.tar.gz: 9919292d1b0c6e33a0ca5e883f715c6ff801a5c9ac3fd9e736893ab5d8ac7bbb2a58104952975a006789e714bd850f1226b208840660b44774b80f8d7f213e81
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Exif
4
- VERSION = '2.2.2'
4
+ VERSION = '2.2.4'
5
5
  end
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.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: 2022-03-11 00:00:00.000000000 Z
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.3.7
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.