one-k-rmov 0.2.5 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'echoe'
4
4
 
5
- Echoe.new('rmov', '0.2.5') do |p|
5
+ Echoe.new('rmov', '0.2.6') do |p|
6
6
  p.summary = "Ruby wrapper for the QuickTime C API."
7
7
  p.description = "Ruby wrapper for the QuickTime C API. Updates by 1K include exposing some movie properties such as codec and audio channel descriptions"
8
8
  p.url = "http://github.com/one-k/rmov"
data/ext/track.c CHANGED
@@ -613,6 +613,42 @@ static VALUE track_encoded_pixel_dimensions(VALUE obj)
613
613
  return Qnil;
614
614
  }
615
615
 
616
+
617
+ /*
618
+ call-seq: track_display_pixel_dimensions() -> {:width => width, :height => height}
619
+
620
+ returns hash of dimensions {:width => width, :height => height} of the encoded pixel
621
+ dimensions
622
+ */
623
+ static VALUE track_display_pixel_dimensions(VALUE obj)
624
+ {
625
+ OSErr osErr = noErr;
626
+ ImageDescriptionHandle image_description = track_image_description(obj);
627
+ if (image_description == NULL) goto bail;
628
+
629
+ SInt32 width, height;
630
+ osErr = ICMImageDescriptionGetProperty(image_description, kQTPropertyClass_ImageDescription, kICMImageDescriptionPropertyID_DisplayWidth, sizeof(width), &width, NULL);
631
+ if (osErr != noErr) goto bail;
632
+
633
+ osErr = ICMImageDescriptionGetProperty(image_description, kQTPropertyClass_ImageDescription, kICMImageDescriptionPropertyID_DisplayHeight, sizeof(height), &height, NULL);
634
+ if (osErr != noErr) goto bail;
635
+
636
+ VALUE size_hash = rb_hash_new();
637
+
638
+ rb_hash_aset(size_hash, ID2SYM(rb_intern("width")), INT2NUM(width));
639
+ rb_hash_aset(size_hash, ID2SYM(rb_intern("height")), INT2NUM(height));
640
+
641
+ DisposeHandle((Handle)image_description);
642
+ return size_hash;
643
+
644
+ bail:
645
+ DisposeHandle((Handle)image_description);
646
+ rb_raise(eQuickTime, "Error %d when getting track_display_pixel_dimensions", osErr);
647
+ return Qnil;
648
+ }
649
+
650
+
651
+
616
652
  /*
617
653
  call-seq: track_pixel_aspect_ratio() -> aspect_ratio array [1, 1]
618
654
  */
@@ -654,6 +690,7 @@ void Init_quicktime_track()
654
690
  rb_define_method(cTrack, "width", track_width, 0);
655
691
  rb_define_method(cTrack, "height", track_height, 0);
656
692
  rb_define_method(cTrack, "encoded_pixel_dimensions", track_encoded_pixel_dimensions, 0);
693
+ rb_define_method(cTrack, "display_pixel_dimensions", track_display_pixel_dimensions, 0);
657
694
  rb_define_method(cTrack, "pixel_aspect_ratio", track_pixel_aspect_ratio, 0);
658
695
 
659
696
  rb_define_method(cTrack, "channel_count", track_get_audio_channel_count, 0);
data/rmov.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{rmov}
5
- s.version = "0.2.5"
5
+ s.version = "0.2.6"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Ryan Bates, with updates by 1K Studios, LLC"]
9
- s.date = %q{2009-03-04}
9
+ s.date = %q{2009-03-12}
10
10
  s.description = %q{Ruby wrapper for the QuickTime C API. Updates by 1K include exposing some movie properties such as codec and audio channel descriptions}
11
11
  s.email = %q{ryan (at) railscasts (dot) com}
12
12
  s.extensions = ["ext/extconf.rb"]
@@ -72,6 +72,10 @@ describe QuickTime::Track do
72
72
  @track.encoded_pixel_dimensions.should == {:width => 720, :height => 480}
73
73
  end
74
74
 
75
+ it "has display pixel size of 720x480" do
76
+ @track.display_pixel_dimensions.should == {:width => 853, :height => 480}
77
+ end
78
+
75
79
  it "has aspect ratio of 1:0.84375" do
76
80
  @track.pixel_aspect_ratio.should == [100000, 84375]
77
81
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: one-k-rmov
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Bates, with updates by 1K Studios, LLC
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-04 00:00:00 -08:00
12
+ date: 2009-03-12 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15