decoder/mpg123: move code to Scan()
This commit is contained in:
parent
a53db82ae4
commit
1745c485f3
|
@ -277,29 +277,18 @@ mpd_mpg123_file_decode(DecoderClient &client, Path path_fs)
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
mpd_mpg123_scan_file(Path path_fs, TagHandler &handler) noexcept
|
Scan(mpg123_handle &handle, TagHandler &handler) noexcept
|
||||||
{
|
{
|
||||||
int error;
|
|
||||||
mpg123_handle *const handle = mpg123_new(nullptr, &error);
|
|
||||||
if (handle == nullptr) {
|
|
||||||
FmtError(mpg123_domain,
|
|
||||||
"mpg123_new() failed: {}",
|
|
||||||
mpg123_plain_strerror(error));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
AtScopeExit(handle) { mpg123_delete(handle); };
|
|
||||||
|
|
||||||
AudioFormat audio_format;
|
AudioFormat audio_format;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (!mpd_mpg123_open(handle, path_fs) ||
|
if (!GetAudioFormat(handle, audio_format))
|
||||||
!GetAudioFormat(*handle, audio_format))
|
|
||||||
return false;
|
return false;
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const off_t num_samples = mpg123_length(handle);
|
const off_t num_samples = mpg123_length(&handle);
|
||||||
if (num_samples <= 0) {
|
if (num_samples <= 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -316,6 +305,30 @@ mpd_mpg123_scan_file(Path path_fs, TagHandler &handler) noexcept
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool
|
||||||
|
mpd_mpg123_scan_file(Path path_fs, TagHandler &handler) noexcept
|
||||||
|
{
|
||||||
|
int error;
|
||||||
|
mpg123_handle *const handle = mpg123_new(nullptr, &error);
|
||||||
|
if (handle == nullptr) {
|
||||||
|
FmtError(mpg123_domain,
|
||||||
|
"mpg123_new() failed: {}",
|
||||||
|
mpg123_plain_strerror(error));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
AtScopeExit(handle) { mpg123_delete(handle); };
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (!mpd_mpg123_open(handle, path_fs))
|
||||||
|
return false;
|
||||||
|
} catch (...) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Scan(*handle, handler);
|
||||||
|
}
|
||||||
|
|
||||||
static const char *const mpg123_suffixes[] = {
|
static const char *const mpg123_suffixes[] = {
|
||||||
"mp3",
|
"mp3",
|
||||||
nullptr
|
nullptr
|
||||||
|
|
Loading…
Reference in New Issue