MythTV master
audiooutputgraph.h
Go to the documentation of this file.
1#ifndef AUDIOOUTPUTGRAPH_H
2#define AUDIOOUTPUTGRAPH_H
3
4// Qt
5#include <QMutex>
6
7// MythTV
9
10class MythImage;
11class MythPainter;
12
14{
15 public:
17 ~AudioOutputGraph() override;
18
19 void SetPainter(MythPainter* Painter);
21 void SetSampleCount(uint16_t SampleCount);
22 void SetSilenceLevel(int Db = -72) { m_dBsilence = Db; }
23 void SetQuietLevel(int Db = -60) { m_dBquiet = Db; }
24 void SetLoudLevel(int Db = -12) { m_dBLoud = Db; }
25 void SetMaxLevel(int Db = -6) { m_dbMax = Db; }
26 MythImage* GetImage(std::chrono::milliseconds Timecode) const;
27 void Reset();
28
29 public:
30 void add(const void * Buffer, unsigned long Length, std::chrono::milliseconds Timecode,
31 int Channnels, int Bits) override;
32 void prepare() override;
33
34 private:
35 MythPainter* m_painter { nullptr };
36 MythImage* m_image { nullptr };
37 int m_dBsilence { -72 };
38 int m_dBquiet { -60 };
39 int m_dBLoud { -12 };
40 int m_dbMax { -6 };
41 class AOBuffer;
42 AOBuffer* const m_buffer { nullptr };
43 QMutex mutable m_mutex;
44};
45
46#endif
void SetQuietLevel(int Db=-60)
MythImage * m_image
~AudioOutputGraph() override
MythImage * GetImage(std::chrono::milliseconds Timecode) const
void prepare() override
void SetSampleRate(uint16_t SampleRate)
void SetSampleCount(uint16_t SampleCount)
void SetLoudLevel(int Db=-12)
void SetSilenceLevel(int Db=-72)
void SetPainter(MythPainter *Painter)
AOBuffer *const m_buffer
void add(const void *Buffer, unsigned long Length, std::chrono::milliseconds Timecode, int Channnels, int Bits) override
void SetMaxLevel(int Db=-6)
MythPainter * m_painter
unsigned short uint16_t
Definition: iso6937tables.h:3