Xiph.Org issueshttps://gitlab.xiph.org/groups/xiph/-/issues2019-06-30T10:52:33Zhttps://gitlab.xiph.org/xiph/icecast-common/-/issues/5There should be a generic IO layer2019-06-30T10:52:33ZPhilipp SchafftThere should be a generic IO layerThere should be a generic IO layer for files/sockets/.... It should also be used for the logging support.There should be a generic IO layer for files/sockets/.... It should also be used for the logging support.Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2310libshout connects to the same port for ICY data and metadata connections2020-10-21T08:50:27ZPhilipp Schafftlibshout connects to the same port for ICY data and metadata connectionslibshout does the port increment for ICY data connections unconditionally and therefore also for metadata connections.
This is part of the multi-topic ticket #2308.libshout does the port increment for ICY data connections unconditionally and therefore also for metadata connections.
This is part of the multi-topic ticket #2308.Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2309libshout's connection state maschine does not honor connection specific block...2020-10-21T08:50:27ZPhilipp Schafftlibshout's connection state maschine does not honor connection specific blocking settingCurrently libshout's connection state machine overrides it's own blocking setting in `shout_connection_connect()`:
```c
shout_connection_set_nonblocking(con, shout_get_nonblocking(shout));
```
Using the setting from the parent objec...Currently libshout's connection state machine overrides it's own blocking setting in `shout_connection_connect()`:
```c
shout_connection_set_nonblocking(con, shout_get_nonblocking(shout));
```
Using the setting from the parent object should only be the default if no specific value was set.
See also: #2308Philipp SchafftPhilipp Schafft2019-06-28https://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2308Source clients experience issues with 2.4.2 and latest release 2.4.32020-02-17T20:23:01ZThomas B. RückerSource clients experience issues with 2.4.2 and latest release 2.4.3Migrated from GitHub: https://github.com/xiph/Icecast-libshout/issues/14
Users report random "hangs" and being unable to connect. We need a better understanding of what goes wrong on a technical level.Migrated from GitHub: https://github.com/xiph/Icecast-libshout/issues/14
Users report random "hangs" and being unable to connect. We need a better understanding of what goes wrong on a technical level.Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2307Missing libssl when linking statically2019-05-22T09:06:43ZJörg KrauseMissing libssl when linking staticallyStatic linking userspace programs such as mpd against libshout
currently doesn't work out of the box, because libshout is linked
against libssl, but this isn't expressed in libshouts pkg-config
file:
```
/usr/lib/libshout.a(tls.o): In f...Static linking userspace programs such as mpd against libshout
currently doesn't work out of the box, because libshout is linked
against libssl, but this isn't expressed in libshouts pkg-config
file:
```
/usr/lib/libshout.a(tls.o): In function `tls_check_cert':
tls.c:(.text+0x10): undefined reference to `SSL_get_peer_certificate'
tls.c:(.text+0x24): undefined reference to `SSL_get_verify_result'
tls.c:(.text+0x4c): undefined reference to `X509_get_subject_name'
tls.c:(.text+0x60): undefined reference to `X509_NAME_get_text_by_NID'
tls.c:(.text+0x118): undefined reference to `X509_NAME_get_entry'
tls.c:(.text+0x11c): undefined reference to `X509_NAME_ENTRY_get_data'
tls.c:(.text+0x120): undefined reference to `ASN1_STRING_length'
tls.c:(.text+0x148): undefined reference to `X509_free'
tls.c:(.text+0x178): undefined reference to `X509_NAME_get_index_by_NID'
```
Since OpenSSL installs its own .pc files, make sure that @SHOUT_REQUIRES@
contains `libssl`.
This issue is fixed by:
``` diff
diff --git a/configure.ac b/configure.ac
index 85f18ad..2b9c505 100644
--- a/configure.ac
+++ b/configure.ac
@@ -197,6 +197,10 @@ XIPH_PATH_OPENSSL([
])
AC_SUBST([SHOUT_TLS])
AM_CONDITIONAL([HAVE_TLS], [test -n "$OPENSSL_LIBS"])
+if test "$SHOUT_TLS" = "1"
+then
+ SHOUT_REQUIRES="$SHOUT_REQUIRES, libssl"
+fi
SHOUT_VERSION="$VERSION"
SHOUT_CPPFLAGS="-I$shout_includedir $VORBIS_CFLAGS $PTHREAD_CPPFLAGS"
--
2.9.3
```Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2376AAC HTML5 audio player in Chrome do not go to fallback2020-02-14T12:54:11ZMichelAAC HTML5 audio player in Chrome do not go to fallbackHi,
We have setup a test stream using Icecast 2.4.4 and use 2 mountpoint on AAC.
And use a simple HTML5 player for testing:
```
<audio controls preload="none">
<source src="https://streamdnsname/aac" type="audio/mp4" />
</audio>
```
T...Hi,
We have setup a test stream using Icecast 2.4.4 and use 2 mountpoint on AAC.
And use a simple HTML5 player for testing:
```
<audio controls preload="none">
<source src="https://streamdnsname/aac" type="audio/mp4" />
</audio>
```
This is a part of our Icecast config.
```
<mount>
<mount-name>/aac</mount-name>
<password>xxxxxxx</password>
<public>1</public>
<hidden>0</hidden>
<fallback-mount>/fk-aac</fallback-mount>
<fallback-override>1</fallback-override>
<max-listeners>1500</max-listeners>
</mount>
<mount>
<mount-name>/fk-aac</mount-name>
<password>xxxxxxx</password>
<public>1</public>
<hidden>1</hidden>
<fallback-mount>/aac.aac</fallback-mount>
<fallback-override>1</fallback-override>
<max-listeners>1500</max-listeners>
</mount>
```
We kick or stop the /aac mountpoint and the html5 player stop playing.
When we listen to a Winamp player and we kick the /aac it works fine we hear the /fk-aac.
We use on both mountpoints exact the same encoder (Sam Cast)
CODEC aacPlus 96kb/s (12,0 Kbytes/s) Samplerate 44.1 kHz Stereo
We using Chrome 74.0.3729.131 (Officiële build) (64-bits) on Win7.
When i test the same html5 player on Firefox it works fine. We use Firefox 66.0.4
For Chrome HTML player problem we see in Icecast (error log):
[2019-05-10 11:50:40] WARN format/format_get_type Unsupported or legacy stream type: "audio/aacp". Falling back to generic minimal handler for best effort.
Look like html5 player on chrome and Icecast using AAC do not work fine.
I already try some other things to use http (not https) or ip address in html5 player code. Other AAC setting for both mountpoints and use html5 player on diffrent PC and chrome.
But it not a specific problem on one PC.
I hope there is solution, many listener using the Chrome browser in portals (its my default browser)https://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2306[PATCH] Fix build failure due to incorrect include ordering2020-10-21T08:50:27ZJoshua Root[PATCH] Fix build failure due to incorrect include orderingCommit 627da3d8 made an incorrect change: INCLUDES should have been changed to AM_CPPFLAGS rather than its contents being moved to AM_CFLAGS. Putting preprocessor flags in AM_CFLAGS results in them being passed in the wrong order relativ...Commit 627da3d8 made an incorrect change: INCLUDES should have been changed to AM_CPPFLAGS rather than its contents being moved to AM_CFLAGS. Putting preprocessor flags in AM_CFLAGS results in them being passed in the wrong order relative to CPPFLAGS, which results in build failure when a previous version of libshout is installed and its headers are in the same place as those of its dependencies.
Downstream bug: https://trac.macports.org/ticket/58466
[Makefile.am.patch](/uploads/bf297f2da070f02f791e49f0800e6205/Makefile.am.patch)Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2374Double quote in user agent causes malfomed log file2019-07-28T07:50:31ZNeil PalmerDouble quote in user agent causes malfomed log fileSome devices include a double quote character in their user agent.
The icecast log file quotes the user agent field, but does not escape any quotes inside of this, causing an invalid format.
Example:
> "Mozilla/5.0 (Linux; Android 5....Some devices include a double quote character in their user agent.
The icecast log file quotes the user agent field, but does not escape any quotes inside of this, causing an invalid format.
Example:
> "Mozilla/5.0 (Linux; Android 5.1; Alba 8" Build/LMY47I) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.91 Safari/537.36"https://gitlab.xiph.org/xiph/speex/-/issues/2039fixed-point-debug fails to build2020-07-23T15:12:53ZTristan Matthewsfixed-point-debug fails to build```
./autogen.sh && ./configure --enable-fixe-point-debug && make V=99
# some time later...
/bin/bash ../libtool --tag=CC --mode=link gcc -g -O2 -fvisibility=hidden -Wall -no-undefined -version-info 6:1:5 -o libspeex.la -rpath /us...```
./autogen.sh && ./configure --enable-fixe-point-debug && make V=99
# some time later...
/bin/bash ../libtool --tag=CC --mode=link gcc -g -O2 -fvisibility=hidden -Wall -no-undefined -version-info 6:1:5 -o libspeex.la -rpath /usr/local/lib cb_search.lo exc_10_32_table.lo exc_8_128_table.lo filters.lo gain_table.lo hexc_table.lo high_lsp_tables.lo lsp.lo ltp.lo speex.lo stereo.lo vbr.lo vq.lo bits.lo exc_10_16_table.lo exc_20_32_table.lo exc_5_256_table.lo exc_5_64_table.lo gain_table_lbr.lo hexc_10_32_table.lo lpc.lo lsp_tables_nb.lo modes.lo modes_wb.lo nb_celp.lo quant_lsp.lo sb_celp.lo speex_callbacks.lo speex_header.lo window.lo -lm
libtool: link: gcc -shared -fPIC -DPIC .libs/cb_search.o .libs/exc_10_32_table.o .libs/exc_8_128_table.o .libs/filters.o .libs/gain_table.o .libs/hexc_table.o .libs/high_lsp_tables.o .libs/lsp.o .libs/ltp.o .libs/speex.o .libs/stereo.o .libs/vbr.o .libs/vq.o .libs/bits.o .libs/exc_10_16_table.o .libs/exc_20_32_table.o .libs/exc_5_256_table.o .libs/exc_5_64_table.o .libs/gain_table_lbr.o .libs/hexc_10_32_table.o .libs/lpc.o .libs/lsp_tables_nb.o .libs/modes.o .libs/modes_wb.o .libs/nb_celp.o .libs/quant_lsp.o .libs/sb_celp.o .libs/speex_callbacks.o .libs/speex_header.o .libs/window.o -lm -g -O2 -Wl,-soname -Wl,libspeex.so.1 -o .libs/libspeex.so.1.5.1
libtool: link: (cd ".libs" && rm -f "libspeex.so.1" && ln -s "libspeex.so.1.5.1" "libspeex.so.1")
libtool: link: (cd ".libs" && rm -f "libspeex.so" && ln -s "libspeex.so.1.5.1" "libspeex.so")
libtool: link: ar cru .libs/libspeex.a cb_search.o exc_10_32_table.o exc_8_128_table.o filters.o gain_table.o hexc_table.o high_lsp_tables.o lsp.o ltp.o speex.o stereo.o vbr.o vq.o bits.o exc_10_16_table.o exc_20_32_table.o exc_5_256_table.o exc_5_64_table.o gain_table_lbr.o hexc_10_32_table.o lpc.o lsp_tables_nb.o modes.o modes_wb.o nb_celp.o quant_lsp.o sb_celp.o speex_callbacks.o speex_header.o window.o
ar: `u' modifier ignored since `D' is the default (see `U')
libtool: link: ranlib .libs/libspeex.a
libtool: link: ( cd ".libs" && rm -f "libspeex.la" && ln -s "../libspeex.la" "libspeex.la" )
gcc -DHAVE_CONFIG_H -I. -I.. -I../include -I../include/speex -I.. -g -O2 -fvisibility=hidden -Wall -MT testenc.o -MD -MP -MF .deps/testenc.Tpo -c -o testenc.o testenc.c
testenc.c: In function ‘main’:
testenc.c:83:7: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
fread(in_short, sizeof(short), FRAME_SIZE, fin);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mv -f .deps/testenc.Tpo .deps/testenc.Po
/bin/bash ../libtool --tag=CC --mode=link gcc -g -O2 -fvisibility=hidden -Wall -o testenc testenc.o libspeex.la -lm
libtool: link: gcc -g -O2 -fvisibility=hidden -Wall -o .libs/testenc testenc.o ./.libs/libspeex.so -lm
testenc.o: In function `main':
/home/tmatth/speex/libspeex/testenc.c:136: undefined reference to `spx_mips'
collect2: error: ld returned 1 exit status
Makefile:510: recipe for target 'testenc' failed
make[2]: *** [testenc] Error 1
make[2]: Leaving directory '/home/tmatth/speex/libspeex'
Makefile:508: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/tmatth/speex'
Makefile:394: recipe for target 'all' failed
make: *** [all] Error 2
```
Other info:
```
~/speex/libspeex$ nm testenc.o
U exit
U fclose
U feof
U fopen
U __fprintf_chk
U fread
U fwrite
U _GLOBAL_OFFSET_TABLE_
0000000000000000 r .LC1
0000000000000044 r .LC10
0000000000000000 r .LC2
0000000000000003 r .LC3
0000000000000007 r .LC4
000000000000000a r .LC5
0000000000000000 r .LC6
0000000000000000 r .LC7
0000000000000027 r .LC8
0000000000000008 r .LC9
U log10
0000000000000000 T main
U __printf_chk
U rewind
U speex_bits_destroy
U speex_bits_init
U speex_bits_reset
U speex_bits_rewind
U speex_bits_write
U speex_decode_int
U speex_decoder_ctl
U speex_decoder_destroy
U speex_decoder_init
U speex_encode_int
U speex_encoder_ctl
U speex_encoder_destroy
U speex_encoder_init
U speex_nb_mode
U speex_std_char_handler
U speex_std_mode_request_handler
U spx_mips
U __stack_chk_fail
U stderr
```
and
```
nm .libs/libspeex.so
U acos@@GLIBC_2.2.5
0000000000014fe0 r attenuation
0000000000218120 B __bss_start
0000000000004420 t bw_lpc
U calloc@@GLIBC_2.2.5
0000000000014800 r cdbk_nb
0000000000014440 r cdbk_nb_high1
0000000000014300 r cdbk_nb_high2
00000000000146c0 r cdbk_nb_low1
0000000000014580 r cdbk_nb_low2
0000000000218120 b completed.7696
00000000000049a0 t compute_impulse_response
000000000000dbb0 t compute_quant_weights
0000000000004700 t compute_rms
0000000000004780 t compute_rms16
0000000000002840 t compute_weighted_codebook.isra.0
w __cxa_finalize@@GLIBC_2.2.5
0000000000002760 t deregister_tm_clones
00000000000027f0 t __do_global_dtors_aux
00000000002173f8 t __do_global_dtors_aux_fini_array_entry
0000000000218118 d __dso_handle
0000000000217d98 d _DYNAMIC
0000000000218120 D _edata
0000000000218130 B _end
0000000000013280 r e_ratio_quant
0000000000013270 r e_ratio_quant_bounds
00000000000137c0 r exc_10_16_table
0000000000012120 r exc_10_32_table
0000000000013860 r exc_20_32_table
0000000000013ae0 r exc_5_256_table
0000000000013fe0 r exc_5_64_table
0000000000012260 r exc_8_128_table
0000000000015008 r exc_gain_quant_scal1
0000000000015010 r exc_gain_quant_scal1_bound
0000000000015020 r exc_gain_quant_scal3
0000000000015040 r exc_gain_quant_scal3_bound
U exit@@GLIBC_2.2.5
U exp@@GLIBC_2.2.5
0000000000004160 t filter_mem16
0000000000003fb0 t filter_mem16_10
00000000000040c0 t filter_mem16_8
00000000000120b8 T _fini
0000000000004400 t fir_mem16
00000000000042d0 t fir_mem16_10
0000000000004390 t fir_mem16_8
00000000000155a0 r fold_quant_bound
00000000000077d0 t forced_pitch_quant
0000000000007990 t forced_pitch_unquant
U __fprintf_chk@@GLIBC_2.3.4
U fputc@@GLIBC_2.2.5
0000000000002830 t frame_dummy
00000000002173f0 t __frame_dummy_init_array_entry
0000000000017378 r __FRAME_END__
U free@@GLIBC_2.2.5
0000000000014120 r gain_cdbk_lbr
0000000000012720 r gain_cdbk_nb
0000000000015620 r gc_quant_bound
0000000000218000 d _GLOBAL_OFFSET_TABLE_
w __gmon_start__
0000000000015a6c r __GNU_EH_FRAME_HDR
00000000000154a0 r h0
00000000000141a0 r hexc_10_32_table
0000000000012920 r hexc_table
0000000000012f20 r high_lsp_cdbk
0000000000012d20 r high_lsp_cdbk2
00000000000044b0 t highpass
00000000000042b0 t iir_mem16
0000000000004180 t iir_mem16_10
0000000000004240 t iir_mem16_8
00000000000024e0 T _init
0000000000005dd0 t inner_prod
0000000000003d80 t interp_pitch.constprop.0
w _ITM_deregisterTMCloneTable
w _ITM_registerTMCloneTable
0000000000015a40 r lag_window
U log@@GLIBC_2.2.5
0000000000005500 t lpc_to_lsp
0000000000015720 r lpc_window
0000000000005cc0 t lsp_interpolate
000000000000dd20 t lsp_quant.constprop.1
000000000000e6f0 t lsp_quant_high
000000000000e2f0 t lsp_quant_lbr
000000000000dde0 t lsp_quant_nb
0000000000005a50 t lsp_to_lpc
000000000000e950 t lsp_unquant_high
000000000000e580 t lsp_unquant_lbr
000000000000e0b0 t lsp_unquant_nb
000000000000dc60 t lsp_weight_quant.constprop.0
0000000000217910 d ltp_params_lbr
0000000000217900 d ltp_params_med
0000000000217930 d ltp_params_nb
0000000000217920 d ltp_params_vlbr
U memcpy@@GLIBC_2.14
U memmove@@GLIBC_2.2.5
U memset@@GLIBC_2.2.5
0000000000005110 t multicomb
000000000000c760 t nb_decode
000000000000c3d0 t nb_decoder_ctl
000000000000c3c0 t nb_decoder_destroy
000000000000c290 t nb_decoder_init
000000000000a770 t nb_encode
000000000000a0f0 t nb_encoder_ctl
000000000000a0d0 t nb_encoder_destroy
0000000000009f60 t nb_encoder_init
0000000000217400 d nb_mode
0000000000007cc0 t nb_mode_query
00000000002177e0 d nb_submode1
0000000000217720 d nb_submode2
00000000002176c0 d nb_submode3
0000000000217660 d nb_submode4
0000000000217600 d nb_submode5
00000000002175a0 d nb_submode6
0000000000217540 d nb_submode7
0000000000217780 d nb_submode8
0000000000003c50 t noise_codebook_quant
0000000000003d10 t noise_codebook_unquant
0000000000006000 t open_loop_nbest_pitch
00000000000065a0 t pitch_search_3tap
0000000000007450 t pitch_unquant_3tap
0000000000005e40 t pitch_xcorr
U pow@@GLIBC_2.2.5
0000000000004b60 t qmf_decomp
0000000000004dc0 t qmf_synth
U realloc@@GLIBC_2.2.5
00000000000027a0 t register_tm_clones
00000000000048a0 t residue_percep_zero16
0000000000004460 t sanitize_values32
0000000000011190 t sb_decode
000000000000eab0 t sb_decode_lost
0000000000010d30 t sb_decoder_ctl
0000000000010cd0 t sb_decoder_destroy
0000000000010b10 t sb_decoder_init
000000000000f810 t sb_encode
000000000000ef90 t sb_encoder_ctl
000000000000ef10 t sb_encoder_destroy
000000000000ec40 t sb_encoder_init
00000000002179a0 d sb_uwb_mode
0000000000217ae0 d sb_wb_mode
00000000000094f0 t scal_quant
0000000000009530 t scal_quant32
0000000000012660 r shift_filt
00000000000046c0 t signal_div
0000000000004680 t signal_mul
0000000000009b70 T speex_bits_advance
0000000000009560 T speex_bits_destroy
00000000000095a0 T speex_bits_init
00000000000095e0 T speex_bits_init_buffer
0000000000009bf0 T speex_bits_insert_terminator
0000000000009be0 T speex_bits_nbytes
00000000000098d0 T speex_bits_pack
0000000000009b30 T speex_bits_peek
0000000000009ab0 T speex_bits_peek_unsigned
0000000000009610 T speex_bits_read_from
0000000000009710 T speex_bits_read_whole_bytes
0000000000009bb0 T speex_bits_remaining
0000000000009580 T speex_bits_reset
0000000000009600 T speex_bits_rewind
0000000000009540 T speex_bits_set_bit_buffer
0000000000009a90 T speex_bits_unpack_signed
00000000000099f0 T speex_bits_unpack_unsigned
0000000000009c40 T speex_bits_write
0000000000009860 T speex_bits_write_whole_bytes
0000000000007a80 T speex_decode
0000000000007b60 T speex_decode_int
0000000000007a60 t speex_decode_native
0000000000007b50 T speex_decoder_ctl
0000000000007a40 T speex_decoder_destroy
0000000000007a20 T speex_decoder_init
00000000000082f0 T speex_decode_stereo
0000000000008470 T speex_decode_stereo_int
0000000000011de0 T speex_default_user_handler
0000000000007a70 T speex_encode
0000000000007aa0 T speex_encode_int
0000000000007a50 t speex_encode_native
0000000000007a90 T speex_encoder_ctl
0000000000007a30 T speex_encoder_destroy
0000000000007a10 T speex_encoder_init
0000000000007e50 T speex_encode_stereo
0000000000008060 T speex_encode_stereo_int
0000000000002720 t _speex_fatal.constprop.0
00000000000120b0 T speex_header_free
0000000000011f40 T speex_header_to_packet
0000000000011ae0 T speex_inband_handler
0000000000011e10 T speex_init_header
0000000000007d50 T speex_lib_ctl
0000000000009f40 T speex_lib_get_mode
0000000000217d80 D speex_mode_list
0000000000009ea0 T speex_mode_query
00000000002174e0 D speex_nb_mode
0000000000011fa0 T speex_packet_to_header
0000000000011dc0 T speex_std_char_handler
0000000000011cf0 T speex_std_enh_request_handler
0000000000011c30 T speex_std_high_mode_request_handler
0000000000011bd0 T speex_std_low_mode_request_handler
0000000000011b70 T speex_std_mode_request_handler
00000000000085f0 T speex_std_stereo_request_handler
0000000000011d50 T speex_std_vbr_quality_request_handler
0000000000011c90 T speex_std_vbr_request_handler
0000000000007e40 T speex_stereo_state_destroy
0000000000007e20 T speex_stereo_state_init
0000000000007df0 T speex_stereo_state_reset
0000000000217940 D speex_uwb_mode
0000000000217a80 D speex_wb_mode
0000000000217d60 d split_cb_high
0000000000217d40 d split_cb_high_lbr
0000000000217880 d split_cb_nb
00000000002178a0 d split_cb_nb_lbr
0000000000217860 d split_cb_nb_med
00000000002178c0 d split_cb_nb_ulbr
00000000002178e0 d split_cb_nb_vlbr
0000000000217840 d split_cb_sb
0000000000002ac0 t split_cb_search_shape_sign
0000000000003aa0 t split_cb_shape_sign_unquant
0000000000009df0 t _spx_autocorr
0000000000009cc0 t _spx_lpc
0000000000218128 b spx_mips
U sqrtf@@GLIBC_2.2.5
U sqrt@@GLIBC_2.2.5
U __stack_chk_fail@@GLIBC_2.4
U stderr@@GLIBC_2.2.5
0000000000004790 t syn_percep_zero16
0000000000218120 d __TMC_END__
00000000000086f0 t vbr_analysis
0000000000009100 t vbr_destroy
0000000000013320 r vbr_hb_thresh
0000000000008690 t vbr_init
0000000000013400 r vbr_nb_thresh
00000000000132c0 r vbr_uhb_thresh
0000000000009110 t vq_nbest
00000000000092d0 t vq_nbest_sign
0000000000009eb0 t wb_mode_query
0000000000014fc0 r wb_skip_table
0000000000217ce0 d wb_submode1
0000000000217c80 d wb_submode2
0000000000217c20 d wb_submode3
0000000000217bc0 d wb_submode4
```https://gitlab.xiph.org/xiph/icecast-server/-/issues/2373Incorrect status code2020-10-15T16:20:55ZPhilipp SchafftIncorrect status codeIn case of 'mountpoint will not accept URL updates' and other admin errors Icecast might send incorrect HTTP status headers.
This happens at least in branch ph3-mdoule-client-tests.In case of 'mountpoint will not accept URL updates' and other admin errors Icecast might send incorrect HTTP status headers.
This happens at least in branch ph3-mdoule-client-tests.Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/icecast-server/-/issues/2372Icecast 'locks up' on SIGHUP if there are duplicate listener-sockets in the c...2020-10-10T10:13:32ZThomas B. RückerIcecast 'locks up' on SIGHUP if there are duplicate listener-sockets in the configAs reported by 'szett' on IRC.
Excerp of the offending config file:
<listen-socket>
<port>8000</port>
<!-- <bind-address>127.0.0.1</bind-address> -->
<!-- <shoutcast-mount>/stream</shoutcast-mount> -->
</li...As reported by 'szett' on IRC.
Excerp of the offending config file:
<listen-socket>
<port>8000</port>
<!-- <bind-address>127.0.0.1</bind-address> -->
<!-- <shoutcast-mount>/stream</shoutcast-mount> -->
</listen-socket>
<!-- SOCKET FOR SOURCES -->
<listen-socket>
<port>8000</port>
<!-- <bind-address>127.0.0.1</bind-address> -->
<!-- <shoutcast-mount>/stream</shoutcast-mount> -->
</listen-socket>Philipp SchafftPhilipp Schaffthttps://gitlab.xiph.org/xiph/vorbis-tools/-/issues/2324vorbis-tools release?2021-01-13T06:16:09ZVladimír Čunátvorbis-tools release?Hi! The last vorbis-tools release is from 2010, and there have been multiple important fixes since then (like c1059cd1e). It's not too difficult to make a new release from some suitable commit, right?Hi! The last vorbis-tools release is from 2010, and there have been multiple important fixes since then (like c1059cd1e). It's not too difficult to make a new release from some suitable commit, right?Philipp SchafftPhilipp Schafft2020-12-19https://gitlab.xiph.org/xiph/ogg/-/issues/2297framing.c: overflow on left shift2019-03-06T21:34:00ZTristan Matthewsframing.c: overflow on left shiftThere's a regression since commit bc82844df068429d209e909da47b1f730b53b689:
```framing.c:239:19: runtime error: left shift of 211 by 24 places cannot be represented in type 'int'```
I found this while generating the corpus for speex wit...There's a regression since commit bc82844df068429d209e909da47b1f730b53b689:
```framing.c:239:19: runtime error: left shift of 211 by 24 places cannot be represented in type 'int'```
I found this while generating the corpus for speex with oss-fuzz:
```
git clone git@github.com:tmatth/oss-fuzz.git
cd oss-fuzz
python infra/helper.py build_image speex
python infra/helper.py build_fuzzers --sanitizer undefined speex
```https://gitlab.xiph.org/xiph/ogg/-/issues/2296docs for ogg_stream_state have wrong type on `pageno` field2019-08-13T15:58:40ZSpencer Russelldocs for ogg_stream_state have wrong type on `pageno` fieldIn the [header file](https://gitlab.xiph.org/xiph/ogg/blob/0acd32d7cabf7e41cc29ea7c2bbffde969ff1ba0/include/ogg/ogg.h#L76) the `pageno` field is a `long`, but in the [docs](https://gitlab.xiph.org/xiph/ogg/blob/0acd32d7cabf7e41cc29ea7c2b...In the [header file](https://gitlab.xiph.org/xiph/ogg/blob/0acd32d7cabf7e41cc29ea7c2bbffde969ff1ba0/include/ogg/ogg.h#L76) the `pageno` field is a `long`, but in the [docs](https://gitlab.xiph.org/xiph/ogg/blob/0acd32d7cabf7e41cc29ea7c2bbffde969ff1ba0/doc/libogg/ogg_stream_state.html#L52) it is listed as an `int`.https://gitlab.xiph.org/xiph/vorbis/-/issues/2340divide by zero issue2020-06-11T04:25:08Zniugxdivide by zero issuethere is divide by zero issue when parameter word of ov_read_filter is 0 in vorbisfile.c file.
parameter word set by ov_read API, and user can set any value to word.
long ov_read_filter(OggVorbis_File *vf,char *buffer,int length,
.....there is divide by zero issue when parameter word of ov_read_filter is 0 in vorbisfile.c file.
parameter word set by ov_read API, and user can set any value to word.
long ov_read_filter(OggVorbis_File *vf,char *buffer,int length,
...
if(samples>0){
/* yay! proceed to pack data into the byte buffer */
long channels=ov_info(vf,-1)->channels;
long bytespersample=word * channels;
vorbis_fpu_control fpu;
// bytespersample is 0 when parameter word is 0, then divide by zero.
if(samples>length/bytespersample)samples=length/bytespersample;
POC:
modify parameter word of line 67 of vorbisfile_example.c to 0, like following:
long ret=ov_read(&vf,pcmout,sizeof(pcmout),0,0,1,¤t_section);
compile vorbisfile_example and run like this :
cat xxxx.ogg | .libs/vorbisfile_example
floating point exception occured.
If you indentify this issue as a vulnerability, please provide me with following information:
1.the affected versions.
2.patch
3.please assign a CVE-ID, discoverer is Guoxiang Niu, EaglEye Team
thank youhttps://gitlab.xiph.org/xiph/opus/-/issues/2319Opusenc produces broken samples (wrong quantization) with 24-bit source2020-08-09T16:44:10ZstevenleleOpusenc produces broken samples (wrong quantization) with 24-bit source# Original Issue
I was encoding a specific sample of music (24 bits, 48 kHz) with `opusenc` in `opus-tools 0.2 (Opus 1.3)` and noticed a significant artifact in the beginning.
**More description:** You can hear the artifact within 00:01...# Original Issue
I was encoding a specific sample of music (24 bits, 48 kHz) with `opusenc` in `opus-tools 0.2 (Opus 1.3)` and noticed a significant artifact in the beginning.
**More description:** You can hear the artifact within 00:01. It's a broken "boom"-like sound.
Check the image below. The waveform graph has significant changes.
![comparison](/uploads/0d3ce65baebb985497f03086d09e4708/comparison.png)
This is how I encoded:
```
>opusenc sample.flac --bitrate 256 sample.opus
Encoding using libopus 1.3 (audio)
-----------------------------------------------------
Input: 48 kHz, 2 channels
Output: 2 channels (2 coupled)
20ms packets, 256 kbit/s VBR
Preskip: 312
Encoding complete
-----------------------------------------------------
Encoded: 1 minute and 31.1 seconds
Runtime: 1 second
(91.1x realtime)
Wrote: 2993392 bytes, 4555 packets, 94 pages
Bitrate: 261.351 kbit/s (without overhead)
Instant rates: 1.2 to 510.4 kbit/s
(3 to 1276 bytes per packet)
Overhead: 0.576% (container+metadata)
```
# Update
I tried using `FFmpeg` to convert the original file into 16 bits (original is 24 bits).
```
>ffmpeg -i sample.wav -f wav -c pcm_s16le sample_16bit.wav
```
Then I encoded again with the same settings.
```
>opusenc sample_16bit.wav --bitrate 256 sample_16bit.opus
Skipping chunk of type "LIST", length 26
Encoding using libopus 1.3 (audio)
-----------------------------------------------------
Input: 48 kHz, 2 channels
Output: 2 channels (2 coupled)
20ms packets, 256 kbit/s VBR
Preskip: 312
Encoding complete
-----------------------------------------------------
Encoded: 1 minute and 31.1 seconds
Runtime: 1 second
(91.1x realtime)
Wrote: 2990541 bytes, 4555 packets, 94 pages
Bitrate: 261.103 kbit/s (without overhead)
Instant rates: 1.2 to 510.4 kbit/s
(3 to 1276 bytes per packet)
Overhead: 0.576% (container+metadata)
```
The result turned out to be good.
Check the image below. The waveform graph has **no** significant changes now.
![comparison_2](/uploads/119ac4dce2ed78c692075e8d90315457/comparison_2.png)
So there may be issue in quantization of 24-bit (or high bit depth?) samples.
# Sample Download
The updated sample files are [here](https://www.mediafire.com/file/jiat0cn2cjccu2y/sample_new.7z/file).
All source samples are converted to FLAC files for better compression.
The 16-bit sample is converted from the 24-bit one; the 24-bit one is the original, not padded.https://gitlab.xiph.org/xiph/icecast-server/-/issues/2370Url events don't work when an "action" option is configured2019-02-02T04:30:49Zspr0cketeerUrl events don't work when an "action" option is configured```
<event-bindings>
<event type="url" trigger="source-connect">
...
...
<option name="action" value="mount_add" />
```
Bug is in event_url.c:event_get_url()
https://gitlab.xiph.org/xiph/icecast-server/blob/master/s...```
<event-bindings>
<event type="url" trigger="source-connect">
...
...
<option name="action" value="mount_add" />
```
Bug is in event_url.c:event_get_url()
https://gitlab.xiph.org/xiph/icecast-server/blob/master/src/event_url.c#L134
Should be `free(self->action)` not `free(self->url)`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/vorbis/-/issues/2339Remove C++ comments2019-01-28T23:00:38ZHenry BentRemove C++ commentsThere are the following c++ style comments which should not be in plain c files:
-lib/res0.c (lines 33 and 34)
-lib/sharedbook.c (lines 53 and 305)There are the following c++ style comments which should not be in plain c files:
-lib/res0.c (lines 33 and 34)
-lib/sharedbook.c (lines 53 and 305)https://gitlab.xiph.org/xiph/icecast-server/-/issues/2368Sending of fallback files is not rate limited2018-12-18T23:49:04ZBo AndersonSending of fallback files is not rate limitedCurrently (2.4.2 Linux), fallback files are sent at an uncapped rate which could be potentially several times faster than the playback bitrate. This causes `fallback-override` to be very ineffective. Because we are sending the files fast...Currently (2.4.2 Linux), fallback files are sent at an uncapped rate which could be potentially several times faster than the playback bitrate. This causes `fallback-override` to be very ineffective. Because we are sending the files faster than the client plays it back, its buffer gets fuller and fuller until it reaches its limit of what is potentially several minutes or hours worth of fallback file audio to play. When the client is moved back to the original mountpoint, they have to wait until they've played all of this extra fallback audio before reaching the live stream again which at that point will be very delayed compared to the the incoming stream.
Instead, the fallback files should be rate limited so that it only sends at most its playback bitrate every second. It may well be this bitrate has to be given in the form of a setting, but I feel this is an important issue to fix regardless.
---
(Migrated from https://github.com/xiph/Icecast-Server/issues/28)