21#ifndef GSTPLAYBACKPIPELINE_H_
22#define GSTPLAYBACKPIPELINE_H_
24#include "PipelineExtensions/Changeable.h"
25#include "PipelineExtensions/Fadeable.h"
26#include "PipelineExtensions/DelayedPlayable.h"
27#include "PipelineExtensions/BroadcastBin.h"
28#include "PipelineExtensions/PositionAccessible.h"
29#include "PipelineExtensions/Pitchable.h"
30#include "PipelineExtensions/EqualizerAccesible.h"
31#include "Utils/Pimpl.h"
57 void sigAboutToFinishMs(MilliSeconds ms);
58 void sigPositionChangedMs(MilliSeconds ms);
59 void sigDataAvailable(
const QByteArray& data);
62 explicit Pipeline(
const QString& name, QObject* parent=
nullptr);
66 bool prepare(
const QString& uri);
68 bool hasElement(GstElement* e)
const;
69 GstState state()
const;
72 void checkAboutToFinish();
74 void setVisualizerEnabled(
bool levelEnabled,
bool spectrumEnabled);
75 bool isLevelVisualizerEnabled()
const;
76 bool isSpectrumVisualizerEnabled()
const;
78 void setBroadcastingEnabled(
bool b);
79 bool isBroadcastingEnabled()
const;
82 void setRecordingPath(
const QString& session_path);
84 MilliSeconds timeToGo()
const;
86 void setRawData(
const QByteArray& data)
override;
96 void speedActiveChanged();
101 bool createElements();
102 bool addAndLinkElements();
103 void configureElements();
105 void postProcessFadeIn()
override;
106 void postProcessFadeOut()
override;
107 void setInternalVolume(
double volume)
override;
108 double internalVolume()
const override;
110 GstElement* positionElement()
const override;
111 GstElement* pitchElement()
const override;
112 GstElement* equalizerElement()
const override;
The PlaybackEngine class.
Definition: Engine.h:54
The PlaybackPipeline class.
Definition: Pipeline.h:52
Definition: BroadcastBin.h:30
The ChangeablePipeline class.
Definition: Changeable.h:33
The DelayedPlayable class.
Definition: DelayedPlayable.h:34
The Equalizer class.
Definition: EqualizerAccesible.h:34
The CrossFader class.
Definition: Fadeable.h:60
The Pitcher class.
Definition: Pitchable.h:34
The Seeker class.
Definition: PositionAccessible.h:35