exif 2.2.2 → 2.2.4

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