File parecord-really-fix-recording-OGG.patch of Package pulseaudio.18906

From d56d5054f8e7b39376440e80ac7348b52e015de3 Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck@arcor.de>
Date: Mon, 19 Apr 2021 17:55:28 +0200
Subject: [PATCH] parecord: really fix recording OGG

432a91ed ("fix "Failed to open audio file" for FLAC and OGG)" claimed
to fix recording of OGG files with pacat, but it really fixed only
FLAC. This patch must be added on top to fix OGG, too.

Signed-off-by: Martin Wilck <mwilck@arcor.de>
---
 src/utils/pacat.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/utils/pacat.c b/src/utils/pacat.c
index 31da073bc..39ccaffd0 100644
--- a/src/utils/pacat.c
+++ b/src/utils/pacat.c
@@ -1067,9 +1067,12 @@ int main(int argc, char *argv[]) {
 	     * 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.
+	     * For OGG, libsndfile accepts only subformat SF_FORMAT_VORBIS.
 	     */
 	    if (file_format == SF_FORMAT_OGG || file_format == SF_FORMAT_FLAC)
 		    sfi.format = (sfi.format & ~SF_FORMAT_ENDMASK) | SF_ENDIAN_FILE;
+	    if (file_format == SF_FORMAT_OGG)
+		    sfi.format = (sfi.format & ~SF_FORMAT_SUBMASK) | SF_FORMAT_VORBIS;
 
         }
 
-- 
2.26.2

openSUSE Build Service is sponsored by