summaryrefslogtreecommitdiff
path: root/dxr3multichannelaudio.h
blob: 689f8f1dd83caac8dacb78afb5f735d006a1b0d9 (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
#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_*/