Xiph.Org issueshttps://gitlab.xiph.org/groups/xiph/-/issues2021-04-15T12:13:43Zhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2407status-json.xsl can return invalid JSON at startup2021-04-15T12:13:43ZFunctionstatus-json.xsl can return invalid JSON at startup[I wrote this issue last year](https://github.com/xiph/Icecast-Server/issues/38) but on the GitHub repo. I thought i'd post it here in hopes that someone sees it :)
The page may return this code right after starting Icecast:
```json
{"...[I wrote this issue last year](https://github.com/xiph/Icecast-Server/issues/38) but on the GitHub repo. I thought i'd post it here in hopes that someone sees it :)
The page may return this code right after starting Icecast:
```json
{"icestats":"server_start":"Sat, 03 Oct 2020 15:45:30 +0200","server_start_iso8601":"2020-10-03T15:45:30+0200","dummy":null}}
```
(notice the double closing `}`)
This is invalid JSON, and as i couldn't find a difference between 2.4.4 (which i'm using) and the latest version of the file in master i strongly assume this bug is present in all recent versions. Please correct me if i'm wrong.https://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2329Unbreak shout.pc (on non-GNU systems)2021-04-16T12:46:56ZMoritz GrimmUnbreak shout.pc (on non-GNU systems)The pkgconfig file shout.pc contains a list of requirements starting with an empty value:
`Requires.private: , ogg, vorbis, theora, speex, libssl`
This is not well-formed and doesn't work with pkgconfig on OpenBSD (for example). Since ...The pkgconfig file shout.pc contains a list of requirements starting with an empty value:
`Requires.private: , ogg, vorbis, theora, speex, libssl`
This is not well-formed and doesn't work with pkgconfig on OpenBSD (for example). Since libogg is a must-have dependency, the simple fix is to just start the list with it.
Patch: [libshout_proper_shout_pc.diff](/uploads/5cf7acd7e02ea62a9712a79375a6b663/libshout_proper_shout_pc.diff)https://gitlab.xiph.org/xiph/rnnoise/-/issues/4How can I use it to add noise suppresion to a file?2021-04-28T08:21:03ZDVDTSBHow can I use it to add noise suppresion to a file?I dont understand how it works, if i have a file, how can i make a c++ script using this to add noise supression to it in another duplicate file?I dont understand how it works, if i have a file, how can i make a c++ script using this to add noise supression to it in another duplicate file?https://gitlab.xiph.org/xiph/theora/-/issues/2316patch for adding cmake support2021-05-02T18:22:27ZMatthias C. M. Troffaespatch for adding cmake supportSee pull request here (can't seem to fork the project here on gitlab):
https://github.com/xiph/theora/pull/14
This has been carried by vcpkg for quite some time. Also see #2314.See pull request here (can't seem to fork the project here on gitlab):
https://github.com/xiph/theora/pull/14
This has been carried by vcpkg for quite some time. Also see #2314.https://gitlab.xiph.org/xiph/theora/-/issues/2317patch to remove redundant assignments2021-05-02T18:25:53ZMatthias C. M. Troffaespatch to remove redundant assignmentsSee:
https://github.com/xiph/theora/pull/13
This has been carried by vcpkg for quite a long time, as the library cannot be built with MSVC otherwise.See:
https://github.com/xiph/theora/pull/13
This has been carried by vcpkg for quite a long time, as the library cannot be built with MSVC otherwise.https://gitlab.xiph.org/xiph/icecast-server/-/issues/2411listeners on fallback-mount don't find initially mount2021-05-08T14:13:09ZSonny Lehnlisteners on fallback-mount don't find initially mountHi there,
if listeners connect to stream1.ogg while this is down and fallback is active the
listeners are moved to wait.ogg = good, so far
If then stream2.ogg comes up, the listeners from wait.ogg are transferred to
stream2.ogg and d...Hi there,
if listeners connect to stream1.ogg while this is down and fallback is active the
listeners are moved to wait.ogg = good, so far
If then stream2.ogg comes up, the listeners from wait.ogg are transferred to
stream2.ogg and don't wait till the initially mount stream1.ogg comes up.
Why is that?
Do I have a wrong configuration:
######################################################################
please see attached picture, I can't post the content of the xml in this editor
######################################################################
![icecast-xml](/uploads/a80bdd92fc6f1b5fd20b864fea8e4fb1/icecast-xml.jpg)
Greetings from Sonnyhttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2405Recovering from fallback directs to wrong mount2021-05-08T14:13:53ZLauri HeikkiläRecovering from fallback directs to wrong mountDon't know should one re-open old issue https://gitlab.xiph.org/xiph/icecast-server/-/issues/642 or not, but here's a new one...
One has two mounts (/mount_a and mount_b) with the same fallback mount<br>
-> The sources for both relayed ...Don't know should one re-open old issue https://gitlab.xiph.org/xiph/icecast-server/-/issues/642 or not, but here's a new one...
One has two mounts (/mount_a and mount_b) with the same fallback mount<br>
-> The sources for both relayed mounts (/remote_mount_a and /remote_mount_b) go down<br>
-> All listeners get directed to /backup mount<br>
-> Both relayed sources recover<br>
-> All listeners get directed to single mount, for example /mount_a, even though they were listening /mount_b before
```
<relay>
<server>a.remote.server.com</server>
<mount>/remote_mount_a</mount>
<local-mount>/mount_a</local-mount>
</relay>
<mount type="normal">
<mount-name>/mount_a</mount-name>
<fallback-mount>/backup</fallback-mount>
<fallback-override>1</fallback-override>
</mount>
<relay>
<server>remote.server.com</server>
<mount>/remote_mount_b</mount>
<local-mount>/local_mount_b</local-mount>
</relay>
<mount type="normal">
<mount-name>/mount_b</mount-name>
<fallback-mount>/backup</fallback-mount>
<fallback-override>1</fallback-override>
</mount>
<relay>
<server>b.remote.server.com</server>
<mount>/remote_backup</mount>
<local-mount>/backup</local-mount>
<on-demand>1</on-demand>
</relay>
```Icecast 2.5.0https://gitlab.xiph.org/xiph/opus/-/issues/2356[Question] Optimize silk_NSQ_del_dec() for AVX22021-05-10T06:00:33ZVictor Ding[Question] Optimize silk_NSQ_del_dec() for AVX2I optimized silk_NSQ_del_dec() for AVX2 and hence would like to create a merge request. However, when I try to fork this project, I get error "you have reached your project limit". So I guess there might be more steps that I should prepa...I optimized silk_NSQ_del_dec() for AVX2 and hence would like to create a merge request. However, when I try to fork this project, I get error "you have reached your project limit". So I guess there might be more steps that I should prepare. Is there an instruction on how to create a merge request?https://gitlab.xiph.org/xiph/opus/-/issues/2357iOS SIGSEGV crash in silk_encode_indices on version 1.3.12021-06-01T17:20:55ZRyan MaloneyiOS SIGSEGV crash in silk_encode_indices on version 1.3.1We recently received the following crash report from a user of our iOS app. The app is using Opus 1.3.1. Unfortunately, we don't have repro steps.
Here is the exception info, and the crashing thread's stack trace (The full crash report ...We recently received the following crash report from a user of our iOS app. The app is using Opus 1.3.1. Unfortunately, we don't have repro steps.
Here is the exception info, and the crashing thread's stack trace (The full crash report is attached):
```
Exception Type: SIGSEGV
Exception Codes: SEGV_MAPERR at 0x18
Crashed Thread: 26
Thread 26 Crashed:
0 AppXAudio 0x00000001054a3840 silk_encode_indices (encode_indices.c:91)
1 AppXAudio 0x00000001054b8484 silk_encode_frame_FLP (encode_frame_FLP.c:205)
2 AppXAudio 0x00000001054a2e3c silk_Encode (enc_API.c:499)
3 AppXAudio 0x00000001054c7484 opus_encode_native (opus_encoder.c:1845)
4 AppXAudio 0x00000001054c7e50 opus_encode_float (opus_encoder.c:2263)
5 AppXAudio 0x00000001054585e0 -[AppXOpusEncoder encodeAudioBuffer:withCompletion:] (AppXOpusEncoder.m:59)
6 AppXAudio 0x000000010547b358 closure #1 () -> () in closure #1 (__C.AVAudioPCMBuffer, __C.AVAudioTime) -> () in AppXAudio.AppXAudioRecorder.(installTap in _D59F0003FB45C5CBF6B0090245925C5B)() -> () (AppXAudioRecorder.swift:173)
7 AppXAudio 0x000000010545acdc reabstraction thunk helper from @escaping @callee_guaranteed () -> () to @escaping @callee_unowned @convention(block) () -> () (<compiler-generated>:0)
8 libdispatch.dylib 0x000000018322da54 _dispatch_call_block_and_release + 28
9 libdispatch.dylib 0x000000018322f7ec _dispatch_client_callout + 16
10 libdispatch.dylib 0x0000000183236fd4 _dispatch_lane_serial_drain + 616
11 libdispatch.dylib 0x0000000183237bd0 _dispatch_lane_invoke + 400
12 libdispatch.dylib 0x000000018324248c _dispatch_workloop_worker_thread + 760
13 libsystem_pthread.dylib 0x00000001cf05e7a4 _pthread_wqthread + 272
14 libsystem_pthread.dylib 0x00000001cf06574c start_wqthread + 4
```
At this time, we have no more info, but we will update here if there is anything new to add.
[report-2517809400350009999-ea0d674f-525b-46ec-b113-d09d14ad2c93.txt](/uploads/62681068ac46b7d240b8efdc240f581a/report-2517809400350009999-ea0d674f-525b-46ec-b113-d09d14ad2c93.txt)https://gitlab.xiph.org/xiph/vorbis/-/issues/2343Accessing elements outside of array boundaries2021-06-06T17:28:26ZdokutokuAccessing elements outside of array boundarieshttps://gitlab.xiph.org/xiph/vorbis/-/blob/4ba8efed8797016a85e57bc3cc7975bb31d65db5/lib/psy.c#L340
I think it is better to modify this line of code as the following code.
Otherwise, there is a danger of accessing outside the range of th...https://gitlab.xiph.org/xiph/vorbis/-/blob/4ba8efed8797016a85e57bc3cc7975bb31d65db5/lib/psy.c#L340
I think it is better to modify this line of code as the following code.
Otherwise, there is a danger of accessing outside the range of the array in line 347.
```c
if(halfoc>=P_BANDS-2)halfoc=P_BANDS-2;
```https://gitlab.xiph.org/xiph/opus-tools/-/issues/2316opusenc adds distortion-causing playback gain when encoding flac with replayg...2021-06-24T05:19:55ZeverettSFopusenc adds distortion-causing playback gain when encoding flac with replaygain tagsI could not find a solution to this after some searching. Basically, I have a collection of flac files that I convert to opus to save space on my phone. After the conversion they are incredibly distorted. It only happens to the flac f...I could not find a solution to this after some searching. Basically, I have a collection of flac files that I convert to opus to save space on my phone. After the conversion they are incredibly distorted. It only happens to the flac files that already have replaygain tags on them - opusenc on flac files that have no tags don't get a playback gain added.
[01_-_In_Between_Days.flac](/uploads/aadf88e78b382a326910df1b342e5909/01_-_In_Between_Days.flac)[01_-_In_Between_Days.opus](/uploads/c24f9e9da285a058d2850b8cb47c40a8/01_-_In_Between_Days.opus)
I use the "loudgain" utility and its included script, "rgbpm", to add the tags to my files.
I couldn't find a way to remove the gain tag, so my solution has been to use ogg/vorbis instead, which works great, but it would be nice to be able to use opus for this application. Thanks for any help, let me know if I'm missing something.https://gitlab.xiph.org/xiph/opus/-/issues/2358Excessive noise generated by CELT PLC2021-06-24T16:30:44ZFrancis QuiersExcessive noise generated by CELT PLCWe recently came across a situation where bursty loss resulted in relatively loud noise in output of the Opus decoder.
The previous frames (before the gap) were all encoded as CELT, and since the gap was more than 5 frames, the noise-ba...We recently came across a situation where bursty loss resulted in relatively loud noise in output of the Opus decoder.
The previous frames (before the gap) were all encoded as CELT, and since the gap was more than 5 frames, the noise-based CELT PLC eventually got triggered (because of [this piece of logic](https://gitlab.xiph.org/xiph/opus/-/blob/v1.3.1/celt/celt_decoder.c#L531)), and this is when the noise starts.
The problem can be reproduced using the following branch, which is based on tag v1.3.1, plus an extra option in `opus_demo` in order to be able to feed a stream that does not include the "final range" check, but only each packet's length (or 0 for a lost packet) followed by the opus data:
https://gitlab.xiph.org/cisquiers/opus/-/tree/opus_demo_support_for_decoding_external_streams
The commands to run are the following:
```
./autogen.sh
./configure --enable-fixed-point
make
./opus_demo -d 48000 1 -external_stream stream.opus output.pcm
```
Input stream:
[stream.opus](/uploads/92e308f2c6374561db59e63ee5e967e8/stream.opus)
Output raw audio (mono, 16-bit, little-endian, 48kHz):
[output.pcm](/uploads/28f3afc3cf62f57df76f0c951f2feb82/output.pcm)
Note that I tried to reproduce the problem by starting from raw audio (either using silence, or a small negative DC as what the stream decodes to prior to the gap) and encoding it using `opus_demo`, but I wasn't unable to do so.
Unfortunately I don't have access to the original raw audio, or the source code for the client that generated this stream.
I cannot actually guarantee that the encoder that was used was a vanilla Opus release, without any custom modification that could perhaps have generated this (perhaps slightly unusual?) bitstream (particularly the DC offset). However, since the bitstream appears to be valid, perhaps the CELT decoder should still not generate such a noise in output in this case.https://gitlab.xiph.org/xiph/libao/-/issues/2321libao's OS X stutters on closing audio2021-07-22T17:22:11ZGonzalo Garramunolibao's OS X stutters on closing audioThe MacOSX plugin in libao results in stutter (crackles) when closing the audio.The MacOSX plugin in libao results in stutter (crackles) when closing the audio.https://gitlab.xiph.org/xiph/rnnoise/-/issues/5Windows building2021-07-23T21:32:44ZKristianWindows buildingHello fellas.
I'm trying to compile this on Windows without much luck so far. I'd like to be able to compile and use this library without MinGW mess.Hello fellas.
I'm trying to compile this on Windows without much luck so far. I'd like to be able to compile and use this library without MinGW mess.https://gitlab.xiph.org/xiph/icecast-server/-/issues/2369Allow for master list to contain authentication credentials (when consumed by...2021-07-26T16:00:10ZThomas B. RückerAllow for master list to contain authentication credentials (when consumed by relay client)Extension of functionality merged as part of #1878
Add handling of auth credentials as part of URL.Extension of functionality merged as part of #1878
Add handling of auth credentials as part of URL.Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/ezstream/-/issues/2272Stream Description staying as Unspecified description2021-08-01T15:28:33ZcinderblockgamesStream Description staying as Unspecified descriptionI'm trying to make sure that icecast shows the right info before I set up connections to directories, but icecast keeps showing "Unspecified description" for my mount point even though I have the description provided in my ezstream.xml:
...I'm trying to make sure that icecast shows the right info before I set up connections to directories, but icecast keeps showing "Unspecified description" for my mount point even though I have the description provided in my ezstream.xml:
<svrinfoname>title</svrinfoname>
<svrinfourl>url</svrinfourl>
<svrinfogenre>genre</svrinfogenre>
<svrinfodescription>description</svrinfodescription>
<svrinfopublic>1</svrinfopublic>
The other info (name, genre, url) show correctly on the mount point in icecast. Any idea why the description is not?
I'm using `infiniteproject/icecast` for icecast and `threesquared/ezstream` for ezstream. [docker containers]https://gitlab.xiph.org/xiph/ezstream/-/issues/2274Mountpoint drops and comes back when switching songs via script2021-08-06T20:25:20ZcinderblockgamesMountpoint drops and comes back when switching songs via scriptI'm using
<filename>/ezstream/play-next.sh</filename>
<playlist_program>1</playlist_program>
to take control of the media that gets played, so I can add in stingers and whatever else. The issue, however, is that the mount poin...I'm using
<filename>/ezstream/play-next.sh</filename>
<playlist_program>1</playlist_program>
to take control of the media that gets played, so I can add in stingers and whatever else. The issue, however, is that the mount point drops when switching to the next file. Is there a way to keep this open so that clients don't get dropped and have to reconnect on every changeover?https://gitlab.xiph.org/xiph/rnnoise/-/issues/7using RNNoise in browser2021-08-09T07:44:17ZVishal dhullusing RNNoise in browserhi,i saw the browser implementation of RNNoise,i am curious to know how is this python model is being used in JS ? and where we are initializing it's weight in JS files ?
Thank youhi,i saw the browser implementation of RNNoise,i am curious to know how is this python model is being used in JS ? and where we are initializing it's weight in JS files ?
Thank youhttps://gitlab.xiph.org/xiph/daala/-/issues/1Issue with reading y4m2021-08-13T21:05:23ZJoshua Peter EbenezerIssue with reading y4my4m_input.c in daala/tools has an error in reading the headers of y4m files. Line 565 reads the header for 80 characters or until "\n" is reached:
/*Read until newline, or 80 cols, whichever happens first.*/
for(i=0;i<79;i++)
The pr...y4m_input.c in daala/tools has an error in reading the headers of y4m files. Line 565 reads the header for 80 characters or until "\n" is reached:
/*Read until newline, or 80 cols, whichever happens first.*/
for(i=0;i<79;i++)
The problem is that there is no reason why a y4m header should be less than 80 characters (afaik). I have a y4m file with a long header (more than 80 characters). A quick fix would be increasing this limit to 256.
char buffer[256];
int ret;
int i;
int xstride;
/*Read until newline, or 256 cols, whichever happens first.*/
for(i=0;i<255;i++){
ret=fread(buffer+i,1,1,_fin);
if(ret<1)return -1;
if(buffer[i]=='\n')break;
}
See https://github.com/Netflix/vmaf/issues/889 and https://github.com/Netflix/vmaf/pull/890.https://gitlab.xiph.org/xiph/ogg/-/issues/2302cwd autogen broken2021-08-17T08:18:26Zcjhih456cwd autogen brokenHello. I was using ogg install with my program.
So I was install with cwd child process.
But this error has been come.
```
configure.ac:5: installing './compile'
configure.ac:5: installing './config.guess'
configure.ac:5: installing './...Hello. I was using ogg install with my program.
So I was install with cwd child process.
But this error has been come.
```
configure.ac:5: installing './compile'
configure.ac:5: installing './config.guess'
configure.ac:5: installing './config.sub'
configure.ac:9: installing './install-sh'
configure.ac:5: error: required file './ltmain.sh' not found
configure.ac:9: installing './missing'
src/Makefile.am: installing './depcomp'
autoreconf: automake failed with exit status: 1
```
My project's informations.
- langauge: Nodejs
- child process function : exec
- os: Ubuntu 20.04.2 LTS (GNU/Linux 5.8.0-53-generic x86_64)
succeed pc
- langauge: Nodejs
- child process function : exec
- os: Ubuntu 20.04.2 LTS (GNU/Linux 5.8.0-50-generic x86_64)