]> git.sesse.net Git - vlc/blob - projects/macosx/framework/Headers/Public/VLCMediaThumbnailer.h
Qt: PLSelector: expand root level
[vlc] / projects / macosx / framework / Headers / Public / VLCMediaThumbnailer.h
1 //
2 //  VLCMediaThumbnailer.h
3 //  VLCKit
4 //
5 //  Created by Pierre d'Herbemont on 7/10/10.
6 //  Copyright 2010 __MyCompanyName__. All rights reserved.
7 //
8
9 #import <Foundation/Foundation.h>
10 #if TARGET_OS_IPHONE
11 # import <CoreGraphics/CoreGraphics.h>
12 #endif
13
14 @class VLCMedia;
15 @protocol VLCMediaThumbnailerDelegate;
16
17 @interface VLCMediaThumbnailer : NSObject {
18     id<VLCMediaThumbnailerDelegate> _delegate;
19     VLCMedia *_media;
20     void *_mp;
21     CGImageRef _thumbnail;
22     void *_data;
23     NSTimer *_parsingTimeoutTimer;
24     NSTimer *_thumbnailingTimeoutTimer;
25
26     CGFloat _thumbnailHeight,_thumbnailWidth;
27     CGFloat _effectiveThumbnailHeight,_effectiveThumbnailWidth;
28     int _numberOfReceivedFrames;
29     BOOL _shouldRejectFrames;
30 }
31
32 + (VLCMediaThumbnailer *)thumbnailerWithMedia:(VLCMedia *)media andDelegate:(id<VLCMediaThumbnailerDelegate>)delegate;
33 - (void)fetchThumbnail;
34
35 @property (readwrite, assign) id<VLCMediaThumbnailerDelegate> delegate;
36 @property (readwrite, retain) VLCMedia *media;
37 @property (readwrite, assign) CGImageRef thumbnail;
38
39 /**
40  * Thumbnail Height
41  * You shouldn't change this after -fetchThumbnail
42  * has been called.
43  * @return thumbnail height. Default value 240.
44  */
45 @property (readwrite, assign) CGFloat thumbnailHeight;
46
47 /**
48  * Thumbnail Width
49  * You shouldn't change this after -fetchThumbnail
50  * has been called.
51  * @return thumbnail height. Default value 320
52  */
53 @property (readwrite, assign) CGFloat thumbnailWidth;
54 @end
55
56 @protocol VLCMediaThumbnailerDelegate
57 @required
58 - (void)mediaThumbnailerDidTimeOut:(VLCMediaThumbnailer *)mediaThumbnailer;
59 - (void)mediaThumbnailer:(VLCMediaThumbnailer *)mediaThumbnailer didFinishThumbnail:(CGImageRef)thumbnail;
60 @end