ICQ, AIM and MSN fields missing in shoutcast properties

Bug #724225 reported by RAFFI TEA
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Wishlist
Paweł Goliński

Bug Description

I am closely working with a radio station to convince them using Mixxx rather than expensive commercial products. They have identified a weakness in our current shoutcast support: Mixxx does not provide AIM, ICQ and MSN messenger fields in shoutcast preferences.

Why is it important?
Shoutcast --- but also Icecast -- does not provide multi-user management. All the moderators must stream with same username (='admin') and a shared password. However, the moderators are free in specifying their messenger identities. These identities may play a crucial rule, for example, they are often used on the radio's website to display the person who is currently streaming.

How to implement?
Libshout2 does not support streaming AIM, ICQ,and MSN metadata natively. There's no function that allows setting these information. I have analyzed libshout and think it is rather simple to realize. I would like to create a fork of libshout2 called mixxxshout to reflect the requirements of radio stations.

Any concerns?

Tags: broadcast easy
RAFFI TEA (raffitea)
Changed in mixxx:
importance: Undecided → Wishlist
status: New → Confirmed
description: updated
RAFFI TEA (raffitea)
summary: - No possibility to specify ICQ, AIM in shoutcast properties
+ ICQ, AIM and MSN fields missing in shoutcast properties
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Hmm, yea I had heard about this from someone on IRC. They were applying their own patch to Shoutcast to do this. I think we could easily take that patch and use it -- the downside being that we have to build and include shoutcast ourselves on Ubuntu.

Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :

And what's wrong with submitting that patch upstream? Have those fields default to null values if not specified.

Revision history for this message
RAFFI TEA (raffitea) wrote :

To be precise, the patch will relate to libshout2. As fas as I can tell you, the patch is rather simple.

Just add the following functions to the implementation in shout.c and shout.h:

int shout_set_aim(shout_t *self, const char *url);
int shout_set_icq(shout_t *self, const char *url);

Furthermore, extend the struct 'shout' in shout_private.h to include the fields for aim, icq and so on.
Finally, replace line 1291 in shout.c.

That's all I think. Note that messenger fields are only applicable for shoutcast, i.e., the ICY protocol.

Unfortunately, RJ has right. We'll need to maintain our own repository. The icecast project does not seem to be very active. The latest version of libshout2 is around 5 to 6 years old.

Revision history for this message
Albert Santoni (gamegod) wrote :

I just heard from another user who was requesting this feature.

Note that there's also a bug in libshout 2.2.2 (latest) in the code that sends the current blank icy-aim (etc) lines:

shout.c:
  if (queue_str(self, "icy-irc:\nicy-aim:\nicy-icq:\n"))
   break;

http://svn.xiph.org/icecast/trunk/libshout/src/shout.c
Those are supposed to be separated by \r\n, not just \n. If they had called queue_str() three times separately, I think those line endings would be added by queue_str(). This is something that will get fixed when we implement this properly.

Ref:
http://forums.winamp.com/archive/index.php/t-278436.html

Revision history for this message
RAFFI TEA (raffitea) wrote :

You are so right Albert. That's why I think it's an easy fix. But do we really want to maintain our own customized libshout? Maybe static linking would make sense, so Mixxx does not require other dependencies if someone wants to compile Mixxx. What do you think?

RJ Skerry-Ryan (rryan)
tags: added: shoutcast
Revision history for this message
Daniel James (daniel-64studio) wrote :

Just to clarify, Icecast does support multiple users, you can create as many authenticated mount points as you need. See the documentation here:

http://www.icecast.org/docs/icecast-2.3.2/icecast2_config_file.html#mount

Icecast is a very active project, see https://github.com/karlheyes/icecast-kh where the last commit was three days ago.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

ph3-der-loewe is working on adding this metadata support to libshout

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Tobias and anyone else listening to this bug. Can we get testers who are willing to try out a new version of libshout? I don't have any software that uses this metadata (irc/aim/msn/etc). Once libshout has this then adding it to Mixxx will be easy.

Revision history for this message
Sky Ranger (skyranger1) wrote :

There are several years past, how far is this project?

i need this, RAFFI TEA already clarified the reasons for that in his comments to this bug, so i have to use the icq-field to submit my username for the station.

Is there a working fix for Mixxx2.1?

Revision history for this message
Daniel Schürmann (daschuer) wrote :

It looks like this is done since 2015-11-20 and v2.4.0

https://github.com/xiph/Icecast-libshout/commit/56607922420e1cd2fd09309f53f2833844f0ee4c

Which is part of the new Ubuntu LTS landed today:
https://packages.ubuntu.com/bionic/libshout3

So it is time to finally fix this Bug!

Changed in mixxx:
milestone: none → 2.2.0
Revision history for this message
Sky Ranger (skyranger1) wrote :

You are wrong.
Mixxx doesnt have 2.4.0.
Its on 2.1.x.
Its not a question of OS, its a question of implementation for irc, icq and aim fields in config for mixxx.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Yes right. I meant it is done in libshout, so we are able to fix this bug in Mixxx.
Do you have interest to adopt this?

tags: added: easy
Be (be.ing)
Changed in mixxx:
milestone: 2.2.0 → none
Revision history for this message
Paweł Goliński (golpaw1) wrote :

Just submitted pull request for it - https://github.com/mixxxdj/mixxx/pull/1731

Be (be.ing)
Changed in mixxx:
status: Confirmed → In Progress
milestone: none → 2.3.0
assignee: nobody → Paweł Goliński (golpaw1)
Be (be.ing)
Changed in mixxx:
milestone: 2.3.0 → 2.2.0
Changed in mixxx:
status: In Progress → Fix Committed
RJ Skerry-Ryan (rryan)
tags: added: broadcast
removed: shoutcast
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/5789

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.