Advertisement
Guest User

Untitled

a guest
Sep 1st, 2014
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. // Releases the object - used for late session cleanup
  2. static void capture_cleanup(void* p)
  3. {
  4. NewPostPreviewViewController* csc = (NewPostPreviewViewController*)p;
  5. [csc release]; // releases capture session if dealloc is called
  6. }
  7.  
  8. // Stops the capture - this stops the capture, and upon stopping completion releases self.
  9. - (void)stopCapture {
  10. // Retain self, it will be released in capture_cleanup. This is to ensure cleanup is done properly,
  11. // without the object being released in the middle of it.
  12. [self retain];
  13.  
  14. // Stop the session
  15. [session stopRunning];
  16.  
  17. // Add cleanup code when dispatch queue end
  18. dispatch_queue_t queue = dispatch_queue_create("VideoDataOutputQueue", NULL);
  19. dispatch_set_context(queue, self);
  20. dispatch_set_finalizer_f(queue, capture_cleanup);
  21. [dataOutput setSampleBufferDelegate: self queue: queue];
  22. dispatch_release(queue);
  23. }
  24.  
  25. let p: UnsafeMutablePointer<NewPostPreviewViewController> = UnsafeMutablePointer.alloc(sizeof(NewPostPreviewViewController))
  26. p.initialize(self)
  27.  
  28. var videoDataOutputQueue = dispatch_queue_create("VideoDataOutputQueue", nil)
  29. dispatch_set_context(videoDataOutputQueue, p)
  30. dispatch_set_finalizer_f(videoDataOutputQueue, ????);
  31. self.videoDataOutput!.setSampleBufferDelegate(self, queue: videoDataOutputQueue)
  32. dispatch_release(videoDataOutputQueue)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement