Cog/Plugins/CueSheet/CueSheetDecoder.h
Christopher Snowhill 0f923e6072 [Cuesheet] Greatly improve loading performance
Cuesheets were invoking a seek operation on open, rather than on first
playback, and this has a heavy toll on FFmpeg audio formats, apparently.
Defer the initial seek to the first readAudio call, and do not invoke it
if a seek was already called on that input session.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-25 02:38:17 -07:00

40 lines
733 B
Objective-C

//
// CueSheetDecoder.h
// CueSheet
//
// Created by Zaphod Beeblebrox on 10/8/07.
// Copyright 2007 __MyCompanyName__. All rights reserved.
//
#import <Cocoa/Cocoa.h>
#import "Plugin.h"
@class CueSheet;
@class CueSheetTrack;
@interface CueSheetDecoder : NSObject <CogDecoder> {
id<CogSource> source;
id<CogDecoder> decoder;
NSURL *sourceURL;
BOOL seekedToStart;
int bytesPerFrame; // Number of bytes per frame, ie channels * (bitsPerSample/8)
long framePosition; // Current position in frames.
long trackStart; // Starting frame of track.
long trackEnd; // Frames until end of track.
BOOL embedded;
BOOL noFragment;
BOOL observersAdded;
NSURL *baseURL;
CueSheet *cuesheet;
CueSheetTrack *track;
}
@end