Set cdrive speed hint for cdparanoia
This commit is contained in:
@@ -104,6 +104,7 @@ class CdioParanoiaInputStream final : public InputStream {
|
|||||||
static constexpr Domain cdio_domain("cdio");
|
static constexpr Domain cdio_domain("cdio");
|
||||||
|
|
||||||
static bool default_reverse_endian;
|
static bool default_reverse_endian;
|
||||||
|
static unsigned speed = 0;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
input_cdio_init(EventLoop &, const ConfigBlock &block)
|
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",
|
throw FormatRuntimeError("Unrecognized 'default_byte_order' setting: %s",
|
||||||
value);
|
value);
|
||||||
}
|
}
|
||||||
|
speed = block.GetBlockValue("speed",0u);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct cdio_uri {
|
struct cdio_uri {
|
||||||
@@ -209,6 +211,12 @@ input_cdio_open(const char *uri,
|
|||||||
}
|
}
|
||||||
|
|
||||||
cdda_verbose_set(drv, CDDA_MESSAGE_FORGETIT, CDDA_MESSAGE_FORGETIT);
|
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)) {
|
if (0 != cdio_cddap_open(drv)) {
|
||||||
cdio_cddap_close_no_free_cdio(drv);
|
cdio_cddap_close_no_free_cdio(drv);
|
||||||
|
Reference in New Issue
Block a user