Xiph.Org issueshttps://gitlab.xiph.org/groups/xiph/-/issues2024-03-05T00:24:26Zhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2491Listener count goes negative / fallback override issue (devel branch)2024-03-05T00:24:26ZGilouListener count goes negative / fallback override issue (devel branch)Runnning icecast from devel branch on Debian 12, compiled from source, at some point on some mounts, I get a very high number of listeners, or probably a negative value, as this lies around `2^64-x`, as mentioned in the error log:
`[202...Runnning icecast from devel branch on Debian 12, compiled from source, at some point on some mounts, I get a very high number of listeners, or probably a negative value, as this lies around `2^64-x`, as mentioned in the error log:
`[2024-03-03 21:12:59] INFO source/source_main listener count on /xxx now 18446744073709551614`
And this is also displayed in streamlist (listeners stanza), and there is also an issue with the "Connected" stanza (why does that one has a capital C? :P):
```
<source mount="/xxx">
<fallback>/xxx-last</fallback>
<listeners>18446744073709551614</listeners>
<Connected>9873</Connected>
<content-type>audio/mpeg</content-type>
<health>yellow</health>
<maintenance comment="This is an experimental node. Do not use!">
<flag value="format-generic" maintenance-level="warning">Legacy or unsupported streaming format is used.</flag>
</maintenance>
<dumpfile_written>0</dumpfile_written>
</source>
```
I can't really make sense of the Connected value… There was 0 listener on that mount when that happened, and probably 0 socket for it besides the source (overall, the server had 150 sockets amongst clients and sources, and there was no attack or anything happening to it in reality, this is a testbed). Adding clients to the mount made the counter go back to 0, then higher, and disconnecting made it go negative again…
Server was up for ~2 days, and is still live, no special CPU/RAM usage pattern there, just odd numbers.https://gitlab.xiph.org/xiph/icecast-server/-/issues/2490Stream fails after a bit over HTTPS / TLS on devel branch2024-03-03T22:16:52ZGilouStream fails after a bit over HTTPS / TLS on devel branchweird situation regarding TLS.. "legacy" MP3 stream, working over HTTP, but after a bit mplayer cries about [tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
makes browsers read 4s, then stop
I restarted...weird situation regarding TLS.. "legacy" MP3 stream, working over HTTP, but after a bit mplayer cries about [tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
makes browsers read 4s, then stop
I restarted the source, it went back to normal.
I can't reproduce easily, that's testing on the -devel branch, on Debian 12, libssl-dev is version 3.0.11-1~deb12u2, icecast is compiled from source @ 2952a29c1ef96b3ac3844162696d5ad1778ac0fe, libigloo @ 0.9.2.
source is using liquidsoap, and there are like 10 similar sources that don't seem to fail in that way, so that might be unrelated.
source is connected in plain HTTP on a dual stack IPv6/IPv4 server, I didn't explicitly test IPv4 before restarting: source is connected over IPv6, clients I tested were probably using IPv6 as well.
```
libavformat version 60.16.100 (internal)
Cannot seek backward in linear streams!
Cannot seek backward in linear streams!
Cannot seek backward in linear streams!
Cannot seek backward in linear streams!
Cannot seek backward in linear streams!
Cannot seek backward in linear streams!
Cannot seek backward in linear streams!
Cannot seek backward in linear streams!
Cannot seek backward in linear streams!
Cannot seek backward in linear streams!
[tls @ 0x559121ac92e0]Error in the pull function.
[tls @ 0x559121ac92e0]IO error: End of file
[https @ 0x559121ac92e0]Stream ends prematurely at 103686, should be 18446744073709551615
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
Cannot seek backward in linear streams!
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
Cannot seek backward in linear streams!
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
Cannot seek backward in linear streams!
Cannot seek backward in linear streams!
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
Cannot seek backward in linear streams!
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
Cannot seek backward in linear streams!
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
Cannot seek backward in linear streams!
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
Cannot seek backward in linear streams!
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
Cannot seek backward in linear streams!
Cannot seek backward in linear streams!
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
Cannot seek backward in linear streams!
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
Cannot seek backward in linear streams!
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
Cannot seek backward in linear streams!
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
Cannot seek backward in linear streams!
Cannot seek backward in linear streams!
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
Cannot seek backward in linear streams!
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
Cannot seek backward in linear streams!
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
[tls @ 0x559121ac92e0]The specified session has been invalidated for some reason.
```
Browsers (Firefox, Safari) play 4s, then stop.https://gitlab.xiph.org/xiph/rnnoise/-/issues/11RFE - Name change proposal to HASTEN2024-03-01T13:17:43ZKambiz AghaiepourRFE - Name change proposal to HASTENThis is more a possible name change proposal. I just feel RNNoise is not all that catchy of a name and would like to propose "HASTEN" - How About Shutting That Extra Noise"This is more a possible name change proposal. I just feel RNNoise is not all that catchy of a name and would like to propose "HASTEN" - How About Shutting That Extra Noise"https://gitlab.xiph.org/xiph/icecast-server/-/issues/2489README.md in error (git url wrong: connection refused)2024-03-03T10:04:24ZiconoclastheroREADME.md in error (git url wrong: connection refused)**WORKS:**
From https://icecast.org/download/
```git clone --recursive https://gitlab.xiph.org/xiph/icecast-server.git```
**CONNECTION REFUSED:**
from https://gitlab.xiph.org/xiph/icecast-server/-/blob/master/README.md
```git clone --...**WORKS:**
From https://icecast.org/download/
```git clone --recursive https://gitlab.xiph.org/xiph/icecast-server.git```
**CONNECTION REFUSED:**
from https://gitlab.xiph.org/xiph/icecast-server/-/blob/master/README.md
```git clone --recursive https://git.xiph.org/icecast-server.git```https://gitlab.xiph.org/xiph/icecast-server/-/issues/2488icecast 2.4.4 not supporting ecdsa keys2024-03-03T09:54:02Zbenny1611icecast 2.4.4 not supporting ecdsa keysHello,
I've tried to eneble ssl on my icecast 2.4.4 on my Windows 10 machine. I've requested the certificates using ```certbot```. Then I've created a new listener in my config with the ssl enabled. When I've concatenated the certificate...Hello,
I've tried to eneble ssl on my icecast 2.4.4 on my Windows 10 machine. I've requested the certificates using ```certbot```. Then I've created a new listener in my config with the ssl enabled. When I've concatenated the certificates and the key in my certificate file, I've noticed that the key is considerably smaller than the key I've previously had, but I didn't thnk too much about it, thinking ```icecast``` would just deal with it. When I've tried to connect I've received the following error from FireFox: ```SSL_ERROR_NO_CYPHER_OVERLAP```.
After many hours of research, I've finally came up with a solution: create a RSA key instead of ecdsa (the default for ```certbot```). That worked and I'm up an running on HTTPS. Happy days!
TLDR:
Can you please make ```icecast``` support ```ecdsa``` keys, because that seems to be the default of ```certbot``` now?
Thank you,
Bennyhttps://gitlab.xiph.org/xiph/opus/-/issues/2368Default branch has changed from "master" to "main"2024-02-02T05:48:37ZJean-Marc ValinDefault branch has changed from "master" to "main"The default branch for the Opus repository has changed from "master" to "main". It is more than merely a name change, as main points to what used to be the opus-ng branch and thus has many improvements over what was in master. For more d...The default branch for the Opus repository has changed from "master" to "main". It is more than merely a name change, as main points to what used to be the opus-ng branch and thus has many improvements over what was in master. For more details, see https://lists.xiph.org/pipermail/opus/2024-January/004585.html
Please report any issue you may encounter due to that change.https://gitlab.xiph.org/xiph/icecast-server/-/issues/2487XSPF and VCLT generated playlist is incorrect/empty for hidden mounts2024-01-21T01:57:40ZGilouXSPF and VCLT generated playlist is incorrect/empty for hidden mountsIf one sets a mount to hidden, the xspf looks like that for the mount:
```
<?xml version="1.0" encoding="UTF-8"?>
<playlist xmlns="http://xspf.org/ns/0/" version="1">
<title/>
<creator/>
<trackList/>
</playlist>
```
and is empty fo...If one sets a mount to hidden, the xspf looks like that for the mount:
```
<?xml version="1.0" encoding="UTF-8"?>
<playlist xmlns="http://xspf.org/ns/0/" version="1">
<title/>
<creator/>
<trackList/>
</playlist>
```
and is empty for .VCLT
.m3u works as intended.
@phschafft mentionned on IRC: feel free to add that my guess is that stats_get_xml() will not return the mount in that case and therefore the XSLT will not render it.https://gitlab.xiph.org/xiph/icecast-server/-/issues/2486WIndows 32bit builds lead to connection-timout2024-01-20T23:52:33ZStephan JauernickWIndows 32bit builds lead to connection-timoutWe have not dug to deep into this yet.
It broke between 2.5b3 and current devel.
The server starts normally and all looks well, connections timeout.
Nothing is logged even with debugging.
phschafft has config.logs and config.hWe have not dug to deep into this yet.
It broke between 2.5b3 and current devel.
The server starts normally and all looks well, connections timeout.
Nothing is logged even with debugging.
phschafft has config.logs and config.hIcecast 2.5 rc1https://gitlab.xiph.org/xiph/icecast-server/-/issues/2485Fix CI, on the road to 2.52024-01-20T23:27:48ZGilouFix CI, on the road to 2.5Main issue to track the already on-going work with the CI, so that we can push our releases to OBS.
Work is happening on @stephan48 forks and mine, and especially from mine to his: https://gitlab.xiph.org/stephan48/icecast-server/-/merge...Main issue to track the already on-going work with the CI, so that we can push our releases to OBS.
Work is happening on @stephan48 forks and mine, and especially from mine to his: https://gitlab.xiph.org/stephan48/icecast-server/-/merge_requests/3 and draft on-going to the main repository https://gitlab.xiph.org/xiph/icecast-server/-/merge_requests/16https://gitlab.xiph.org/xiph/opus/-/issues/2367Noise in LFE channel at the start of a stream2023-12-13T07:53:43ZJason PetersonNoise in LFE channel at the start of a streamWhen encoding a 6 channel WAV file containing an inaudible level of noise with opusenc.exe on win64 platform, the LFE channel in the resulting opus file contains a short impulse of noise with a bandwidth of 4 kHz. This does not happen wh...When encoding a 6 channel WAV file containing an inaudible level of noise with opusenc.exe on win64 platform, the LFE channel in the resulting opus file contains a short impulse of noise with a bandwidth of 4 kHz. This does not happen when a file starts with absolute silence. Problem happens with any recent version including libopusenc 0.2.1-16-ge4285b5. It is audible in a downmix when the LFE is played on full range speakers.
To reproduce, create a short silent audio file and add shaped dither.
Sample: http://j7n.sytes.net/temp/opussample/https://gitlab.xiph.org/xiph/opus/-/issues/2366Compilation error with clang-cl 16 and vcpkg on Windows2023-12-03T20:18:26ZAlexandre BiqueCompilation error with clang-cl 16 and vcpkg on WindowsOpus fails to build on windows when using clang-cl (clang-16)
See https://github.com/microsoft/vcpkg/issues/35441Opus fails to build on windows when using clang-cl (clang-16)
See https://github.com/microsoft/vcpkg/issues/35441https://gitlab.xiph.org/xiph/icecast-server/-/issues/2484iPhone creates duplicate connections2024-01-06T03:59:36ZAngelo HongensiPhone creates duplicate connectionsIt seems that whenever a client connects to a stream from an iphone, either directly to the icecast port http://x.x.x.x:8000/stream or through web players, the iphone creates to identical connections to the icecast server, and keeps both...It seems that whenever a client connects to a stream from an iphone, either directly to the icecast port http://x.x.x.x:8000/stream or through web players, the iphone creates to identical connections to the icecast server, and keeps both active.
While this is not that bad, it does count toward the maximum connection limit. I have no idea if this is an icecast issue (perhaps specific headers or packets are being sent forcing the client to set up an additional connection) or an iPhone/safari/webkit issue, nor do I have the expertise to troubleshoot this.
Can you guys replicate this behaviour? For now, I'm assuming it's a bug in ios 17, any idea how to report this to apple??
edit: I'm not the only one: https://github.com/doublesymmetry/react-native-track-player/issues/2096https://gitlab.xiph.org/xiph/speex/-/issues/2046Leakage of uninitialized stack content in FIXED_POINT speex_decode()2023-11-14T16:39:37ZGeorgios VasilakopoulosLeakage of uninitialized stack content in FIXED_POINT speex_decode()The "speex.o" module provides several high level API functions for
managing encoding and decoding procedures with speex. One of these functions
is speex_decode, defined in libspeex/speex.c in line 115. It is a general
purpose function...The "speex.o" module provides several high level API functions for
managing encoding and decoding procedures with speex. One of these functions
is speex_decode, defined in libspeex/speex.c in line 115. It is a general
purpose function for decoding data from a bit stream and placing them in
an "out" buffer:
115: EXPORT int speex_decode(void *state, SpeexBits *bits, float *out)
{
int i, ret;
spx_int32_t N;
spx_int16_t short_out[MAX_IN_SAMPLES];
speex_decoder_ctl(state, SPEEX_GET_FRAME_SIZE, &N);
121: ret = (*((SpeexMode**)state))->dec(state, bits, short_out);
122:for (i=0;i<N;i++)
out[i] = short_out[i];
return ret;
}
It is worth noting that this definition of speex_decode is used in the "fixed
point" implementation (libspeex/speex.c line 85).
The issue with this function is that if the call to
(*((SpeexMode**)state))->dec at line 121 fails prematurely, the "for" loop at
line 122 will copy the uninitialized "short_out" buffer directly into the
output buffer (after performing a cast from a short to a float).
By examining the definition of the invoked structure-member function, one can
see that it directly calls the decode function (see "dec") of the mode
selected upon initialization (nb_decode/sb_decode):
include/speex.h:
/** Struct defining a Speex mode */
250:typedef struct SpeexMode {
/** Pointer to the low-level mode data */
const void *mode;
...
/** Pointer to frame decoding function */
283:decode_func dec;
/** ioctl-like requests for encoder */
encoder_ctl_func enc_ctl;
/** ioctl-like requests for decoder */
decoder_ctl_func dec_ctl;
} SpeexMode;
If the selected mode is narrowband, then the execution at
libspeex/speex.c:121 will proceed at nb_decode, which is defined
at libspeex/nb_celp.c:1333
1333: int nb_decode(void *state, SpeexBits *bits, void *vout)
{
...
spx_word16_t *out = (spx_word16_t*)vout;
...
do {
1379:if (speex_bits_remaining(bits)<5)
return -1;
...
m = speex_bits_unpack_unsigned(bits, 4);
...
1438:} else if (m>8) /* Invalid mode */
{
speex_notify("Invalid mode encountered. The stream is corrupted.");
return -2;
}
...
iir_mem16(st->exc, lpc, out, NB_FRAME_SIZE, NB_ORDER, st->mem_sp, stack);
...
}
Notice that there are several user-induced cases where the call to nb_decode
(and hence to (*((SpeexMode**)state))->dec ) will fail before anything is
written to the "vout" buffer. One case, at line 1379, is to provide an
unexpectedly small bit stream. Another, at line 1438, is to provide an
invalid mode.
Because of the fact that speex_decode is such a general purpose, high level
function of the API, even simple programs that utilize the API are prone
to trigger this bug. The following code is from sampledec.c which is a
simple demo program that was included in the speex distribution as well as the
speex manual:
int main(int argc, char **argv)
{
...
/*Create a new decoder state in narrowband mode*/
state = speex_decoder_init(&speex_nb_mode);
...
outFile = argv[1];
fout = fopen(outFile, "w");
/*Initialization of the structure that holds the bits*/
speex_bits_init(&bits);
while (1)
{
...
/*Read the "packet" encoded by sampleenc*/
fread(cbits, 1, nbBytes, stdin);
/*Copy the data into the bit-stream struct*/
speex_bits_read_from(&bits, cbits, nbBytes);
/*Decode the data*/
49:speex_decode(state, &bits, output);
/*Copy from float to short (16 bits) for output*/
52:for (i=0;i<FRAME_SIZE;i++)
out[i]=output[i];
/*Write the decoded audio to file*/
56:fwrite(out, sizeof(short), FRAME_SIZE, fout);
}
...
return 0;
}
One can observe that if a user supplies invalid data, that will cause the
indirect call to nb_decode to fail prematurely and as explained, the output
buffer will contain leaked stack content. Furthermore, this leaked content
will be transported directly to the output (lines 52 - 56).
It is true that checking the return value of speex_decode would
be sufficient to protect a program from using and further propagating the
leaked stack content.
However we would like to point out two important factors here:
- Firstly, the program linking to the speex library might have initialized
the "out" buffer with zeroes so as to proactively prevent any
buffer leakage to the output audio. The abovementioned bug in speex_decode
would essentially nullify this proactive defense.
- Secondly, there is a significant number of programs that use speex
and which do not check for speex_decode's return value:
https://github.com/WPMGPRoSToTeMa/VoiceTranscoder/blob/a9ae70b436e26f6589ac7841749ce281c227bb2c/VoiceCodec_Speex.cpp#L118
https://github.com/rhuitl/uClinux/blob/0486e80a025dccbe4a2213715a2ab8a5063ea86b/lib/libopenh323/plugins/audio/Speex/speexcodec.cxx#L207
https://github.com/Garey27/revoice-plus/blob/f286851ff9e54fc2beef72a5b5dd267f8fbd08ba/revoice/src/VoiceEncoder_Speex.cpp#L90
...
Therefore, we feel that the Speex code is sharing some of the responsibility
for this stack content leak, and that is why we are raising
this as a code quality issue on Speex rather than a Speex vulnerability.
A possible remediation would be to add return value checks immediately
after the function call of line 121 at libspeex/speex.c. Alternatively,
one could initialize the "short_out" buffer with zeroes prior to the dec()
function call.
For a proof-of-concept please see the files in [issue3_poc.tar.gz](/uploads/47693cec3f488ba3f1817dcb72ab0a0f/issue3_poc.tar.gz)https://gitlab.xiph.org/xiph/ezstream/-/issues/2288A note about Opus2023-11-10T17:21:24ZJhs JdfkA note about OpusPlease add a note about opus file format, is it supported or not into README.md.
opus can be in Ogg, Matroska, WebM, MPEG-TS container, but that doesn't mean anything, if it cannot do anything with it.Please add a note about opus file format, is it supported or not into README.md.
opus can be in Ogg, Matroska, WebM, MPEG-TS container, but that doesn't mean anything, if it cannot do anything with it.https://gitlab.xiph.org/xiph/icecast-ices/-/issues/2327Ices2 glitch between songs2023-11-09T23:51:22ZJhs JdfkIces2 glitch between songsI have a simple playlist of 2 opus small files,
when one ends and second drops I hear a long delay between the two,
and in Potplayer stops playing, as if it detected end of stream.
If I reconnect it plays the next song.
I believe data ...I have a simple playlist of 2 opus small files,
when one ends and second drops I hear a long delay between the two,
and in Potplayer stops playing, as if it detected end of stream.
If I reconnect it plays the next song.
I believe data is not sent back to back, otherwise it would be continuous, and client wouldn't notice anything.
in icecast2 I have tried setting 1MB buffer but still no luck.
Any idea?https://gitlab.xiph.org/xiph/vorbis/-/issues/2350strict-prototypes warning in lib/vorbisfile.c2023-10-28T13:03:55ZJörn Heusippstrict-prototypes warning in lib/vorbisfile.c```
lib/vorbisfile.c:1913:12: warning: function declaration isn't a prototype [-Wstrict-prototypes]
1913 | static int host_is_big_endian() {
| ^~~~~~~~~~~~~~~~~~
``````
lib/vorbisfile.c:1913:12: warning: function declaration isn't a prototype [-Wstrict-prototypes]
1913 | static int host_is_big_endian() {
| ^~~~~~~~~~~~~~~~~~
```https://gitlab.xiph.org/xiph/vorbis/-/issues/2349misleading-indentation warning in lib/block.c2023-10-28T13:04:48ZJörn Heusippmisleading-indentation warning in lib/block.c```
lib/block.c: In function 'vorbis_analysis_buffer':
lib/block.c:395:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
395 | if(b->header)_ogg_free(b->header);b->header=NULL;
| ^~
lib/block.c:395:37:...```
lib/block.c: In function 'vorbis_analysis_buffer':
lib/block.c:395:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
395 | if(b->header)_ogg_free(b->header);b->header=NULL;
| ^~
lib/block.c:395:37: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
395 | if(b->header)_ogg_free(b->header);b->header=NULL;
| ^
lib/block.c:396:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
396 | if(b->header1)_ogg_free(b->header1);b->header1=NULL;
| ^~
lib/block.c:396:39: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
396 | if(b->header1)_ogg_free(b->header1);b->header1=NULL;
| ^
lib/block.c:397:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
397 | if(b->header2)_ogg_free(b->header2);b->header2=NULL;
| ^~
lib/block.c:397:39: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
397 | if(b->header2)_ogg_free(b->header2);b->header2=NULL;
| ^
```https://gitlab.xiph.org/xiph/theora/-/issues/2320Outdated config scripts in the release tarball2023-10-22T05:50:02ZxctanOutdated config scripts in the release tarballCurrently the config scripts in the tarball are too old to properly recognize the RISC-V platform.
Similar issues are #1987, #2313, and #2318.Currently the config scripts in the tarball are too old to properly recognize the RISC-V platform.
Similar issues are #1987, #2313, and #2318.https://gitlab.xiph.org/xiph/libopusenc/-/issues/1Ability to customise the encoder application2023-10-20T11:15:29ZjonnyandrewAbility to customise the encoder applicationI'd like to use libopusenc to encode voice audio which I understand is done best with the [`OPUS_APPLICATION_VOIP`](https://opus-codec.org/docs/opus_api-1.3.1/group__opus__ctlvalues.html#ga07884aa018303a419d1f7acb2f3fa669) application ty...I'd like to use libopusenc to encode voice audio which I understand is done best with the [`OPUS_APPLICATION_VOIP`](https://opus-codec.org/docs/opus_api-1.3.1/group__opus__ctlvalues.html#ga07884aa018303a419d1f7acb2f3fa669) application type. However, the library does not expose this configuration option and seems to default to `OPUS_APPLICATION_AUDIO`.https://gitlab.xiph.org/xiph/speex/-/issues/2043Echo canceller removing low frequencies2023-10-10T08:45:03ZMassimo BEcho canceller removing low frequenciesHi, is this the official Speex repo?
Coming from https://github.com/wwmm/easyeffects/issues/2479
EasyEffects has recently migrated to using Speex filters.
Enabling "Echo canceller" removes a lot of low frequencies. I'm using the defaul...Hi, is this the official Speex repo?
Coming from https://github.com/wwmm/easyeffects/issues/2479
EasyEffects has recently migrated to using Speex filters.
Enabling "Echo canceller" removes a lot of low frequencies. I'm using the default settings.
I only have effects for the input using a USB condenser microphone, no effects on output side. I'm testing with headphones and the monitor-button on bottom right of the EasyEffects gui. So actually the Echo Canceller has nothing to cancel right now.
The default settings are:
Filter length 100ms
Residual Echo Suppression -7