diff options
Diffstat (limited to 'src/audio_parser.c')
-rw-r--r-- | src/audio_parser.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/audio_parser.c b/src/audio_parser.c index 8875239e1..7061e0e00 100644 --- a/src/audio_parser.c +++ b/src/audio_parser.c @@ -87,6 +87,18 @@ parse_sample_format(const char *src, bool mask, return true; } + if (memcmp(src, "dsd", 3) == 0) { + if (src[3] == 'l') { + *sample_format_r = SAMPLE_FORMAT_DSD_LSBFIRST; + *endptr_r = src + 4; + } else { + *sample_format_r = SAMPLE_FORMAT_DSD; + *endptr_r = src + 3; + } + + return true; + } + value = strtoul(src, &endptr, 10); if (endptr == src) { g_set_error(error_r, audio_parser_quark(), 0, |