/* HBTitle.h $
This file is part of the HandBrake source code.
Homepage: .
It may be used under the terms of the GNU General Public License. */
#import
NS_ASSUME_NONNULL_BEGIN
@class HBChapter;
@interface HBMetadata : NSObject
@property (nonatomic, readonly, nullable) NSString *name;
@property (nonatomic, readonly, nullable) NSString *artist;
@property (nonatomic, readonly, nullable) NSString *composer;
@property (nonatomic, readonly, nullable) NSString *releaseDate;
@property (nonatomic, readonly, nullable) NSString *comment;
@property (nonatomic, readonly, nullable) NSString *album;
@property (nonatomic, readonly, nullable) NSString *albumArtist;
@property (nonatomic, readonly, nullable) NSString *genre;
@property (nonatomic, readonly, nullable) NSString *shortDescription;
@property (nonatomic, readonly, nullable) NSString *longDescription;
@end
@interface HBTitleAudioTrack : NSObject
- (instancetype)initWithDisplayName:(NSString *)displayName;
@property (nonatomic, readonly) NSString *displayName;
@property (nonatomic, readonly, nullable) NSString *title;
@property (nonatomic, readonly) int bitRate;
@property (nonatomic, readonly) int sampleRate;
@property (nonatomic, readonly) int codec;
@property (nonatomic, readonly) int codecParam;
@property (nonatomic, readonly) uint64_t channelLayout;
@property (nonatomic, readonly) NSString *isoLanguageCode;
@end
@interface HBTitleSubtitlesTrack : NSObject
- (instancetype)initWithDisplayName:(NSString *)displayName type:(int)type fileURL:(nullable NSURL *)fileURL;
@property (nonatomic, readonly) NSString *displayName;
@property (nonatomic, readonly, nullable) NSString *title;
@property (nonatomic, readonly) int type;
@property (nonatomic, readonly) NSString *isoLanguageCode;
@property (nonatomic, readonly, nullable) NSURL *fileURL;
@end
/**
* HBTitles is an interface to the low-level hb_title_t.
* the properties are lazy-loaded.
*/
@interface HBTitle : NSObject
@property (nonatomic, readonly) NSString *name;
@property (nonatomic, readonly) NSString *shortFormatDescription;
@property (nonatomic, readonly, getter=isFeatured) BOOL featured;
@property (nonatomic, readonly, getter=isStream) BOOL stream;
@property (nonatomic, readonly) NSURL *url;
@property (nonatomic, readonly) int index;
@property (nonatomic, readonly) int angles;
@property (nonatomic, readonly) int duration;
@property (nonatomic, readonly) int frames;
@property (nonatomic, readonly) NSString *timeCode;
@property (nonatomic, readonly) int width;
@property (nonatomic, readonly) int height;
@property (nonatomic, readonly) int parWidth;
@property (nonatomic, readonly) int parHeight;
@property (nonatomic, readonly) int autoCropTop;
@property (nonatomic, readonly) int autoCropBottom;
@property (nonatomic, readonly) int autoCropLeft;
@property (nonatomic, readonly) int autoCropRight;
@property (nonatomic, readonly) NSArray *audioTracks;
@property (nonatomic, readonly) NSArray *subtitlesTracks;
@property (nonatomic, readonly) NSArray *chapters;
@property (nonatomic, readonly) HBMetadata *metadata;
@end
NS_ASSUME_NONNULL_END