decoder/sndfile: make vio
constexpr
Use `const_cast` to be able to pass it to sf_open_virtual() which has a wrong parameter declaration.
This commit is contained in:
parent
bdfaea0c25
commit
3be8b02cc2
@ -130,7 +130,7 @@ sndfile_vio_tell(void *user_data)
|
||||
* This SF_VIRTUAL_IO implementation wraps MPD's #InputStream to a
|
||||
* libsndfile stream.
|
||||
*/
|
||||
static SF_VIRTUAL_IO vio = {
|
||||
static constexpr SF_VIRTUAL_IO vio = {
|
||||
sndfile_vio_get_filelen,
|
||||
sndfile_vio_seek,
|
||||
sndfile_vio_read,
|
||||
@ -202,7 +202,8 @@ sndfile_stream_decode(DecoderClient &client, InputStream &is)
|
||||
info.format = 0;
|
||||
|
||||
SndfileInputStream sis{&client, is};
|
||||
SNDFILE *const sf = sf_open_virtual(&vio, SFM_READ, &info, &sis);
|
||||
SNDFILE *const sf = sf_open_virtual(const_cast<SF_VIRTUAL_IO *>(&vio),
|
||||
SFM_READ, &info, &sis);
|
||||
if (sf == nullptr) {
|
||||
FormatWarning(sndfile_domain, "sf_open_virtual() failed: %s",
|
||||
sf_strerror(nullptr));
|
||||
@ -274,7 +275,8 @@ sndfile_scan_stream(InputStream &is, TagHandler &handler) noexcept
|
||||
info.format = 0;
|
||||
|
||||
SndfileInputStream sis{nullptr, is};
|
||||
SNDFILE *const sf = sf_open_virtual(&vio, SFM_READ, &info, &sis);
|
||||
SNDFILE *const sf = sf_open_virtual(const_cast<SF_VIRTUAL_IO *>(&vio),
|
||||
SFM_READ, &info, &sis);
|
||||
if (sf == nullptr)
|
||||
return false;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user