23 #ifndef GSTPLAYBACKPIPELINE_H_
24 #define GSTPLAYBACKPIPELINE_H_
26 #include "Components/Engine/AbstractPipeline.h"
28 #include <gst/app/gstappsink.h>
42 bool init(GstState state=GST_STATE_NULL)
override;
43 bool set_uri(gchar* uri)
override;
45 void set_n_sound_receiver(
int num_sound_receiver);
47 GstElement* get_source()
const override;
55 void pause()
override;
58 void set_eq_band(
const QString& band_name,
double val);
60 void set_speed(
float f);
62 void set_streamrecorder_path(
const QString& session_path);
64 gint64 seek_rel(
double percent, gint64 ref_ns);
65 gint64 seek_abs(gint64 ns );
77 GstElement* _audio_src=
nullptr;
78 GstElement* _audio_convert=
nullptr;
79 GstElement* _tee=
nullptr;
81 GstElement* _eq_queue=
nullptr;
82 GstElement* _equalizer=
nullptr;
83 GstElement* _speed=
nullptr;
84 GstElement* _volume=
nullptr;
86 GstElement* _audio_sink=
nullptr;
88 GstElement* _spectrum_queue=
nullptr;
89 GstElement* _spectrum=
nullptr;
90 GstElement* _spectrum_sink=
nullptr;
92 GstElement* _level_queue=
nullptr;
93 GstElement* _level=
nullptr;
94 GstElement* _level_sink=
nullptr;
96 GstElement* _lame_queue=
nullptr;
97 GstElement* _lame_converter=
nullptr;
98 GstElement* _lame_resampler=
nullptr;
99 GstElement* _lame=
nullptr;
100 GstElement* _lame_app_sink=
nullptr;
102 GstElement* _file_queue=
nullptr;
103 GstElement* _file_sink=
nullptr;
104 GstElement* _file_resampler=
nullptr;
105 GstElement* _file_lame=
nullptr;
107 GstState _saved_state;
109 gulong _level_probe, _spectrum_probe, _lame_probe, _file_probe;
110 bool _show_level, _show_spectrum, _run_broadcast, _run_sr;
112 bool _seek(gint64 ns);
113 bool tee_connect(GstPadTemplate* tee_src_pad_template,
115 const QString& queue_name
118 bool create_elements()
override;
119 bool add_and_link_elements()
override;
120 bool configure_elements()
override;
122 void init_equalizer();
127 void _sl_vol_changed();
128 void _sl_show_level_changed();
129 void _sl_show_spectrum_changed();
130 void _sl_mute_changed();
Definition: PipelineProbes.h:30
Definition: AbstractEngine.h:38
Definition: PlaybackPipeline.h:33
Definition: AbstractPipeline.h:46