14 factory; factory = factory->
next())
16 if (factory->SupportedRenderer(
type))
17 result << factory->name();
26 if (!audio || !render || name.isEmpty())
30 factory; factory = factory->
next())
33 return factory->
Create(audio, render);
34 if (factory->name() == name)
35 return factory->
Create(audio, render);
43 m_lastUpdate(QDateTime::currentDateTimeUtc())
62 QDateTime now = QDateTime::currentDateTimeUtc();
63 auto result = std::chrono::milliseconds(
m_lastUpdate.time().msecsTo(now.time()));
90 if (
m_nodes.front()->m_offset > timestamp)
104 short *l,
short *r,
const float *s,
unsigned long cnt)
106 const float f((1 << 15) - 1);
109 *l++ = short(f * *s++);
110 *r++ = short(f * *s++);
116 short *l,
const float *s,
unsigned long cnt)
118 const float f((1 << 15) - 1);
120 *l++ = short(f * *s++);
125 std::chrono::milliseconds timecode,
130 LOG(VB_GENERAL, LOG_ERR,
DESC +
131 QString(
"Over 500 nodes buffered - disabling visualiser."));
146 len = std::min<long>(len, 512);
std::chrono::milliseconds GetAudioTime(void)
void addVisual(MythTV::Visual *vis)
void removeVisual(MythTV::Visual *vis)
VideoVisualFactory * next() const
static VideoVisualFactory * VideoVisualFactories()
static VideoVisualFactory * g_videoVisualFactory
VisualNode * GetNode(void)
VideoVisual(AudioPlayer *audio, MythRender *render)
QList< VisualNode * > m_nodes
std::chrono::milliseconds SetLastUpdate(void)
static VideoVisual * Create(const QString &name, AudioPlayer *audio, MythRender *render)
void add(const void *b, unsigned long b_len, std::chrono::milliseconds timecode, int c, int p) override
static QStringList GetVisualiserList(RenderType type)
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
static void mono16_from_monofloat32(short *l, const float *s, unsigned long cnt)
static void stereo16_from_stereofloat32(short *l, short *r, const float *s, unsigned long cnt)
static void mono16_from_monopcm16(short *l, const short *s, long cnt)
static void mono16_from_monopcm8(short *l, const uchar *c, long cnt)
static void stereo16_from_stereopcm8(short *l, short *r, const uchar *c, long cnt)
static void stereo16_from_stereopcm16(short *l, short *r, const short *s, long cnt)