The Vorbis, Opus, MAD MPEG, and especially the FFmpeg inputs needed to have their metadata update intervals severely reduced, to reduce CPU usage, especially on files with lots of tags. Interval reduced to only once per second. Signed-off-by: Christopher Snowhill <kode54@gmail.com>
44 lines
700 B
Objective-C
44 lines
700 B
Objective-C
//
|
|
// VorbisFile.h
|
|
// zyVorbis
|
|
//
|
|
// Created by Vincent Spader on 1/22/05.
|
|
// Copyright 2005 Vincent Spader All rights reserved.
|
|
//
|
|
|
|
#import "Plugin.h"
|
|
#import <Cocoa/Cocoa.h>
|
|
|
|
// config.h things
|
|
#define __MACOSX__
|
|
#define HAVE_CONFIG_H
|
|
|
|
#import <vorbis/codec.h>
|
|
#import <vorbis/vorbisfile.h>
|
|
|
|
#undef __MACOSX__
|
|
#undef HAVE_CONFIG_H
|
|
|
|
@interface VorbisDecoder : NSObject <CogDecoder> {
|
|
id<CogSource> source;
|
|
|
|
OggVorbis_File vorbisRef;
|
|
int currentSection;
|
|
int lastSection;
|
|
|
|
BOOL seekable;
|
|
int bitrate;
|
|
int channels;
|
|
float frequency;
|
|
long totalFrames;
|
|
|
|
int metadataUpdateInterval;
|
|
int metadataUpdateCount;
|
|
|
|
NSDictionary *metaDict;
|
|
NSDictionary *icyMetaDict;
|
|
|
|
NSData *albumArt;
|
|
}
|
|
|
|
@end
|