Thanks for the fix, and sorry for the delay.
On Apr 23 14:40:04, brad@comstyle.com wrote:
> A bug fix from upstream..
> gsm610: Fix signed integer overflow
On each of current/{amd64, arm64, armv7}
it builds, runs, and does not break this:
sox -c 1 -b 8 -r 8000 -n file.wav synth 5 sin gain -6
sndfile-convert file.wav file.gsm
sndfile-play file.gsm
However, the original problem reported at
https://github.com/libsndfile/libsndfile/issues/785
now looks like this:
$ sndfile-metadata-get /tmp/poc_sio
Open of file '/tmp/poc_sio' failed :
Internal error : SF_INFO struct incomplete.
$ sndfile-info /tmp/poc_sio
Error : Not able to open input file /tmp/poc_sio.
File : /tmp/poc_sio
Length : 3782
FORM : 3774
AIFC
FVER : 4
COMM : 24
Sample Rate : 11025
Frames : 16384
Channels : 1
Sample Size : 16
Encoding : GSM
SSND : 3408
Offset : 536870912
Block Size : 0 ???
ANNO : This is really quite a long comment. It is designed to be long enough to screw up the encoders and decoders if the file container format does not handle things correctly. If everything is working correctly, the decoder will only decode the actual audio data, and not this string at the end of the file.
*** Warning : data chunk seems to be truncated.
*** Frame count read from 'COMM' chunk (16384) not equal to frame count
*** calculated from length of 'SSND' chunk (1691973536).
---------------------------------
Sample rate : 11025
Frames : -2602993760
Channels : 1
Format : 0x20020
Sections : 1
Seekable : FALSE
---------------------------------
Internal error : SF_INFO struct incomplete.
I'm not sure how it relates to the inttype fix.
It reports that the comment appears truncated (not having the length),
but at the same time it somehow botches the SF_INFO structure.
Jan
> Index: Makefile
> ===================================================================
> RCS file: /home/cvs/ports/audio/libsndfile/Makefile,v
> retrieving revision 1.41
> diff -u -p -u -p -r1.41 Makefile
> --- Makefile 3 Apr 2022 11:12:38 -0000 1.41
> +++ Makefile 14 Apr 2022 21:20:02 -0000
> @@ -3,6 +3,7 @@ COMMENT= library to handle various audio
> GH_ACCOUNT= libsndfile
> GH_PROJECT= libsndfile
> GH_TAGNAME= 1.1.0
> +REVISION= 0
> CATEGORIES= audio
>
> HOMEPAGE= https://libsndfile.github.io/libsndfile/
> Index: patches/patch-src_gsm610_c
> ===================================================================
> RCS file: patches/patch-src_gsm610_c
> diff -N patches/patch-src_gsm610_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_gsm610_c 14 Apr 2022 21:26:35 -0000
> @@ -0,0 +1,15 @@
> +gsm610: Fix signed integer overflow
> +d6f83cd4feb154efcf5614601985ae2ce9d9fa6d
> +
> +Index: src/gsm610.c
> +--- src/gsm610.c.orig
> ++++ src/gsm610.c
> +@@ -150,7 +150,7 @@ Need separate gsm_data structs for encode and decode.
> + pgsm610->blocks = psf->datalength / pgsm610->blocksize + 1 ;
> + } ;
> +
> +- psf->sf.frames = pgsm610->samplesperblock * pgsm610->blocks ;
> ++ psf->sf.frames = (sf_count_t) pgsm610->samplesperblock * pgsm610->blocks ;
> +
> + psf_fseek (psf, psf->dataoffset, SEEK_SET) ;
> +
>
>
No comments:
Post a Comment