Commit 432a91ed authored by Martin Wilck's avatar Martin Wilck Committed by Tanu Kaskinen
Browse files

parecord: fix "Failed to open audio file" for FLAC and OGG

This patch fixes the following error:

$ pacat --file-format=ogg -r test.ogg
Failed to open audio file.
$ parecord sep.flac
Failed to open audio file.

libsndfile errors out if a WAV or OGG file is set to have anything but
SF_ENDIAN_FILE:

https://github.com/libsndfile/libsndfile/commit/f4d1646e5cd96444a75c6327a9d49739f81d251e

Part-of: <!526>
parent fec9eb17
Pipeline #303965 passed with stages
in 2 minutes and 56 seconds
......@@ -1062,6 +1062,15 @@ int main(int argc, char *argv[]) {
}
sfi.format |= file_format;
/*
* Endianness has been set in pa_sndfile_write_sample_spec(), but
* libsndfile errors out if endianness is set to anything other than
* SF_ENDIAN_FILE for OGG or FLAC. Clear it.
*/
if (file_format == SF_FORMAT_OGG || file_format == SF_FORMAT_FLAC)
sfi.format = (sfi.format & ~SF_FORMAT_ENDMASK) | SF_ENDIAN_FILE;
}
if (!(sndfile = sf_open_fd(mode == RECORD ? STDOUT_FILENO : STDIN_FILENO,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment