23 #ifndef GSTPLAYBACKPIPELINE_H_ 24 #define GSTPLAYBACKPIPELINE_H_ 26 #include "Components/Engine/AbstractPipeline.h" 27 #include "CrossFader.h" 29 #include <gst/app/gstappsink.h> 47 bool init(GstState state=GST_STATE_NULL)
override;
48 bool set_uri(gchar* uri)
override;
50 void set_n_sound_receiver(
int num_sound_receiver);
52 void set_current_volume(
double volume)
override;
53 double get_current_volume()
const override;
55 GstElement* get_source()
const override;
61 void pause()
override;
64 void set_eq_band(
const QString& band_name,
double val);
65 void set_speed(
float f)
override;
66 void set_streamrecorder_path(
const QString& session_path);
68 gint64 seek_rel(
double percent, gint64 ref_ns);
69 gint64 seek_abs(gint64 ns );
81 GstElement* _audio_src=
nullptr;
82 GstElement* _audio_convert=
nullptr;
83 GstElement* _tee=
nullptr;
85 GstElement* _eq_queue=
nullptr;
86 GstElement* _equalizer=
nullptr;
87 GstElement* _speed=
nullptr;
88 GstElement* _volume=
nullptr;
90 GstElement* _audio_sink=
nullptr;
92 GstElement* _spectrum_queue=
nullptr;
93 GstElement* _spectrum=
nullptr;
94 GstElement* _spectrum_sink=
nullptr;
96 GstElement* _level_queue=
nullptr;
97 GstElement* _level=
nullptr;
98 GstElement* _level_sink=
nullptr;
100 GstElement* _lame_queue=
nullptr;
101 GstElement* _lame_converter=
nullptr;
102 GstElement* _lame_resampler=
nullptr;
103 GstElement* _lame=
nullptr;
104 GstElement* _lame_app_sink=
nullptr;
106 GstElement* _file_queue=
nullptr;
107 GstElement* _file_sink=
nullptr;
108 GstElement* _file_resampler=
nullptr;
109 GstElement* _file_lame=
nullptr;
111 gulong _level_probe, _spectrum_probe, _lame_probe, _file_probe;
112 bool _show_level, _show_spectrum, _run_broadcast, _run_sr;
114 bool _seek(gint64 ns);
117 bool create_elements()
override;
118 bool add_and_link_elements()
override;
119 bool configure_elements()
override;
120 quint64 get_about_to_finish_time()
const 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: CrossFader.h:33
Definition: AbstractEngine.h:40
Definition: PlaybackPipeline.h:35
Definition: AbstractPipeline.h:46