Xiph.Org issueshttps://gitlab.xiph.org/groups/xiph/-/issues2020-05-07T02:34:13Zhttps://gitlab.xiph.org/xiph/Infrastructure/-/issues/2229re-create planet.xiph.org snippet2020-05-07T02:34:13ZRalph Gilesre-create planet.xiph.org snippet[xiph.org](https://www.xiph.org/) loads a teaser of recent links from planet.xiph.org. IIRC this was generated by some script connected to the planet website, and needs to be re-created now that mf4 is gone.[xiph.org](https://www.xiph.org/) loads a teaser of recent links from planet.xiph.org. IIRC this was generated by some script connected to the planet website, and needs to be re-created now that mf4 is gone.https://gitlab.xiph.org/xiph/icecast-ices/-/issues/2322SIGUSR1 triggers resample & encoder initialising2020-03-25T23:20:09ZJonas LiljestrandSIGUSR1 triggers resample & encoder initialisingHi,
I'm having a bit of trouble with glitching audio when the metadata is updated
which I suspect is caused by using the encode feature.
In the logfile I see this
```
[2020-03-25 23:11:43] INFO signals/signal_usr1_handler Metadata u...Hi,
I'm having a bit of trouble with glitching audio when the metadata is updated
which I suspect is caused by using the encode feature.
In the logfile I see this
```
[2020-03-25 23:11:43] INFO signals/signal_usr1_handler Metadata update requested
[2020-03-25 23:11:43] INFO metadata/metadata_thread_signal tag 1 is artist=Some artist
[2020-03-25 23:11:43] INFO metadata/metadata_thread_signal tag 2 is title=Some title
[2020-03-25 23:11:43] INFO metadata/metadata_thread_signal Updating metadata
[2020-03-25 23:11:43] INFO audio/resample_initialise Initialised resampler for 2 channels, from 48000 Hz to 44100 Hz
[2020-03-25 23:11:43] INFO encode/encode_initialise Encoder initialising in VBR mode: 2 channel(s), 44100 Hz, quality
```
Here is my full `ices.xml`
```
<ices>
<background>0</background>
<logpath>/home/pi/ices/</logpath>
<logfile>ices.log</logfile>
<logsize>2048</logsize>
<loglevel>3</loglevel>
<consolelog>0</consolelog>
<pidfile>/home/pi/ices/ices.pid</pidfile>
<stream>
<instance>
<hostname></hostname>
<port>8000</port>
<password></password>
<mount>/radio.ogg</mount>
<reconnectdelay>2</reconnectdelay>
<reconnectattempts>5</reconnectattempts>
<maxqueuelength>80</maxqueuelength>
<encode>
<samplerate>44100</samplerate>
<channels>2</channels>
</encode>
<resample>
<in-rate>48000</in-rate>
<out-rate>44100</out-rate>
</resample>
</instance>
<input>
<module>stdinpcm</module>
<param name="rate">48000</param>
<param name="channels">2</param>
<param name="metadata">1</param>
<param name="metadatafilename">/var/ices2/tmp/metadata</param>
</input>
</stream>
</ices>
```
I start ices2 with the following command.
```
arecord -D plughw:1 --channels 2 --format dat -t raw | ices2 ices/ices.xml
```
Which logs
```
Recording raw data 'stdin' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
```https://gitlab.xiph.org/xiph/theora/-/issues/2311Files produced by encoder_example are not properly muxed2020-03-05T22:05:53ZTristan MatthewsFiles produced by encoder_example are not properly muxedTo reproduce:
```
$> ./encoder_example ~/Videos/akiyo_qcif.y4m -o akiyo.ogv
$> ffplay akiyo.ogv
[ogg @ 0x7f0448000bc0] Broken file, keyframe not correctly marked.
Input #0, ogg, from 'akiyo.ogv':
Duration: 00:00:10.01, start: 0.00000...To reproduce:
```
$> ./encoder_example ~/Videos/akiyo_qcif.y4m -o akiyo.ogv
$> ffplay akiyo.ogv
[ogg @ 0x7f0448000bc0] Broken file, keyframe not correctly marked.
Input #0, ogg, from 'akiyo.ogv':
Duration: 00:00:10.01, start: 0.000000, bitrate: 66 kb/s
Stream #0:0: Video: theora, yuv420p, 176x144 [SAR 128:117 DAR 1408:1053], 29.97 tbr, 29.97 tbn, 29.97 tbc
[ogg @ 0x7f0448000bc0] Broken file, non-keyframe not correctly marked.
[ogg @ 0x7f0448000bc0] Broken file, non-keyframe not correctly marked.
[ogg @ 0x7f0448000bc0] Broken file, non-keyframe not correctly marked.
[ogg @ 0x7f0448000bc0] Broken file, non-keyframe not correctly marked.
[ogg @ 0x7f0448000bc0] Broken file, non-keyframe not correctly marked.
[ogg @ 0x7f0448000bc0] Broken file, non-keyframe not correctly marked.
...
```
Relevant parsing code from libavformat:
https://github.com/FFmpeg/FFmpeg/blob/e27a35e0458224ef6f47753f248ba84ec8284818/libavformat/oggdec.c#L783Tristan MatthewsTristan Matthewshttps://gitlab.xiph.org/xiph/theora/-/issues/1465fix configure.ac to work with cross scenario for libvorbis2020-02-27T04:36:19ZRobert Schwebelfix configure.ac to work with cross scenario for libvorbisThe current test in configure.ac mixes up two different methods (hand
written plus pkg-config). This patch changes the mechanics towards
proper pkg-config usage. In return, we get a cleaned up cross scenario
with no build-system leakage....The current test in configure.ac mixes up two different methods (hand
written plus pkg-config). This patch changes the mechanics towards
proper pkg-config usage. In return, we get a cleaned up cross scenario
with no build-system leakage.
This patch fixes the vorbis test.https://gitlab.xiph.org/xiph/icecast-server/-/issues/2302Password extends into headers with BUTT shoutcast compatible source2020-02-14T13:26:12ZGary TunstallPassword extends into headers with BUTT shoutcast compatible sourceHi, I've found a bug in 2.4.3 (which if I understand correctly is the same as 2.4.2 for Linux).
Its a fairly minor one and is in part caused by the Source.
If you use BUTT (https://sourceforge.net/projects/butt/) to broadcast and setup a...Hi, I've found a bug in 2.4.3 (which if I understand correctly is the same as 2.4.2 for Linux).
Its a fairly minor one and is in part caused by the Source.
If you use BUTT (https://sourceforge.net/projects/butt/) to broadcast and setup an Icecast connection it works find. However if you set it up as a shoutcast connection and send to a shoutcast compatible port on icecast it fails.
Now the obvious question is why we'd use the "old" way of doing things. The answer is we are moving from shoutcast to icecast and a lot of our broadcasters still have the shoutcast settings and I'll like it to "just work" for them.
The problem is BUTT mixes its line endings, after the password there is just a /n but in the header lines it uses /r/n
In _handle_shoutcast_compatible in connection.c there is some code
```
/* Get rid of trailing \r\n or \n after password */
ptr = strstr (client->refbuf->data, "\r\r\n");
if (ptr)
headers = ptr+3;
else
{
ptr = strstr (client->refbuf->data, "\r\n");
if (ptr)
headers = ptr+2;
else
{
ptr = strstr (client->refbuf->data, "\n");
if (ptr)
headers = ptr+1;
}
}
```
Which unfortunately matches on the \r\n on the header, and misses the \n on the end of the password. So it uses the password a \n and the first line of the headers as the password, which fails and it rejects the connection.
For my purposes I've fix it by changing the code to:
```
/* Get rid of trailing \r\n or \n after password */
ptr = strstr (client->refbuf->data, "\n");
if (ptr)
{
headers = ptr+1;
while ( ( ptr > client->refbuf->data ) && ( ptr[-1]=='\r' ) )
{
ptr--;
}
}
```
So it finds the first \n and backtracks to remove any \r's
Obviously this is an edge case, in general people using BUTT will use icecast native connections, and most source client don't use mixed line endings. But I think my fixed version is probably more efficient on average anyway, so I think it should be safe to add.
I was going to try and submit a patch, but it looks like the code has moved on since the last version released, though even that didn't seem to use the latest changes at the time. So I'm not sure what is happening in that area. I'll leave this here and if its of any use then please include it. If you can shed more light on the evolution of the file and its worth it I can clone the latest version and test and if necessary make a patch for it.
Regards
GaryThomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2314Allow disabling installation of ckport database2020-02-11T08:40:50ZPetr PisarAllow disabling installation of ckport databaseI found out that libshout-2.4.3 installs libshout.ckport file although I have no use for it. An attached patch adds --disable-ckport configure option that allows users to disable the installation.
[libshout-2.4.3-Allow-disabling-ckport-...I found out that libshout-2.4.3 installs libshout.ckport file although I have no use for it. An attached patch adds --disable-ckport configure option that allows users to disable the installation.
[libshout-2.4.3-Allow-disabling-ckport-database-installation.patch](/uploads/18b0544b437ccba7c9dd352e25175354/libshout-2.4.3-Allow-disabling-ckport-database-installation.patch)https://gitlab.xiph.org/xiph/ogg/-/issues/2299Invalid shift in oggpack_read()2020-01-29T15:17:19ZMichael NiedermayerInvalid shift in oggpack_read()ossfuzz of ffmpeg - libvorbis (which uses libogg) possibly found a bug in libogg
```
bitwise.c:396:23: runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
#0 0x7f3378 in oggpack_read /src/ogg/src/bitwise...ossfuzz of ffmpeg - libvorbis (which uses libogg) possibly found a bug in libogg
```
bitwise.c:396:23: runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
#0 0x7f3378 in oggpack_read /src/ogg/src/bitwise.c:396:23
#1 0x7cb1eb in _vorbis_unpack_info /src/vorbis/lib/info.c:212:15
#2 0x7cb0f5 in vorbis_synthesis_headerin /src/vorbis/lib/info.c:409:16
#3 0x4c2d82 in oggvorbis_decode_init /src/ffmpeg/libavcodec/libvorbisdec.c:108:12
```
The code is possibly in need of a cast to unsigned but i have not looked deeply into it.
The full report and 2 testcases are at the link below (this is possible not publically accessible but i can give access to this to anyone from xiph or libogg who wants to look into it). The testcase would require ffmpeg+ossfuzz+libvorbis+libogg in a bloated docker image though sadly, so iam not sure how useful that testcase would be. For me it does not reproduce outside docker.
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18710https://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2313ezstream hangs with libshout2019-11-18T08:44:49Zzygmundezstream hangs with libshoutHi,
Some time ago I was reported ezstream hangs with version of libshout 2.4.3 but problem still exists even with master branch, after few houres stream stops and I need to kill -9 ezstream.
When I downgraded to 2.4.1 everything is perf...Hi,
Some time ago I was reported ezstream hangs with version of libshout 2.4.3 but problem still exists even with master branch, after few houres stream stops and I need to kill -9 ezstream.
When I downgraded to 2.4.1 everything is perfect.https://gitlab.xiph.org/xiph/ogg/-/issues/2295ogg double free issue2019-08-14T02:08:40Zniugxogg double free issuethere is an issue in ogg_sync_clear when set the second parameter of ogg_sync_buffer to 1.
test code:
modify line 161 of test/write_read.c of libvorbis-1.3.6 as following:
buffer = ogg_sync_buffer(&oy, 1);there is an issue in ogg_sync_clear when set the second parameter of ogg_sync_buffer to 1.
test code:
modify line 161 of test/write_read.c of libvorbis-1.3.6 as following:
buffer = ogg_sync_buffer(&oy, 1);https://gitlab.xiph.org/xiph/liboggz/-/issues/7Ten off by one errors?2019-08-13T16:55:34ZRalph GilesTen off by one errors?Moved from [ogg #2197](https://gitlab.xiph.org/xiph/ogg/issues/2197) reported by @dcb314.
[timespec.c:123]: (error) Width 16 given in format string (no. 1) is larger than destination buffer 'timespec[16]', use %15s to prevent overflowi...Moved from [ogg #2197](https://gitlab.xiph.org/xiph/ogg/issues/2197) reported by @dcb314.
[timespec.c:123]: (error) Width 16 given in format string (no. 1) is larger than destination buffer 'timespec[16]', use %15s to prevent overflowing it. [timespec.c:127]: (error) Width 16 given in format string (no. 1) is larger than destination buffer 'timespec[16]', use %15s to prevent overflowing it. [timespec.c:131]: (error) Width 16 given in format string (no. 1) is larger than destination buffer 'timespec[16]', use %15s to prevent overflowing it. [timespec.c:135]: timespec.c:139 timespec.c:143 timespec.c:147 timespec.c:151 timespec.c:155https://gitlab.xiph.org/xiph/icecast-common/-/issues/7Consider using LGPL for tests2019-07-10T06:29:46ZUnit 193Consider using LGPL for testsHowdy,
While packaging libigloo I noticed some new files (modified only by ph3-der-loewe) were licensed under the GPL-2 license, whereas the rest of the project were licensed under LGPL-2+. Upon querying in #icecast I was directed to f...Howdy,
While packaging libigloo I noticed some new files (modified only by ph3-der-loewe) were licensed under the GPL-2 license, whereas the rest of the project were licensed under LGPL-2+. Upon querying in #icecast I was directed to file an issue for tracking purposes.
For reference, the files I found were: src/tests/* src/buffer.c src/reportxml.c
Thanks!
~Unit 193First release as libiglooPhilipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-common/-/issues/6Socket layer should be converted to generic IO interface2019-07-10T06:00:36ZPhilipp SchafftSocket layer should be converted to generic IO interfaceThe current socket interface should be converted to the generic IO Interface as discussed in #5.The current socket interface should be converted to the generic IO Interface as discussed in #5.First release as libiglooPhilipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2300SIGPIPE from libshout shout_send when Icecast is stopped2019-06-30T09:54:34ZJustin SouterSIGPIPE from libshout shout_send when Icecast is stoppedI'm getting a SIGPIPE signal from libshout shout_send function when Icecast is stopped. I've tried signal(SIGPIPE, SIG_IGN) and no difference. Trying to implement source client auto re-connect. Building in XCode on macOS High Sierra.I'm getting a SIGPIPE signal from libshout shout_send function when Icecast is stopped. I've tried signal(SIGPIPE, SIG_IGN) and no difference. Trying to implement source client auto re-connect. Building in XCode on macOS High Sierra.https://gitlab.xiph.org/xiph/icecast-server/-/issues/1941fallback support in webm2019-06-26T17:23:34Zocxfallback support in webmDear Community,
We noticed that the fallback stream for webm is not working fine, we included a file named fallback.webm in /usr/local/share/icecast/web
if we try to access the stream when no source is connected we get the following err...Dear Community,
We noticed that the fallback stream for webm is not working fine, we included a file named fallback.webm in /usr/local/share/icecast/web
if we try to access the stream when no source is connected we get the following error:
[2013-03-28 00:14:45] INFO source/source_main listener count on /fallback.webm now 1
[2013-03-28 00:14:45] EROR format/format_check_http_buffer internal problem, dropping client
[2013-03-28 00:14:45] INFO source/source_main listener count on /fallback.webm now 0
Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2155Improve WebM support in Icecast2019-06-26T17:23:33ZThomas B. RückerImprove WebM support in IcecastWe currently don't support the same use-cases as other formats.
This is partly due to the format - WebM doesn't support something like chaining.
We might work around a few things, but this needs to be explored.
This is a tracker ticket.We currently don't support the same use-cases as other formats.
This is partly due to the format - WebM doesn't support something like chaining.
We might work around a few things, but this needs to be explored.
This is a tracker ticket.Icecast 2.5.0Thomas B. RückerThomas B. Rückerhttps://gitlab.xiph.org/xiph/icecast-libshout/-/issues/1908libshout unlimited memory queue2019-06-12T00:09:46Zcamilio69libshout unlimited memory queueIf you have a *limited bandwidth* connection to the icecast server, libshout will use more and more memory until crash.
Reason: All packets that can not be send immediately are put in a wait queue, that will grow forever.
I suggest to ...If you have a *limited bandwidth* connection to the icecast server, libshout will use more and more memory until crash.
Reason: All packets that can not be send immediately are put in a wait queue, that will grow forever.
I suggest to put a hard limit on number of buffers in queue.
You will find attached a patch proposal.
Michael SmithMichael Smithhttps://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2206[PATCH] Update the libshout python bindings to the libshout git version2019-05-22T07:44:49Zdivayth[PATCH] Update the libshout python bindings to the libshout git versionI added methods for tls, ca_directory, ca_file, allowed_ciphers and for get and set_meta.
The first list is implemented as class attributes of the shout object and *_meta as methods.
It is still missing docstrings and help because I wa...I added methods for tls, ca_directory, ca_file, allowed_ciphers and for get and set_meta.
The first list is implemented as class attributes of the shout object and *_meta as methods.
It is still missing docstrings and help because I was not sure what to write.Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-libshout/-/issues/1207libshout 2.2.2 - configure script ignores "--with-speex=/path"2019-05-15T09:23:08ZThomas B. Rückerlibshout 2.2.2 - configure script ignores "--with-speex=/path"from #icecast on irc.freenode.org:
```
16:52:22< dm8tbr> configure script seems to ignore "--with-speex=/data/devel/openpma/build.arm/target/speex/"
16:54:20< dm8tbr> as expected running "grep target\/speex * -R" in the configured libsho...from #icecast on irc.freenode.org:
```
16:52:22< dm8tbr> configure script seems to ignore "--with-speex=/data/devel/openpma/build.arm/target/speex/"
16:54:20< dm8tbr> as expected running "grep target\/speex * -R" in the configured libshout sources only yields results in configure.*
16:59:21< dm8tbr> as opposed to running "grep target\/libogg * -R" - which yields plenty hits in e.g. Makefiles
```
This breaks cross compiling whith libraries relocated into separate directories (and that's what I need)Marvin ScholzMarvin Scholzhttps://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2193Plugin-ify the formats code2019-05-15T09:21:43ZGuillaume QuintardPlugin-ify the formats codeCurrently, libshout support mp3, ogg and webm, but some use cases require more (in Arkena case, we need aac support). Unfortunately, due to (valid) license/political reason, integrating more formats is blocked, leading to poorly maintain...Currently, libshout support mp3, ogg and webm, but some use cases require more (in Arkena case, we need aac support). Unfortunately, due to (valid) license/political reason, integrating more formats is blocked, leading to poorly maintained forks (see https://github.com/codders/libshout).
I started working on a branch (https://github.com/gquintard/Icecast-libshout/tree/feature-plugin) to have format plugins. It is not complete, and there are several objections to it (most prominently the use of mimes to identify the relevant plugin). So this ticket is here to track remarks/questions/note about this work.Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/libao/-/issues/23181.2.2: compile time warnings2019-05-04T10:03:06ZTomasz Kłoczko1.2.2: compile time warningsgcc 9 warnings
<pre>ao_alsa.c: In function &apos;alsa_set_hwparams&apos;:
ao_alsa.c:333:11: warning: enumeration value &apos;SND_PCM_FORMAT_UNKNOWN&apos; not handled in switch [-Wswitch]
333 | switch(internal-&gt;bitformat){...gcc 9 warnings
<pre>ao_alsa.c: In function 'alsa_set_hwparams':
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_UNKNOWN' not handled in switch [-Wswitch]
333 | switch(internal->bitformat){
| ^~~~~~
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_S8' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_S16_BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U16_LE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U16_BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_S24_BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U24_LE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U24_BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_S32_BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U32_LE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U32_BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_FLOAT_LE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_FLOAT_BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_FLOAT64_LE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_FLOAT64_BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_IEC958_SUBFRAME_LE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_IEC958_SUBFRAME_BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_MU_LAW' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_A_LAW' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_IMA_ADPCM' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_MPEG' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_GSM' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_S20_LE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_S20_BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U20_LE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U20_BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_SPECIAL' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_S24_3LE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_S24_3BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U24_3LE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U24_3BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_S20_3LE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_S20_3BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U20_3LE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U20_3BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_S18_3LE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_S18_3BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U18_3LE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U18_3BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_G723_24' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_G723_24_1B' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_G723_40' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_G723_40_1B' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_DSD_U8' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_DSD_U16_LE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_DSD_U32_LE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_DSD_U16_BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_DSD_U32_BE' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_LAST' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U16' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U24' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U32' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_FLOAT' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_FLOAT64' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_IEC958_SUBFRAME' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_S20' not handled in switch [-Wswitch]
ao_alsa.c:333:11: warning: enumeration value 'SND_PCM_FORMAT_U20' not handled in switch [-Wswitch]
ao_alsa.c: In function 'alsa_set_swparams':
ao_alsa.c:485:2: warning: 'snd_pcm_sw_params_set_xfer_align' is deprecated [-Wdeprecated-declarations]
485 | err = snd_pcm_sw_params_set_xfer_align(internal->pcm_handle, params, 1);
| ^~~
In file included from /usr/include/alsa/asoundlib.h:54,
from ao_alsa.c:39:
/usr/include/alsa/pcm.h:1331:5: note: declared here
1331 | int snd_pcm_sw_params_set_xfer_align(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val) __attribute__((deprecated));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ao_alsa.c: In function 'alsa_test_open':
ao_alsa.c:531:26: warning: unused variable 'params' [-Wunused-variable]
531 | snd_pcm_hw_params_t *params;
| ^~~~~~
ao_alsa.c: In function 'ao_plugin_play':
ao_alsa.c:798:11: warning: unused variable 'ibytes' [-Wunused-variable]
798 | int ibytes = frames * ibytewidth * device->output_channels;
| ^~~~~~
ao_alsa.c:791:9: warning: unused variable 'ostride' [-Wunused-variable]
791 | int ostride = obytewidth*device->output_channels;
| ^~~~~~~
ao_alsa.c:790:9: warning: unused variable 'istride' [-Wunused-variable]
790 | int istride = internal->sample_size;
| ^~~~~~~
ao_pulse.c: In function 'ao_plugin_close':
ao_pulse.c:309:17: warning: implicit declaration of function 'nanosleep'; did you mean 'pa_msleep'? [-Wimplicit-function-declaration]
309 | while(nanosleep(&sleep,&wake)<0){
| ^~~~~~~~~
| pa_msleep
ao_null.c: In function 'ao_null_set_option':
ao_null.c:89:20: warning: unused variable 'internal' [-Wunused-variable]
89 | ao_null_internal *internal = (ao_null_internal *) device->internal;
| ^~~~~~~~
config.c: In function 'ao_read_config_file':
config.c:58:6: warning: unused variable 'end' [-Wunused-variable]
58 | int end;
| ^~~
ao_wav.c: In function 'ao_wav_open':
ao_wav.c:165:29: warning: pointer targets in passing argument 1 of 'strncpy' differ in signedness [-Wpointer-sign]
165 | strncpy(internal->wave.riff.id, "RIFF",4);
| ~~~~~~~~~~~~~~~~~~~^~~
| |
| unsigned char *
In file included from /usr/include/features.h:450,
from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdio.h:27,
from ao_wav.c:33:
/usr/include/bits/string_fortified.h:103:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
103 | __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
| ^~~~~
ao_wav.c:167:29: warning: pointer targets in passing argument 1 of 'strncpy' differ in signedness [-Wpointer-sign]
167 | strncpy(internal->wave.riff.wave_id, "WAVE",4);
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~
| |
| unsigned char *
In file included from /usr/include/features.h:450,
from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdio.h:27,
from ao_wav.c:33:
/usr/include/bits/string_fortified.h:103:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
103 | __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
| ^~~~~
ao_wav.c:169:31: warning: pointer targets in passing argument 1 of 'strncpy' differ in signedness [-Wpointer-sign]
169 | strncpy(internal->wave.format.id, "fmt ",4);
| ~~~~~~~~~~~~~~~~~~~~~^~~
| |
| unsigned char *
In file included from /usr/include/features.h:450,
from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdio.h:27,
from ao_wav.c:33:
/usr/include/bits/string_fortified.h:103:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
103 | __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
| ^~~~~
ao_wav.c:185:29: warning: pointer targets in passing argument 1 of 'strncpy' differ in signedness [-Wpointer-sign]
185 | strncpy(internal->wave.data.id, "data",4);
| ~~~~~~~~~~~~~~~~~~~^~~
| |
| unsigned char *
In file included from /usr/include/features.h:450,
from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdio.h:27,
from ao_wav.c:33:
/usr/include/bits/string_fortified.h:103:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
103 | __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
| ^~~~~
ao_wav.c:189:10: warning: pointer targets in passing argument 1 of 'strncpy' differ in signedness [-Wpointer-sign]
189 | strncpy(buf, internal->wave.riff.id, 4);
| ^~~
| |
| unsigned char *
In file included from /usr/include/features.h:450,
from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdio.h:27,
from ao_wav.c:33:
/usr/include/bits/string_fortified.h:103:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
103 | __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
| ^~~~~
ao_wav.c:189:34: warning: pointer targets in passing argument 2 of 'strncpy' differ in signedness [-Wpointer-sign]
189 | strncpy(buf, internal->wave.riff.id, 4);
| ~~~~~~~~~~~~~~~~~~~^~~
| |
| unsigned char *
In file included from /usr/include/features.h:450,
from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdio.h:27,
from ao_wav.c:33:
/usr/include/bits/string_fortified.h:103:1: note: expected 'const char * restrict' but argument is of type 'unsigned char *'
103 | __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
| ^~~~~
ao_wav.c:191:13: warning: pointer targets in passing argument 1 of 'strncpy' differ in signedness [-Wpointer-sign]
191 | strncpy(buf+8, internal->wave.riff.wave_id, 4);
| ~~~^~
| |
| unsigned char *
In file included from /usr/include/features.h:450,
from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdio.h:27,
from ao_wav.c:33:
/usr/include/bits/string_fortified.h:103:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
103 | __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
| ^~~~~
ao_wav.c:191:36: warning: pointer targets in passing argument 2 of 'strncpy' differ in signedness [-Wpointer-sign]
191 | strncpy(buf+8, internal->wave.riff.wave_id, 4);
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~
| |
| unsigned char *
In file included from /usr/include/features.h:450,
from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdio.h:27,
from ao_wav.c:33:
/usr/include/bits/string_fortified.h:103:1: note: expected 'const char * restrict' but argument is of type 'unsigned char *'
103 | __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
| ^~~~~
ao_wav.c:192:13: warning: pointer targets in passing argument 1 of 'strncpy' differ in signedness [-Wpointer-sign]
192 | strncpy(buf+12, internal->wave.format.id,4);
| ~~~^~~
| |
| unsigned char *
In file included from /usr/include/features.h:450,
from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdio.h:27,
from ao_wav.c:33:
/usr/include/bits/string_fortified.h:103:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
103 | __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
| ^~~~~
ao_wav.c:192:39: warning: pointer targets in passing argument 2 of 'strncpy' differ in signedness [-Wpointer-sign]
192 | strncpy(buf+12, internal->wave.format.id,4);
| ~~~~~~~~~~~~~~~~~~~~~^~~
| |
| unsigned char *
In file included from /usr/include/features.h:450,
from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdio.h:27,
from ao_wav.c:33:
/usr/include/bits/string_fortified.h:103:1: note: expected 'const char * restrict' but argument is of type 'unsigned char *'
103 | __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
| ^~~~~
ao_wav.c:205:13: warning: pointer targets in passing argument 1 of 'strncpy' differ in signedness [-Wpointer-sign]
205 | strncpy(buf+60, internal->wave.data.id, 4);
| ~~~^~~
| |
| unsigned char *
In file included from /usr/include/features.h:450,
from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdio.h:27,
from ao_wav.c:33:
/usr/include/bits/string_fortified.h:103:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
103 | __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
| ^~~~~
ao_wav.c:205:37: warning: pointer targets in passing argument 2 of 'strncpy' differ in signedness [-Wpointer-sign]
205 | strncpy(buf+60, internal->wave.data.id, 4);
| ~~~~~~~~~~~~~~~~~~~^~~
| |
| unsigned char *
In file included from /usr/include/features.h:450,
from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdio.h:27,
from ao_wav.c:33:
/usr/include/bits/string_fortified.h:103:1: note: expected 'const char * restrict' but argument is of type 'unsigned char *'
103 | __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
| ^~~~~
In file included from ../include/ao/ao.h:94,
from audio_out.c:54:
audio_out.c: In function '_sanitize_matrix':
../include/ao/ao_private.h:201:26: warning: field precision specifier '.*' expects argument of type 'int', but argument 4 has type 'long int' [-Wformat=]
201 | fprintf(stderr,"ao_%s ERROR: " format,device->funcs->driver_info()->short_name,## args); \
| ^~~~~~~~~~~~~~~
audio_out.c:669:11: note: in expansion of macro 'aerror'
669 | aerror("Unrecognized channel name \"%.*s\" in channel matrix \"%s\"\n",
| ^~~~~~
audio_out.c:669:49: note: format string is defined here
669 | aerror("Unrecognized channel name \"%.*s\" in channel matrix \"%s\"\n",
| ~~^~
| |
| int
In file included from ../include/ao/ao.h:94,
from audio_out.c:54:
../include/ao/ao_private.h:203:26: warning: field precision specifier '.*' expects argument of type 'int', but argument 3 has type 'long int' [-Wformat=]
203 | fprintf(stderr,"ERROR: " format,## args); \
| ^~~~~~~~~
audio_out.c:669:11: note: in expansion of macro 'aerror'
669 | aerror("Unrecognized channel name \"%.*s\" in channel matrix \"%s\"\n",
| ^~~~~~
audio_out.c:669:49: note: format string is defined here
669 | aerror("Unrecognized channel name \"%.*s\" in channel matrix \"%s\"\n",
| ~~^~
| |
| int
audio_out.c:668:15: warning: unused variable 'i' [-Wunused-variable]
668 | int i;
| ^
At top level:
audio_out.c:609:13: warning: '_swap_samples' defined but not used [-Wunused-function]
609 | static void _swap_samples(char *target_buffer, char* source_buffer,
| ^~~~~~~~~~~~~
audio_out.c:406:12: warning: '_check_driver_id' defined but not used [-Wunused-function]
406 | static int _check_driver_id(int driver_id)
| ^~~~~~~~~~~~~~~~
ao_au.c: In function 'ao_au_open':
ao_au.c:165:15: warning: pointer targets in passing argument 1 of 'strncpy' differ in signedness [-Wpointer-sign]
165 | strncpy (buf + 24, internal->au.info, 4);
| ~~~~^~~~
| |
| unsigned char *
In file included from /usr/include/features.h:450,
from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdio.h:27,
from ao_au.c:30:
/usr/include/bits/string_fortified.h:103:1: note: expected 'char * restrict' but argument is of type 'unsigned char *'
103 | __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
| ^~~~~
</pre>