blob: 6767336dc505434a6bd3e59ba07d39b5f16d5f68 (
plain)
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
|
/*
decoder interface for the splay mp3 decoder.
Copyright (C) 2001 Martin Vogt
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Library General Public License as published by
the Free Software Foundation.
For more information look at the file COPYRIGHT in this package
*/
#ifndef __SPLAYDECODER_H
#define __SPLAYDECODER_H
// state definitions for splay decoder
#define _SPLAY_RESET 0
#define _SPLAY_EOF 1
#define _SPLAY_FIRSTINIT 2
#define _SPLAY_REINIT 3
#define _SPLAY_DECODE 4
#define _SPLAY_FRAME 5
#include "../frame/audioFrame.h"
#include "dump.h"
#include <string.h>
#include <kdemacros.h>
class Mpegtoraw;
class MpegAudioStream;
class MpegAudioHeader;
/**
The decoder interface.
The decoder expects an mpeg audio frame.
The call to decode is "atomic", after that you have
a PCMFrame to play.
*/
class TDE_EXPORT SplayDecoder {
MpegAudioStream* stream;
MpegAudioHeader* header;
Mpegtoraw* server;
Dump* dump;
#ifdef _FROM_SOURCE
XHEADDATA* xHeadData;
#else
void* xHeadData;
#endif
public:
SplayDecoder();
~SplayDecoder();
int decode(unsigned char* ptr, int len,AudioFrame* dest);
void config(const char* key,const char* val,void* ret);
};
#endif
|