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
8#include "libmyth/mythexp.h"
9#include "libmyth/visual.h"
10
11class MythImage;
12class MythPainter;
13
15{
16 public:
18 ~AudioOutputGraph() override;
19
20 void SetPainter(MythPainter* Painter);
21 void SetSampleRate(uint16_t SampleRate);
22 void SetSampleCount(uint16_t SampleCount);
23 void SetSilenceLevel(int Db = -72) { m_dBsilence = Db; }
24 void SetQuietLevel(int Db = -60) { m_dBquiet = Db; }
25 void SetLoudLevel(int Db = -12) { m_dBLoud = Db; }
26 void SetMaxLevel(int Db = -6) { m_dbMax = Db; }
27 MythImage* GetImage(std::chrono::milliseconds Timecode) const;
28 void Reset();
29
30 public:
31 void add(const void * Buffer, unsigned long Length, std::chrono::milliseconds Timecode,
32 int Channnels, int Bits) override;
33 void prepare() override;
34
35 private:
36 MythPainter* m_painter { nullptr };
37 MythImage* m_image { nullptr };
38 int m_dBsilence { -72 };
39 int m_dBquiet { -60 };
40 int m_dBLoud { -12 };
41 int m_dbMax { -6 };
42 class AOBuffer;
43 AOBuffer* const m_buffer { nullptr };
44 QMutex mutable m_mutex;
45};
46
47#endif
void SetQuietLevel(int Db=-60)
void SetLoudLevel(int Db=-12)
void SetSilenceLevel(int Db=-72)
void SetMaxLevel(int Db=-6)
virtual void add(const void *b, unsigned long b_len, std::chrono::milliseconds timecode, int c, int p)=0
virtual void prepare()=0
unsigned short uint16_t
Definition: iso6937tables.h:3
#define MPUBLIC
Definition: mythexp.h:10