Improvments to gstreamer backend and settings +++

- Fixed bug not setting environment for gstreamer before initialization
- Fixed windows directsound device
- Fixed crash on failure to create gstreamer element
- Fixed crash when switching backend
- Don't stop playback if equalizer or replay gain fails in gstreamer
- Improvments to backend settings
- Fixed backend settings to work for windows
- Fixed replay gain settings not working
- Fixed right click menu for album showing in statusview even when no song was playing
- Removed redundant code
This commit is contained in:
Jonas Kvinge
2018-04-05 21:40:05 +02:00
parent 6bbc1271e4
commit 43bf7e3ca8
21 changed files with 286 additions and 328 deletions

View File

@@ -31,18 +31,15 @@ class DeviceFinder {
public:
struct Device {
int card;
int device;
QVariant device_property_value;
QString string;
QString description;
QVariant value;
QString iconname;
};
virtual ~DeviceFinder() {}
// The name of the gstreamer sink element that devices found by this class can be used with.
QString output() const { return output_; }
QString name() const { return name_; }
// Does any necessary setup, returning false if this DeviceFinder cannot be used.
virtual bool Initialise() = 0;
@@ -51,12 +48,12 @@ class DeviceFinder {
virtual QList<Device> ListDevices() = 0;
protected:
explicit DeviceFinder(const QString &output);
explicit DeviceFinder(const QString &name);
static QString GuessIconName(const QString &, const QString &);
static QString GuessIconName(const QString &description);
private:
QString output_;
QString name_;
};