Set cdrive speed hint for cdparanoia

This commit is contained in:
Andrew Basterfield 2018-10-06 20:18:19 +01:00
parent 6c40a27809
commit 2f07b8f482
1 changed files with 8 additions and 0 deletions

View File

@ -104,6 +104,7 @@ class CdioParanoiaInputStream final : public InputStream {
static constexpr Domain cdio_domain("cdio");
static bool default_reverse_endian;
static unsigned speed = 0;
static void
input_cdio_init(EventLoop &, const ConfigBlock &block)
@ -118,6 +119,7 @@ input_cdio_init(EventLoop &, const ConfigBlock &block)
throw FormatRuntimeError("Unrecognized 'default_byte_order' setting: %s",
value);
}
speed = block.GetBlockValue("speed",0u);
}
struct cdio_uri {
@ -209,6 +211,12 @@ input_cdio_open(const char *uri,
}
cdda_verbose_set(drv, CDDA_MESSAGE_FORGETIT, CDDA_MESSAGE_FORGETIT);
if (speed > 0) {
FormatDebug(cdio_domain,"Attempting to set CD speed to %dx",speed);
cdda_speed_set(drv,speed);
} else {
FormatDebug(cdio_domain,"Leaving CD speed alone");
}
if (0 != cdio_cddap_open(drv)) {
cdio_cddap_close_no_free_cdio(drv);