summaryrefslogtreecommitdiff
path: root/dxr3multichannelaudio.h
blob: fcd0594fb80182e5232ea7f8f052f1bf87c87726 (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
#ifndef _DXR3MULTICHANNELAUDIO_H_
#define _DXR3MULTICHANNELAUDIO_H_

#include "dxr3vdrincludes.h"

class cAudioEncapsulator;
class cRingBufferFrame;

// ==================================
// Based on AC3overDVB Patch maintained 
// by Stefan Huelswitt 
class cMultichannelAudio : public cMutex 
{
private:
	cAudioEncapsulator *encapsulator;
	cRingBufferFrame *ringBuffer;
	int ptsFlags, ptsDelay, offset;
	uchar *ptsData;
	bool fixed;

public:
	cMultichannelAudio(cRingBufferFrame *rb);
	virtual ~cMultichannelAudio();

	int Check(uchar *b, int length, uchar *header);
	int Offset(void) { return offset; }
	void Encapsulate(uchar *b, int length);
	void Clear();
	void Reset();
	//void Mute(bool Mute);
};

#endif /*_DXR3MULTICHANNELAUDIO_H_*/

// Local variables:
// mode: c++
// c-file-style: "stroustrup"
// c-file-offsets: ((inline-open . 0))
// indent-tabs-mode: t
// End: