File 0001-src-Don-t-fake-psf-bytewidth-values.patch of Package libsndfile.4961

From f219c658e80f36d39982796670c926b17f825ab3 Mon Sep 17 00:00:00 2001
From: Erik de Castro Lopo <erikd@mega-nerd.com>
Date: Mon, 20 Feb 2012 20:53:39 +1100
Subject: [PATCH] src/ : Don't fake psf->bytewidth values.

---
 src/au.c         |    2 --
 src/flac.c       |    7 -------
 src/g72x.c       |    8 +++-----
 src/ogg_vorbis.c |    3 ---
 src/wav_w64.c    |    3 ---
 5 files changed, 3 insertions(+), 20 deletions(-)

--- a/src/au.c
+++ b/src/au.c
@@ -211,8 +211,6 @@ au_write_header (SF_PRIVATE *psf, int ca
 		psf->datalength = psf->filelength - psf->dataoffset ;
 		if (psf->dataend)
 			psf->datalength -= psf->filelength - psf->dataend ;
-
-		psf->sf.frames = psf->datalength / (psf->bytewidth * psf->sf.channels) ;
 		} ;
 
 	encoding = au_format_to_encoding (SF_CODEC (psf->sf.format)) ;
--- a/src/flac.c
+++ b/src/flac.c
@@ -679,15 +679,11 @@ flac_open	(SF_PRIVATE *psf)
 
 	psf->datalength = psf->filelength ;
 	psf->dataoffset = 0 ;
-	psf->blockwidth = 0 ;
-	psf->bytewidth = 1 ;
 
 	psf->container_close = flac_close ;
 	psf->seek = flac_seek ;
 	psf->command = flac_command ;
 
-	psf->blockwidth = psf->bytewidth * psf->sf.channels ;
-
 	switch (subformat)
 	{	case SF_FORMAT_PCM_S8 :	/* 8-bit FLAC.  */
 		case SF_FORMAT_PCM_16 :	/* 16-bit FLAC. */
@@ -846,9 +842,6 @@ flac_init (SF_PRIVATE *psf)
 		psf->write_double	= flac_write_d2flac ;
 		} ;
 
-	psf->bytewidth = 1 ;
-	psf->blockwidth = psf->sf.channels ;
-
 	if (psf->filelength > psf->dataoffset)
 		psf->datalength = (psf->dataend) ? psf->dataend - psf->dataoffset : psf->filelength - psf->dataoffset ;
 	else
--- a/src/g72x.c
+++ b/src/g72x.c
@@ -112,8 +112,6 @@ g72x_init (SF_PRIVATE * psf)
 		default : return SFE_UNIMPLEMENTED ;
 		} ;
 
-	psf->blockwidth = psf->bytewidth = 1 ;
-
 	psf->filelength = psf_get_filelen (psf) ;
 	if (psf->filelength < psf->dataoffset)
 		psf->filelength = psf->dataoffset ;
@@ -501,7 +499,7 @@ g72x_write_i (SF_PRIVATE *psf, const int
 	pg72x = (G72x_PRIVATE*) psf->codec_data ;
 
 	sptr = psf->u.sbuf ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
+	bufferlen = SF_BUFFER_LEN / sizeof (short) ;
 	while (len > 0)
 	{	writecount = (len >= bufferlen) ? bufferlen : len ;
 		for (k = 0 ; k < writecount ; k++)
@@ -531,7 +529,7 @@ g72x_write_f (SF_PRIVATE *psf, const flo
 	normfact = (psf->norm_float == SF_TRUE) ? (1.0 * 0x8000) : 1.0 ;
 
 	sptr = psf->u.sbuf ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
+	bufferlen = SF_BUFFER_LEN / sizeof (short) ;
 	while (len > 0)
 	{	writecount = (len >= bufferlen) ? bufferlen : len ;
 		for (k = 0 ; k < writecount ; k++)
@@ -562,7 +560,7 @@ g72x_write_d (SF_PRIVATE *psf, const dou
 	normfact = (psf->norm_double == SF_TRUE) ? (1.0 * 0x8000) : 1.0 ;
 
 	sptr = psf->u.sbuf ;
-	bufferlen = ((SF_BUFFER_LEN / psf->blockwidth) * psf->blockwidth) / sizeof (short) ;
+	bufferlen = SF_BUFFER_LEN / sizeof (short) ;
 	while (len > 0)
 	{	writecount = (len >= bufferlen) ? bufferlen : len ;
 		for (k = 0 ; k < writecount ; k++)
--- a/src/ogg_vorbis.c
+++ b/src/ogg_vorbis.c
@@ -528,9 +528,6 @@ ogg_vorbis_open (SF_PRIVATE *psf)
 		psf->str_flags = SF_STR_ALLOW_START ;
 		} ;
 
-	psf->bytewidth = 1 ;
-	psf->blockwidth = psf->bytewidth * psf->sf.channels ;
-
 	psf->seek = vorbis_seek ;
 	psf->command = vorbis_command ;
 
--- a/src/wav_w64.c
+++ b/src/wav_w64.c
@@ -224,7 +224,6 @@ wav_w64_read_fmt_chunk (SF_PRIVATE *psf,
 				else
 					psf_log_printf (psf, "  Bytes/sec     : %d\n", wav_fmt->ima.bytespersec) ;
 
-				psf->bytewidth = 2 ;
 				psf_log_printf (psf, "  Extra Bytes   : %d\n", wav_fmt->ima.extrabytes) ;
 				psf_log_printf (psf, "  Samples/Block : %d\n", wav_fmt->ima.samplesperblock) ;
 				break ;
@@ -247,7 +246,6 @@ wav_w64_read_fmt_chunk (SF_PRIVATE *psf,
 				else
 					psf_log_printf (psf, "  Bytes/sec     : %d (should be %d)\n", wav_fmt->min.bytespersec, bytespersec) ;
 
-				psf->bytewidth = 2 ;
 				psf_log_printf (psf, "  Extra Bytes   : %d\n", wav_fmt->msadpcm.extrabytes) ;
 				psf_log_printf (psf, "  Samples/Block : %d\n", wav_fmt->msadpcm.samplesperblock) ;
 				if (wav_fmt->msadpcm.numcoeffs > ARRAY_LEN (wav_fmt->msadpcm.coeffs))
@@ -282,7 +280,6 @@ wav_w64_read_fmt_chunk (SF_PRIVATE *psf,
 				else
 					psf_log_printf (psf, "  Bytes/sec     : %d\n", wav_fmt->gsm610.bytespersec) ;
 
-				psf->bytewidth = 2 ;
 				psf_log_printf (psf, "  Extra Bytes   : %d\n", wav_fmt->gsm610.extrabytes) ;
 				psf_log_printf (psf, "  Samples/Block : %d\n", wav_fmt->gsm610.samplesperblock) ;
 				break ;
openSUSE Build Service is sponsored by