📄 rtpjitterbuffer.h
字号:
// RTPJitterBuffer.h: interface for the RTPJitterBuffer class.
//
//////////////////////////////////////////////////////////////////////
#ifndef AFX_RTPJITTERBUFFER_H__6EA27482_0A63_473E_9EBD_03F510481719__INCLUDED_
#define AFX_RTPJITTERBUFFER_H__6EA27482_0A63_473E_9EBD_03F510481719__INCLUDED_
#pragma warning(disable:4786)
#include <map>
#include "AudioTransformer.h"
#define DEFAULT_SILENCE_THRESHOLD 15
class RTPAudioStream;
class RTPJitterBuffer : public AudioTransformer
{
public:
RTPJitterBuffer();
~RTPJitterBuffer();
int SetTraceLevel();
int SetJitterBufferDepth(int depth);
int SetOutputDuration(int outputDuration);
virtual int StartTransform();
virtual int StopTransform();
protected:
virtual int RenderAudioSamples(std::vector<std::pair<AudioSample *, AudioSource *> > &data);
virtual int GenerateData(AudioSample **ppAudioSample);
virtual int TransformAudioSamples(std::vector<std::pair<AudioSample *, AudioSource *> > &data, AudioSample **ppAudioSample);
private:
int ChooseNewActiveAudioStream();
int Clear();
private:
typedef std::map<unsigned long, RTPAudioStream *> AUDIO_STREAM_MAP;
RTPAudioStream *activeAudioStream;
int jitterBufferDepth;
int outputDuration;
bool bRunning;
CRITICAL_SECTION rtpAudioStreamsMutex;
CRITICAL_SECTION stateMutex;
AUDIO_STREAM_MAP rtpAudioStreams;
};
#endif // !defined(AFX_RTPJITTERBUFFER_H__6EA27482_0A63_473E_9EBD_03F510481719__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -