cog/Plugins/MAD/MADDecoder.h

50 lines
828 B
C
Raw Normal View History

2006-06-19 00:39:41 +00:00
//
// MADFile.h
// Cog
//
// Created by Vincent Spader on 6/17/06.
// Copyright 2006 Vincent Spader. All rights reserved.
2006-06-19 00:39:41 +00:00
//
#define HAVE_CONFIG_H
2006-06-19 00:39:41 +00:00
#import <Cocoa/Cocoa.h>
#undef HAVE_CONFIG_H
2006-06-19 00:39:41 +00:00
#import "MAD/mad.h"
#import "Plugin.h"
2006-06-19 00:39:41 +00:00
#define INPUT_BUFFER_SIZE 5*8192
@interface MADDecoder : NSObject <CogDecoder>
{
2006-06-19 00:39:41 +00:00
struct mad_stream _stream;
struct mad_frame _frame;
struct mad_synth _synth;
mad_timer_t _timer;
mad_timer_t _duration;
unsigned char _inputBuffer[INPUT_BUFFER_SIZE+MAD_BUFFER_GUARD];
unsigned char *_outputBuffer;
int _outputAvailable;
int _fileSize;
id<CogSource> _source;
2006-06-19 00:39:41 +00:00
BOOL _seekSkip;
2006-09-02 16:09:20 +00:00
//For gapless playback of mp3s
BOOL _gapless;
long _currentFrame;
int _startPadding;
int _endPadding;
int channels;
int bitsPerSample;
float frequency;
int bitrate;
double length;
2006-06-19 00:39:41 +00:00
}
@end