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
|
* This SF_VIRTUAL_IO implementation wraps MPD's #InputStream to a
|
||||||
* libsndfile stream.
|
* libsndfile stream.
|
||||||
*/
|
*/
|
||||||
static SF_VIRTUAL_IO vio = {
|
static constexpr SF_VIRTUAL_IO vio = {
|
||||||
sndfile_vio_get_filelen,
|
sndfile_vio_get_filelen,
|
||||||
sndfile_vio_seek,
|
sndfile_vio_seek,
|
||||||
sndfile_vio_read,
|
sndfile_vio_read,
|
||||||
@ -202,7 +202,8 @@ sndfile_stream_decode(DecoderClient &client, InputStream &is)
|
|||||||
info.format = 0;
|
info.format = 0;
|
||||||
|
|
||||||
SndfileInputStream sis{&client, is};
|
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) {
|
if (sf == nullptr) {
|
||||||
FormatWarning(sndfile_domain, "sf_open_virtual() failed: %s",
|
FormatWarning(sndfile_domain, "sf_open_virtual() failed: %s",
|
||||||
sf_strerror(nullptr));
|
sf_strerror(nullptr));
|
||||||
@ -274,7 +275,8 @@ sndfile_scan_stream(InputStream &is, TagHandler &handler) noexcept
|
|||||||
info.format = 0;
|
info.format = 0;
|
||||||
|
|
||||||
SndfileInputStream sis{nullptr, is};
|
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)
|
if (sf == nullptr)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user