Jonas Kvinge
f0df9dc0fb
GstEngine: Append "2" to wasapi2sink description
2023-06-01 17:22:11 +02:00
Jonas Kvinge
5fd0a0831f
GstEngine: Include all outputs that starts with "Sink/Audio"
2023-04-23 01:28:52 +02:00
Jonas Kvinge
9612304023
GstEngine: Use _stricmp with MSVC
2023-04-23 01:20:11 +02:00
Jonas Kvinge
3154e59b36
EngineBase: Remove extra semicolon
2023-04-22 20:41:22 +02:00
Jonas Kvinge
e9f3281694
Rename EngineBase
2023-04-22 19:13:42 +02:00
Jonas Kvinge
c3534affdb
EngineBase: Remove PluginDetails
2023-04-22 17:18:29 +02:00
Jonas Kvinge
c6e62b3263
GstStartup: Remove setting rank for wasapisink and directsoundsink
2023-04-22 17:15:41 +02:00
Jonas Kvinge
d8ce177ce7
GstEngine: Remove class comment
2023-04-22 17:14:49 +02:00
Jonas Kvinge
726bfbefb0
Replace gst_element_factory_get_klass with gst_element_factory_get_metadata
2023-04-22 16:49:37 +02:00
Jonas Kvinge
c96498758f
Fix and improve gapless playback
...
If "about-to-finish" was emitted before the preload time was reached, we never set the next uri, so gapless playback was broken.
Make sure to always set the next uri, and increase preload gap from 5 to 8 seconds.
2023-04-22 03:54:11 +02:00
Jonas Kvinge
bee6b7f946
Rename original_url to media_url
2023-04-21 16:20:00 +02:00
Jonas Kvinge
3bedfb6ac8
GstEngine: Formatting
2023-04-21 15:07:17 +02:00
Jonas Kvinge
f49bf0192b
Engine::Base: Formatting
2023-04-21 15:06:44 +02:00
Jonas Kvinge
aaa530e72b
Add const/references to all signal parameters
2023-04-09 20:23:42 +02:00
Jonas Kvinge
b59aa0827e
GstEnginePipeline: Always set initial volume
2023-04-07 02:30:41 +02:00
Jonas Kvinge
c8caea0d30
GstEnginePipeline: Use constexpr
2023-03-22 23:29:56 +01:00
Jonas Kvinge
7a6c54d8e7
GstEnginePipeline: Remove hard-coded num-bands
2023-03-22 23:29:24 +01:00
Jonas Kvinge
a1adc1a75a
Add option for strict SSL mode in backend settings
2023-03-19 23:02:17 +01:00
Jonas Kvinge
b16bec704a
GstEnginePipeline: Use "source-setup" instead of "notify::source" signal
...
This works with both playbin 2 and 3.
Possible fix for #1148
2023-03-19 22:28:12 +01:00
Jonas Kvinge
664a8c79a1
GstEnginePipeline: Check for ssl-strict property
2023-03-19 22:13:16 +01:00
Jonas Kvinge
c42b1f5548
GstEnginePipeline: Cast guint to int
2023-03-19 19:38:36 +01:00
Jonas Kvinge
a6d10b1fa7
GstEnginePipeline: Check that audio bin exists before unref
2023-02-27 18:50:09 +01:00
Jonas Kvinge
af37056179
Change TrackChangeType to enum
2023-02-18 14:33:43 +01:00
Jonas Kvinge
dd72fb4ca5
Use C++11 enum class
2023-02-18 14:09:30 +01:00
Jonas Kvinge
d406a1c341
GstEnginePipeline: Use playbin3 with GStreamer 1.22.0 and higher
2023-02-10 22:43:55 +01:00
Jonas Kvinge
6671d97b4a
GstEnginePipeline: Free audio bin in destructor
...
When the audio bin failed to initialize, we tried to disconnect signals and probes after the audio bin was already freed.
Instead, free the audio bin in the destructor after disconnecting signals and probes.
Fixes #1133 and #1123
2023-02-10 22:42:37 +01:00
Jonas Kvinge
7aac741571
GstEnginePipeline: Fix setting initial volume
...
Fixes #1104
2023-01-11 18:52:14 +01:00
Jonas Kvinge
b8a9da8a4e
GstEngine: Use QUrl::isLocalFile
2023-01-10 18:26:42 +01:00
Jonas Kvinge
41f2710dea
GstEnginePipeline: Use linear volume
2023-01-08 15:25:24 +01:00
Jonas Kvinge
1dfe07003f
GstEnginePipeline: Set and notify volume only when changed
...
Another fix for #1089
2023-01-03 21:32:20 +01:00
Jonas Kvinge
4ec028e736
GstEnginePipeline: Change callback ID's to long
2023-01-03 19:51:23 +01:00
Jonas Kvinge
6d05bb2de5
GstEnginePipeline: Remove upstream events and buffer probes
...
Also rename some variables and callback functions
Possible fix for #1090
2023-01-02 00:06:18 +01:00
Jonas Kvinge
1a2ab19ab4
GstEnginePipeline: Ignore core error when next song is set
...
Fixes #958
2023-01-01 20:25:57 +01:00
Jonas Kvinge
205b7f2401
Split utilities functions into separate files
2022-12-28 22:53:59 +01:00
Jonas Kvinge
c756346357
GstEnginePipeline: Add audio converter for sink
2022-12-11 01:14:17 +01:00
Jonas Kvinge
44970c3321
GstEnginePipeline: Use converter for event probe
2022-12-11 00:21:16 +01:00
Jonas Kvinge
b2073df3c3
GstEnginePipeline: Detect if autoaudiosink has volume
...
Fixes #1037
2022-12-04 08:37:33 +01:00
Jonas Kvinge
292f2de3e6
GstEnginePipeline: Add more info when ignoring error
2022-12-04 03:18:04 +01:00
Jonas Kvinge
b2d06f900b
GstEnginePipeline: Correct parameter name for SetFaderVolume function
2022-12-03 04:47:41 +01:00
Jonas Kvinge
b92ec71810
Use system volume when possible
...
Fixes #1037
2022-12-03 04:33:22 +01:00
Jonas Kvinge
2b3fddd015
main: Set PULSE_PROP_media.role
2022-11-17 00:59:22 +01:00
Jonas Kvinge
c16396a690
GstEnginePipeline: Log pipeline initialized
2022-11-09 22:42:43 +01:00
Jonas Kvinge
6768f614c7
GstEngine: Call SetState right before setFuture
2022-10-29 18:45:09 +02:00
Jonas Kvinge
171dc84df1
GstEngine: Use QUrl::clear()
2022-10-29 18:43:49 +02:00
Jonas Kvinge
d722035883
VLCEngine: Only emit stopped when still playing
...
VLC sends the stopped signal too late, the player has already moved on based on the end reached signal. Emitting Stopped afterwards will interrupt the player in the middle of the song change.
Fixes #1054
2022-10-18 20:12:21 +02:00
Jonas Kvinge
b22320c48f
Replace typedef with using
2022-10-13 22:39:31 +02:00
Jonas Kvinge
407c128f65
GstStartup: Set LIBSOUP3_LIBRARY_PATH for macOS
2022-09-03 00:19:25 +02:00
Jonas Kvinge
32f9c4e670
GstEnginePipeline: Parse album from stream title tag
...
Fixes #1023
2022-08-30 16:56:08 +02:00
Jonas Kvinge
2b24ac54a0
Remove unused includes
2022-08-28 03:09:33 +02:00
Jonas Kvinge
d97b0478a7
Fix typos
2022-08-28 02:44:37 +02:00