diff --git a/beetsplug/replaygain.py b/beetsplug/replaygain.py index e19101e3e..3c9c0042a 100644 --- a/beetsplug/replaygain.py +++ b/beetsplug/replaygain.py @@ -388,6 +388,12 @@ class GStreamerBackend(Backend): self._res = self.Gst.ElementFactory.make("audioresample", "res") self._rg = self.Gst.ElementFactory.make("rganalysis", "rg") + if self._src is None or self._decbin is None or self._conv is None \ + or self._res is None or self._rg is None: + raise FatalReplayGainError( + "Failed to load required GStreamer plugins" + ) + # We check which files need gain ourselves, so all files given # to rganalsys should have their gain computed, even if it # already exists. diff --git a/docs/changelog.rst b/docs/changelog.rst index a8f68cd16..a651572c9 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -66,6 +66,8 @@ Fixes: * Some messages in the console UI now use plural nouns correctly. Thanks to :user:`JesseWeinstein`. :bug:`1521` * Sorting numerical fields (such as track) now works again. :bug:`1511` +* :doc:`/plugins/replaygain`: Missing GStreamer plugins now cause a helpful + error message instead of a crash. :bug:`1518` 1.3.13 (April 24, 2015)