Ezstream issueshttps://gitlab.xiph.org/xiph/ezstream/-/issues2023-06-19T03:08:48Zhttps://gitlab.xiph.org/xiph/ezstream/-/issues/2286metadata not working for MP32023-06-19T03:08:48Zտիգրանmetadata not working for MP3My configs:
```
<metadata>
<format_str>@t@ - @a@ - @T@</format_str>
<refresh_interval>-1</refresh_interval>
<normalize_strings>Yes</normalize_strings>
<no_updates>Yes</no_updates>
</metadata>
```
```
<decoders>
...My configs:
```
<metadata>
<format_str>@t@ - @a@ - @T@</format_str>
<refresh_interval>-1</refresh_interval>
<normalize_strings>Yes</normalize_strings>
<no_updates>Yes</no_updates>
</metadata>
```
```
<decoders>
<decoder>
<name>MadPlay</name>
<program>madplay -b 16 -R 44100 -S -o raw:- @T@</program>
<file_ext>.mp3</file_ext>
</decoder>
</decoders>
<encoders>
<encoder>
<encoder>
<name>Lame-CBR128</name>
<format>MP3</format>
<program>lame --preset cbr 128 -r -s 44.1 --tt @t@ --ta @a@ --bitwidth 16 - -</program>
</encoder>
</encoders>
```
`--tt @t@ --ta @a@` added by me but doesn't helphttps://gitlab.xiph.org/xiph/ezstream/-/issues/2273Specify listenurl?2023-01-20T00:08:55ZcinderblockgamesSpecify listenurl?Is there a way to specify the full listenurl for a mountpoint, either in icecast or in ezstream? My listenurl is coming out as `http://<hostname>:8000/<mount-point>`, but it's not accessible externally at that URL; how can I turn it int...Is there a way to specify the full listenurl for a mountpoint, either in icecast or in ezstream? My listenurl is coming out as `http://<hostname>:8000/<mount-point>`, but it's not accessible externally at that URL; how can I turn it into `https://<public-hostname>/<public-mountpoint>`?
I'm using `infiniteproject/icecast` for icecast and `threesquared/ezstream` for ezstream. \[docker containers\]https://gitlab.xiph.org/xiph/ezstream/-/issues/2283Accept relative paths to m3u inside m3u2023-01-19T22:52:57ZDan SanfordAccept relative paths to m3u inside m3uIf I have m3u in the same folder as mp3s then it should be enough to give filenames without paths inside m3u, when I reference m3u outside the folder.
```
playlist.m3u (containing only: file.mp3)
file.mp3
```If I have m3u in the same folder as mp3s then it should be enough to give filenames without paths inside m3u, when I reference m3u outside the folder.
```
playlist.m3u (containing only: file.mp3)
file.mp3
```Moritz GrimmMoritz Grimmhttps://gitlab.xiph.org/xiph/ezstream/-/issues/2271Fatal error when trying to stream with ezstream 1.0.2 in MP3 format2022-10-01T15:48:16ZRoland HermansFatal error when trying to stream with ezstream 1.0.2 in MP3 formatCreating a stream in MP3 format using ezstream 1.0.2 and libshout 2.4.5 fails with following error:
```
$ ezstream -c test_mp3.conf
ezstream[420774]: stream: default: format: MP3: This libshout doesn't support the requested option
```
...Creating a stream in MP3 format using ezstream 1.0.2 and libshout 2.4.5 fails with following error:
```
$ ezstream -c test_mp3.conf
ezstream[420774]: stream: default: format: MP3: This libshout doesn't support the requested option
```
The issue here is that in _stream_cfg_stream an invalid usage value of 0 is passed to shout_set_content_format. This call was introduced in commit 8d882cac. Attached patch [ezstream-1.0.2.patch](/uploads/ba768fa1349c65b60affd496cf4282ed/ezstream-1.0.2.patch) resolves the error. Note that the other calls to shout_set_content_format for different formats may need to be changed too.
Test case configuration file: [test_mp3.conf](/uploads/5bad2b01484c967182bcefb7cda990b5/test_mp3.conf).Moritz GrimmMoritz Grimmhttps://gitlab.xiph.org/xiph/ezstream/-/issues/2275FreeBSD compilation2022-08-21T06:45:59ZLászló KárolyiFreeBSD compilationHey,
I tried to contact people on IRC (libera/#xiph) but haven't gotten a timely response so I'm creating an issue here.
I'm trying to compile ezstream for freebsd and after having problems with it, found a way to compile it. I'm not a...Hey,
I tried to contact people on IRC (libera/#xiph) but haven't gotten a timely response so I'm creating an issue here.
I'm trying to compile ezstream for freebsd and after having problems with it, found a way to compile it. I'm not a C coder, nor do I know the toolchain around the code so some advice would be nice here.
The problem was, the code failed to link with iconv because the `-liconv` was missing from `src/Makefile`. I managed to add it to `src/Makefile.am` so it compiled after a `configure` run. Here's a diff for it:
```diff
diff --git a/src/Makefile.am b/src/Makefile.am
index 66f4361..630a944 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -41,7 +41,7 @@ libezstream_la_SOURCES = \
libezstream_la_DEPENDENCIES = \
$(builddir)/libcommon.la \
$(top_builddir)/compat/libcompat.la
-libezstream_la_LIBADD = @EZ_LIBS@ \
+libezstream_la_LIBADD = @EZ_LIBS@ -liconv \
$(libezstream_la_DEPENDENCIES)
bin_SCRIPTS = ezstream-file.sh
@@ -55,7 +55,7 @@ ezstream_cfgmigrate_SOURCES = ezstream-cfgmigrate.c ezconfig0.c
ezstream_cfgmigrate_DEPENDENCIES = \
$(builddir)/libcommon.la \
$(top_builddir)/compat/libcompat.la
-ezstream_cfgmigrate_LDADD = @EZ_LIBS@ \
+ezstream_cfgmigrate_LDADD = @EZ_LIBS@ -liconv \
$(ezstream_cfgmigrate_DEPENDENCIES)
AM_CPPFLAGS = @EZ_CPPFLAGS@ -I$(top_srcdir)/compat
```
I tried to track down the `EZ_LIBS` in configure but got lost and I have no idea as to how to pass it from there so configure would put in src/Makefile, instead of me having to modify `src/Makefile.am`.
Any help is appreciated.László KárolyiLászló Károlyihttps://gitlab.xiph.org/xiph/ezstream/-/issues/2276Allow reproducible builds, don't hardcode `date` call2022-08-20T23:29:32ZUnit 193Allow reproducible builds, don't hardcode `date` callHowdy,
In order to support reproducible builds, please use `$SOURCE_DATE_EPOCH` if available, falling back to `date` if not. Patch below.
Thanks!
```
Description: Replace hardcoded call to `date` with $SOURCE_DATE_EPOCH
Author: Chris...Howdy,
In order to support reproducible builds, please use `$SOURCE_DATE_EPOCH` if available, falling back to `date` if not. Patch below.
Thanks!
```
Description: Replace hardcoded call to `date` with $SOURCE_DATE_EPOCH
Author: Chris Lamb <lamby@debian.org>
--- a/configure.ac 2016-07-15 10:07:54.491161698 +0200
+++ b/configure.ac 2016-07-15 10:10:13.216666017 +0200
@@ -17,7 +17,7 @@
AC_PROG_FGREP
AC_CANONICAL_HOST
-BUILD_DATE=$(date '+%B %d, %Y')
+BUILD_DATE=$(LC_ALL=C date --utc --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" '+%B %d, %Y')
AC_SUBST([BUILD_DATE])
EXAMPLES_DIR="\$(datadir)/examples/${PACKAGE_TARNAME}"
```Moritz GrimmMoritz Grimmhttps://gitlab.xiph.org/xiph/ezstream/-/issues/2267Make fails with undefined references in function "_stream_cfg_tls"2022-08-20T02:55:19ZChris WoodsMake fails with undefined references in function "_stream_cfg_tls"Attempting to compile ezstream from either the latest master or develop branch on CentOS 7, with libshout 2.4.3 (compiled from source) and other packages like libtag from repo. Autoconf and configure are happy, however every time make fa...Attempting to compile ezstream from either the latest master or develop branch on CentOS 7, with libshout 2.4.3 (compiled from source) and other packages like libtag from repo. Autoconf and configure are happy, however every time make fails on TLS checks:
```
./.libs/libezstream.a(stream.o): In function `_stream_cfg_tls':
./installers/ezstream-develop/src/stream.c:134: undefined reference to `shout_set_tls'
./installers/ezstream-develop/src/stream.c:146: undefined reference to `shout_set_ca_directory'
./installers/ezstream-develop/src/stream.c:160: undefined reference to `shout_set_ca_file'
./installers/ezstream-develop/src/stream.c:174: undefined reference to `shout_set_client_certificate'
./installers/ezstream-develop/src/stream.c:183: undefined reference to `shout_set_allowed_ciphers'
```
OpenSSL 1.0.2k-fips installed, again from repo.Moritz GrimmMoritz Grimmhttps://gitlab.xiph.org/xiph/ezstream/-/issues/2268libtag_c not recognized2022-08-20T02:49:50ZDigitalBox98libtag_c not recognizedAll dependencies were installed :
sudo apt-get install libshout3-dev libxml2-dev libtag1-dev libshout3-dev libvorbis-dev libogg-dev check libtag-extras-dev libtagc0-dev
However when launching configure, the libtag_c error below is raise...All dependencies were installed :
sudo apt-get install libshout3-dev libxml2-dev libtag1-dev libshout3-dev libvorbis-dev libogg-dev check libtag-extras-dev libtagc0-dev
However when launching configure, the libtag_c error below is raised :
./configure
checking tag_c.h usability... yes
checking tag_c.h presence... yes
checking for tag_c.h... yes
checking if libtag_c works... no
checking if libtag_c works with -ltag -lstdc++ -lz... no
checking for libtag_c... no
configure: error: libtag_c is missingMoritz GrimmMoritz Grimmhttps://gitlab.xiph.org/xiph/ezstream/-/issues/2270<sys/random.h> requires <sys/types.h> on OS/X2022-08-20T02:49:16ZMitchell Blank<sys/random.h> requires <sys/types.h> on OS/XOn recent OS/X environments, playlist.c fails to compile because of problems with including `<sys/random.h>` before `<sys/types.h>`:
```
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/i...On recent OS/X environments, playlist.c fails to compile because of problems with including `<sys/random.h>` before `<sys/types.h>`:
```
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/random.h:37:30: error: unknown type name 'size_t'; did you mean 'time_t'?
int getentropy(void* buffer, size_t size);
```
I'm not the first to hit this problem; it looks like MacPorts patched it locally about 9 months ago:
https://raw.githubusercontent.com/macports/macports-ports/fa36881/audio/ezstream/files/sys-types.patch
I can verify that their fix works on my MacOS 11 environment.Moritz GrimmMoritz Grimmhttps://gitlab.xiph.org/xiph/ezstream/-/issues/2277Gapless playback2022-08-20T02:24:32ZY NGapless playbackOn server I use ezstream and icecast.
As client a browser.
If too much silence between tracks client stops playing.
It would be nice to implement gapless playback feature to avoid this.
CheersOn server I use ezstream and icecast.
As client a browser.
If too much silence between tracks client stops playing.
It would be nice to implement gapless playback feature to avoid this.
CheersMoritz GrimmMoritz Grimmhttps://gitlab.xiph.org/xiph/ezstream/-/issues/2278Allow to stream replaygain metadata2022-08-20T02:18:39ZY NAllow to stream replaygain metadataIn order to have equal volume of tracks it would be nice if ezstream could stream replaygain metadata.
replaygain tags are created with
`mp3gain 01-Contaminated.mp3`
the tags are read and applied by
`mpg123 --rva-radio 01-Contaminate...In order to have equal volume of tracks it would be nice if ezstream could stream replaygain metadata.
replaygain tags are created with
`mp3gain 01-Contaminated.mp3`
the tags are read and applied by
`mpg123 --rva-radio 01-Contaminated.mp3`
When however the tracks are streamed via ezstream / icecast the following client setting doesnt correct the volume because the replaygain tags are not streamed
`mpg123 --rva-radio http://icecastserver:8000/mystream`Moritz GrimmMoritz Grimmhttps://gitlab.xiph.org/xiph/ezstream/-/issues/2280Can't install from source2022-08-20T02:11:25ZDan SanfordCan't install from sourcegit clone --depth 1 https://gitlab.xiph.org/xiph/ezstream.git
cd ezstream/
; based on readme.md
./configure
-bash: ./configure: No such file or directory
there is configure.ac but readme doesn't say anything about it.git clone --depth 1 https://gitlab.xiph.org/xiph/ezstream.git
cd ezstream/
; based on readme.md
./configure
-bash: ./configure: No such file or directory
there is configure.ac but readme doesn't say anything about it.Moritz GrimmMoritz Grimmhttps://gitlab.xiph.org/xiph/ezstream/-/issues/2281Standard --version flag is not supported2022-08-20T01:58:53ZDan SanfordStandard --version flag is not supportedMoritz GrimmMoritz Grimmhttps://gitlab.xiph.org/xiph/ezstream/-/issues/2282Give better error msg when xml config file is invalid.2022-08-20T01:52:48ZDan SanfordGive better error msg when xml config file is invalid.Especially since config file format changed.
passing the old format (that most tutorials on ezstream use) gives a not really useful remark (not even error):
```
<ezstream>
<url>http://localhost:8000/goodmusic</url>
<sourcepassw...Especially since config file format changed.
passing the old format (that most tutorials on ezstream use) gives a not really useful remark (not even error):
```
<ezstream>
<url>http://localhost:8000/goodmusic</url>
<sourcepassword>make-up-your-own</sourcepassword>
<format>MP3</format>
<filename>/mnt/music/goodmusic/playlist.m3u</filename>
<shuffle>1</shuffle>
<stream_once>0</stream_once>
<svrinfoname>Good Music</svrinfoname>
<svrinfourl>pihole.local</svrinfourl>
<svrinfogenre>Good Music Streaming 24x7</svrinfogenre>
<svrinfodescription>Techno Dub</svrinfodescription>
<svrinfobitrate>128</svrinfobitrate>
<svrinfochannels>2</svrinfochannels>
<svrinfosamplerate>44100</svrinfosamplerate>
<svrinfopublic>1</svrinfopublic>
</ezstream>
~$ ezstream -c test.xml
ezstream[313100]: test.xml: world readable
ezstream[313100]: stream: default: no configuration
```
No idea what to do next, wasted half a day on this.Moritz GrimmMoritz Grimmhttps://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/2208ezstream crashes if format element is missing2020-01-29T20:29:06ZPetr Pisarezstream crashes if format element is missingI got a report <https://bugzilla.redhat.com/show_bug.cgi?id=1244481> that ezstream crashes if mandatory format element is missing in the configuration file.
According to development ezstream sources, the configuration parser was rewritt...I got a report <https://bugzilla.redhat.com/show_bug.cgi?id=1244481> that ezstream crashes if mandatory format element is missing in the configuration file.
According to development ezstream sources, the configuration parser was rewritten and does not suffer from this problem.
Nevertheless, fix for 0.6.0 version is attached.Moritz GrimmMoritz Grimmhttps://gitlab.xiph.org/xiph/ezstream/-/issues/2266ezstream mp3 playback no artist tag2020-01-28T23:42:03Zdaslichtezstream mp3 playback no artist tagHi,
I have the following config:
```
<ezstream>
<url>http://localhost:8000/example1.ogg</url>
<sourcepassword>***</sourcepassword>
<format>MP3</format>
<filename>mp3.m3u</filename>
<!-- Once done streaming playlist....Hi,
I have the following config:
```
<ezstream>
<url>http://localhost:8000/example1.ogg</url>
<sourcepassword>***</sourcepassword>
<format>MP3</format>
<filename>mp3.m3u</filename>
<!-- Once done streaming playlist.m3u, exit: -->
<stream_once>0</stream_once>
<svrinfoname>MY RADIO</svrinfoname>
<svrinfourl></svrinfourl>
<svrinfogenre>Electronic</svrinfogenre>
<svrinfodescription>mp3test</svrinfodescription>
<svrinfobitrate>128</svrinfobitrate>
<svrinfochannels>2</svrinfochannels>
<svrinfosamplerate>44100</svrinfosamplerate>
<svrinfopublic>0</svrinfopublic>
</ezstream>
```
The Files in the m3u list contain the Titel and Artist tag.
However only the Title tag is shown in icecasts stats.
Is that by intention or a bug ?
Moritz GrimmMoritz Grimmhttps://gitlab.xiph.org/xiph/ezstream/-/issues/1223URL support for ezstream2017-08-03T06:12:53Zbrandon.casciURL support for ezstreamIt would be wonderful if ezstream could work with audio files from a url, remote or local, in addition to local files. This way you could stream files from anyplace, like a remote file store with http access.
It would be wonderful if ezstream could work with audio files from a url, remote or local, in addition to local files. This way you could stream files from anyplace, like a remote file store with http access.
Moritz GrimmMoritz Grimmhttps://gitlab.xiph.org/xiph/ezstream/-/issues/1225ezstream 0.4.0 do not send ID3 tags to icecast2 v2.3.12017-08-03T06:12:53Zmatpocezstream 0.4.0 do not send ID3 tags to icecast2 v2.3.1Here is the post from http://icecast.imux.net/viewtopic.php?t=3246
I compiled ezstream 0.4.0 on FreeBSD and surprised that it do not send ID3 tags to icecast2 v2.3.1. I tried both variants with and without taglib. ezstream streams a pla...Here is the post from http://icecast.imux.net/viewtopic.php?t=3246
I compiled ezstream 0.4.0 on FreeBSD and surprised that it do not send ID3 tags to icecast2 v2.3.1. I tried both variants with and without taglib. ezstream streams a playlist that contains only MP3 files without reencoding, config based on example ezstream_mp3.xml.
Old ezstream 0.2.1 normally sends ID3 tags to icecast2 2.3.1.
I run ezstream in verbose mode - ezstream reading tags from mp3 files:
```
> ezstream -vv -c /usr/local/etc/ezstream.xml
ezstream: Connected to http://localhost:8000/radio
ezstream: Streaming ``Some Artist - Goodnight Tonight '' (file: /mnt/mp3/foreign/Rock/Some Artist/Gold singles collection/track_15.mp3)
```
Another notice - ezstream do not strip extra spaces from ID3 tag.
There is 2 acknowledgments of this bug at the forum thread.Moritz GrimmMoritz Grimmhttps://gitlab.xiph.org/xiph/ezstream/-/issues/1227ezstream enhancement: crossfade between tracks2017-08-03T06:12:52Zmatpocezstream enhancement: crossfade between tracksCould you please add option to crossfade between tracks (such as in ices)? And could it possible to crossfade without reencoding (ices requires reencoding).Could you please add option to crossfade between tracks (such as in ices)? And could it possible to crossfade without reencoding (ices requires reencoding).Moritz GrimmMoritz Grimm