screen_recorder 0.1.2 → 0.1.3

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.
@@ -1,3 +1,7 @@
1
+ # 0.1.3 - Leak Plug Release
2
+
3
+ * Fix a couple of memory leaks
4
+
1
5
  # 0.1.2 - MacRuby Release
2
6
 
3
7
  * Appease GC era compiler used by MacRuby
@@ -16,12 +16,12 @@
16
16
  @property (assign) AVCaptureScreenInput* input;
17
17
  @property (assign) AVCaptureMovieFileOutput* output;
18
18
 
19
- // File that the recording will be saved to
20
- @property (assign) NSURL* file;
21
-
22
19
  // Used for pseudo run-loop synchronization
23
20
  @property (assign) dispatch_semaphore_t sema;
24
21
 
22
+ // File that the recording will be saved to
23
+ @property (retain) NSURL* file;
24
+
25
25
  - (BOOL) start;
26
26
  - (BOOL) start:(NSURL*)file_name;
27
27
  - (BOOL) isStarted;
@@ -71,7 +71,7 @@ rb_recorder_start(int argc, VALUE* argv, VALUE self)
71
71
  default:
72
72
  path = [NSString stringWithCString:StringValueCStr(argv[0])
73
73
  encoding:NSUTF8StringEncoding];
74
- path_url = [NSURL fileURLWithPath:path];
74
+ path_url = [NSURL fileURLWithPath:path isDirectory:NO];
75
75
  result = [OBJC_UNWRAP(self) start:path_url];
76
76
  [path release];
77
77
  [path_url release];
@@ -142,11 +142,18 @@ static
142
142
  VALUE
143
143
  rb_recorder_file(VALUE self)
144
144
  {
145
- NSString* name = [[OBJC_UNWRAP(self) file] path];
146
- if (name)
147
- return rb_str_new_cstr([name cStringUsingEncoding:NSUTF8StringEncoding]);
148
- else
149
- return Qnil;
145
+ NSString* name = [OBJC_UNWRAP(self).file path];
146
+ VALUE path;
147
+
148
+ if (name) {
149
+ path = rb_str_new_cstr([name cStringUsingEncoding:NSUTF8StringEncoding]);
150
+ [name release];
151
+ }
152
+ else {
153
+ path = Qnil;
154
+ }
155
+
156
+ return path;
150
157
  }
151
158
 
152
159
  static
@@ -200,7 +207,6 @@ Init_screen_recorder()
200
207
  * - run loop hack is not needed if code is already being called from
201
208
  * in a run loop
202
209
  * - pausing is not working...not sure why; so it is not exposed for now
203
- *
204
210
  */
205
211
  rb_cRecorder = rb_define_class("ScreenRecorder", rb_cObject);
206
212
 
@@ -1,4 +1,4 @@
1
1
  class ScreenRecorder
2
2
  # @return [String]
3
- VERSION = '0.1.2'
3
+ VERSION = '0.1.3'
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: screen_recorder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-09 00:00:00.000000000 Z
12
+ date: 2012-12-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: yard
@@ -95,7 +95,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
95
95
  version: '0'
96
96
  segments:
97
97
  - 0
98
- hash: 127306656123456593
98
+ hash: 2785907970540492481
99
99
  required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  none: false
101
101
  requirements:
@@ -104,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
104
  version: '0'
105
105
  segments:
106
106
  - 0
107
- hash: 127306656123456593
107
+ hash: 2785907970540492481
108
108
  requirements: []
109
109
  rubyforge_project:
110
110
  rubygems_version: 1.8.24