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: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/526>
}
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,