rafael2k / darkice

DarkIce is a live audio streamer. It records audio from an audio interface (e.g. sound card), encodes it and sends it to a streaming server. This is the official development repository of Darkice.
http://www.darkice.org
198 stars 46 forks source link

No longer works with legacy SHOUTCast DNAS 1.9.8 #137

Open alexolivan opened 6 years ago

alexolivan commented 6 years ago

Hi. Maybe I'm wrong, because it's very strange nobody mentions it but... streaming towards legacy SHOUTCast 1.9.8 doesn't work to me. I had to go back to an old darkice-1.2 .deb I builded years ago, since no SHOUTcast support is a no-go for me.

The problem is, according to DNAS 1.9.8 server logs/output, wrong passord. So, the very same config file that works on 1.2, simply fails on 1.3 This issue is also present on packaged 1.3 darkice and darkice-full distributed on Debian and debian-Multimedia (probably everything Debian based!!!) I finally compiled it myself, just to be sure, prior to report on something so severe

My config is no DNAS2.x like, no mountpoint, and no passsword:#streamid .... just password. Testing but, against a DNAS2.x, with no mountpoint (single stream legacy 'mode') fails too ... I have not tested DNAS2.x with mountpoints... if DNAS1.9.x fails, no need going further.

If support for classic SHOUTcast 1.9.x and SHOUTCast 2.x with no mountpoints is planned to be dropped, then I think it would be good to update docs and maybe change [shoutcast-x] to [shoutcast2-x] syntax on config file. If it is going to be retained, due to the acute differences between 1.9.x and 2.x versions of SHOUTCast, I think that having independent configuration blocks [shoutcast-x] / [shoutcast2-x] would ease setup and prevent confussion.

Best regards

alexolivan commented 6 years ago

Got it somehow patched... I mean, I make it to work again with SHOUTCast DNAS1.9.8

Problem is long ago... on commit 710d2c26c4f9518d2f382673bf8b1829b9bdac3d

Modifications at Darkice.cpp, related to configShoutCast , this made DNAS 1.9.8 stop working. On the current HEAD, I was also unable to work with DNAS2

So I have reverted just the involved code fragments on HEAD, and build again. Absolutely no new code on my own. So far, DNAS 1.9.8 works again along with DNAS v2 (no mountpoint on my tests)

My C++ is horrible ... but the code is quite nice and even me I'm reading it good... I guess that Shoutcast support code should have to be splited it two, since like Icecast/Icecast2 both have key differences. A nice point is that DNAS1.9.X (like Icecast) is not changing... I guess an experienced programmer would do it very easily

Now I'm studying the code section on Icecast2 related to AAC+ .... since both DNAS1.9.x and DNAS2.X support AAC+ (I know this for sure) ... probably an experienced programmer in C++ would do it very easily

Regards.