-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathXLDFdkAacOutputTask.h
More file actions
89 lines (83 loc) · 3.06 KB
/
XLDFdkAacOutputTask.h
File metadata and controls
89 lines (83 loc) · 3.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
//
// XLDFdkAacOutputTask.h
// XLDFdkAacOutput
//
// Created by tmkk on 12/07/20.
// Copyright 2012 tmkk. All rights reserved.
//
#import <Cocoa/Cocoa.h>
#import "XLDOutputTask.h"
#import "l-smash/lsmash.h"
#import "fdk-aac/libAACenc/include/aacenc_lib.h"
#define XLD_METADATA_TITLE @"Title"
#define XLD_METADATA_ARTIST @"Artist"
#define XLD_METADATA_ALBUM @"Album"
#define XLD_METADATA_GENRE @"Genre"
#define XLD_METADATA_TRACK @"Track"
#define XLD_METADATA_DISC @"Disc"
#define XLD_METADATA_YEAR @"Year"
#define XLD_METADATA_DATE @"Date"
#define XLD_METADATA_COMPOSER @"Composer"
#define XLD_METADATA_CUESHEET @"Cuesheet"
#define XLD_METADATA_COMMENT @"Comment"
#define XLD_METADATA_TOTALTRACKS @"Totaltracks"
#define XLD_METADATA_TOTALDISCS @"Totaldiscs"
#define XLD_METADATA_LYRICS @"Lyrics"
#define XLD_METADATA_COVER @"Cover"
#define XLD_METADATA_ALBUMARTIST @"AlbumArtist"
#define XLD_METADATA_COMPILATION @"Compilation"
#define XLD_METADATA_GROUP @"Group"
#define XLD_METADATA_GRACENOTE @"Gracenote"
#define XLD_METADATA_GRACENOTE2 @"Gracenote2"
#define XLD_METADATA_BPM @"BPM"
#define XLD_METADATA_COPYRIGHT @"Copyright"
#define XLD_METADATA_GAPLESSALBUM @"GaplessAlbum"
#define XLD_METADATA_TITLESORT @"TitleSort"
#define XLD_METADATA_ARTISTSORT @"ArtistSort"
#define XLD_METADATA_ALBUMSORT @"AlbumSort"
#define XLD_METADATA_ALBUMARTISTSORT @"AlbumArtistSort"
#define XLD_METADATA_COMPOSERSORT @"ComposerSort"
#define XLD_METADATA_MB_TRACKID @"MusicBrainz_TrackID"
#define XLD_METADATA_MB_ALBUMID @"MusicBrainz_AlbumID"
#define XLD_METADATA_MB_ARTISTID @"MusicBrainz_ArtistID"
#define XLD_METADATA_MB_ALBUMARTISTID @"MusicBrainz_AlbumArtistID"
#define XLD_METADATA_MB_DISCID @"MusicBrainz_DiscID"
#define XLD_METADATA_PUID @"MusicIP_PUID"
#define XLD_METADATA_MB_ALBUMSTATUS @"MusicBrainz_AlbumStatus"
#define XLD_METADATA_MB_ALBUMTYPE @"MusicBrainz_AlbumType"
#define XLD_METADATA_MB_RELEASECOUNTRY @"MusicBrainz_ReleaseCountry"
#define XLD_METADATA_MB_RELEASEGROUPID @"MusicBrainz_ReleaseGroupID"
#define XLD_METADATA_MB_WORKID @"MusicBrainz_WorkID"
#define XLD_METADATA_TOTALSAMPLES @"TotalSamples"
#define XLD_METADATA_TRACKLIST @"XLDTrackList"
#define XLD_METADATA_SMPTE_TIMECODE_START @"SMTPE Timecode Start"
#define XLD_METADATA_SMPTE_TIMECODE_DURATION @"SMTPE Timecode Duration"
#define XLD_METADATA_MEDIA_FPS @"Media FPS"
@interface XLDFdkAacOutputTask : NSObject <XLDOutputTask> {
XLDFormat format;
BOOL addTag;
NSDictionary *configurations;
int64_t totalFrames;
HANDLE_AACENCODER encoder;
BOOL sbrEnabled;
BOOL psEnabled;
lsmash_root_t *root;
lsmash_audio_summary_t *summary;
lsmash_file_parameters_t file_param;
uint32_t tid;
uint32_t sample_entry;
uint32_t au_number;
AACENC_BufDesc *inDesc;
AACENC_BufDesc *outDesc;
uint8_t *outbuf;
uint64_t encoded;
}
- (BOOL)setOutputFormat:(XLDFormat)fmt;
- (BOOL)openFileForOutput:(NSString *)str withTrackData:(id)track;
- (NSString *)extensionStr;
- (BOOL)writeBuffer:(int *)buffer frames:(int)counts;
- (void)finalize;
- (void)closeFile;
- (void)setEnableAddTag:(BOOL)flag;
- (id)initWithConfigurations:(NSDictionary *)cfg;
@end