Mixxx not sending track metadata to shoutcast on Ubuntu
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Fix Released
|
High
|
Daniel Schürmann |
Bug Description
Operating system Ubuntu Linux 18.04.2
CPU architecture Intel i7-7700
Your video and sound hardware Asus 1060
Steps to reproduce the problem: Install fresh Ubuntu 18.04.2, compile 2.3 from git, configure shoutcast, connect, add track to deck and hit play.
Information logs: Log attached
I compiled 2.3.0-alpha-pre on a fresh Ubuntu install after reports from another DJ who us on 2.0.0 and 2.2.0 with the same problem:
Mixxx 2.3.0-alpha-pre is not sending track metadata to Shoutcast 2 servers.
The music plays fine.
An older of Mixxx on Windows send the metadata fine.
I can make a a port on my private shoutcast 2 server available to testers if needed.
Terry Belton (tezzy) wrote : | #1 |
Daniel Schürmann (daschuer) wrote : | #2 |
Daniel Schürmann (daschuer) wrote : | #3 |
I cannot see any suspicious entries in your logs.
Terry Belton (tezzy) wrote : | #4 |
Thanks for your replies.
I am very happy to help you fix this.
I will connect my working Mixxx 2.0.0 (on Windows) and log those for you.
I will build stock Xenial 16.04.5 and Bionic 18.04.2 test machines, install the official Ubuntu version of Mixxx and test and log Mixxx and Shoutcast.
A simple way to test if metadata is available, is to connect a web browser to the same host and port Mixxx uses. Look on the status tab for 'Playing Now: '. On a Shoutcast2 server, there is a html5 player. Shoutcast2 is not resource hungry. When needed, it can run standalone under screen. It needs 2 ports opened in the firewall.
Terry Belton (tezzy) wrote : | #5 |
My first test:
tez@U16045:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial
I did apt install mixxx from the Ubuntu repository.
tez@U16045:~$ mixxx --developer
Debug [Main]: Mixxx "2.0.0" "(git 1.12 r5772; flags: asan=0 asmlib=0 autodjcrates=1 buildtime=0 bulk=1 color=0 coreaudio=0 faad=0 ffmpeg=0 hid=1 hss1394=0 ipod=0 localecompare=1 macappstore=0 mad=1 mediafoundation=0 modplug=0 opengles=0 optimize=portable opus=1 perftools=0 perftools_
This works perfectly. Two items from the Shoutcast log:
2019-02-24 10:42:40 INFO [ADMINCGI sid=1] Title updated [ABBA - Take a Chance on Me]
2019-02-24 10:45:36 INFO [ADMINCGI sid=1] Title updated [ABBA - Voulez-Vous]
The only settings on Mixxx I changed were to add the Shoutcast server and headphones.
Daniel Schürmann (daschuer) wrote : | #6 |
Great. So please backup the ~/.mixxx folder and treat this as golden reference sample.
Is this still working?
sudo add-apt-repository ppa:mixxx/mixxx
Daniel Schürmann (daschuer) wrote : | #7 |
It is Mixxx 2.2.0 the first Qt5 build.
Terry Belton (tezzy) wrote : | #8 |
Test #2
tez@U16045:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial
Mixxx installed from the PPA.
tez@U16045:~$ mixxx --developer
..snip..
Debug [Main]: "Mixxx" "2.2.0" "(git 2.2 r6659; built on: Dec 24 2018 @ 16:58:42; flags: asan=0 asmlib=0 battery=1 buildtime=1 bulk=1 color=0 coreaudio=0 faad=0 ffmpeg=0 hid=1 hss1394=0 ipod=0 lilv=1 localecompare=1 macappstore=0 mad=1 mediafoundation=0 modplug=0 opengles=0 optimize=portable opus=1 perftools=0 perftools_
Shoutcast server logs:
2019-02-24 14:12:19 INFO [SRC 192.168.1.42:50497 sid=1] SHOUTcast 1 source connection starting.
2019-02-24 14:12:32 INFO [ADMINCGI sid=1] Title updated [ABBA - S.O.S]
2019-02-24 14:13:36 INFO [ADMINCGI sid=1] Title updated [ABBA - Take a Chance on Me]
2019-02-24 14:13:59 INFO [ADMINCGI sid=1] Title updated [ABBA - Voulez-Vous]
2019-02-24 14:14:30 DEBUG [SRC 192.168.1.42:50497 sid=1] Remote socket closed while waiting for data.
2019-02-24 14:14:30 INFO [SRC 192.168.1.42:50497 sid=1] SHOUTcast 1 source disconnected.
Everything works fine on 16.04
Daniel Schürmann (daschuer) wrote : | #9 |
So it is not a Qt5 issue, right?
Do you know of any version that is failing on Xenial?
Terry Belton (tezzy) wrote : | #10 |
I do not know of any version installed with apt failing on Xenal 16.04.
Everything behaved itself on my tests.
I have kept hard disk images.
I am now going to test 18.04 LTS bionic.
Terry Belton (tezzy) wrote : | #11 |
- .mixxx folder Ubuntu 18.04 stock install Edit (2.7 MiB, application/zip)
Test #3
tez@U18042:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
tez@U18042:~$ mixxx --developer
Debug [Main]: Mixxx "2.0.0" "(git 1.12 r5772; flags: asan=0 asmlib=0 autodjcrates=1 buildtime=0 bulk=1 color=0 coreaudio=0 faad=0 ffmpeg=0 hid=1 hss1394=0 ipod=0 localecompare=1 macappstore=0 mad=1 mediafoundation=0 modplug=0 opengles=0 optimize=portable opus=1 perftools=0 perftools_
No track metadata is being sent to Shoutcast.
I also tried setting the Prefences > Live Broadcasting > Enable custom metadata TRUE with text in the Artist and Title boxes > Apply > OK
There are no errors on the shoutcast logs. There are no errors on the Mixxx logs.
Terry Belton (tezzy) wrote : | #12 |
Shoutcast log:
tez@server:
2019-02-24 16:14:21 INFO *******
2019-02-24 16:14:21 INFO ** SHOUTcast Distributed Network Audio Server (DNAS) **
2019-02-24 16:14:21 INFO ** Copyright (C) 2014-2019 Radionomy SA, All Rights Reserved **
2019-02-24 16:14:21 INFO *******
2019-02-24 16:14:21 INFO [MAIN] SHOUTcast DNAS/posix(linux x64) v2.6.0.750 (Dec 7 2018)
2019-02-24 16:14:21 INFO [MAIN] PID: 27348
2019-02-24 16:14:21 INFO [MAIN] Saving log output to `/home/
2019-02-24 16:14:21 INFO [MAIN] Automatic log rotation interval: 1 day
2019-02-24 16:14:21 INFO [MAIN] Loaded config from `/home/
2019-02-24 16:14:21 INFO [MAIN] Calculated CPU count is 2 -> using all available CPUs
2019-02-24 16:14:21 INFO [MAIN] Limited to 1024 file descriptors [relates to ulimit -n]
2019-02-24 16:14:21 DEBUG ident is DIDCbe3701eb32e
2019-02-24 16:14:21 INFO [MAIN] Starting 2 network threads
2019-02-24 16:14:21 INFO [MICROSERVER] Listening for source and client connections on port 8000
2019-02-24 16:14:21 INFO [MICROSERVER] Listening for legacy source connections on port 8001
2019-02-24 16:14:21 INFO [MICROSERVER] Flash policy file server not enabled
2019-02-24 16:15:16 INFO [SRC 192.168.1.42:51103 sid=1] SHOUTcast 1 source connection starting.
My notes 2 tracks were played no metadata sent
2019-02-24 16:16:05 DEBUG [SRC 192.168.1.42:51103 sid=1] Remote socket closed while waiting for data.
2019-02-24 16:16:05 INFO [SRC 192.168.1.42:51103 sid=1] SHOUTcast 1 source disconnected.
^C2019-02-24 16:16:20 INFO [MAIN] Exiting threads...
2019-02-24 16:16:20 INFO [BANDWIDTH] Total: 766321, Sent: 20, Recv: 766301
2019-02-24 16:16:20 INFO [MAIN] Shutdown after 1 minute 59 seconds running
Daniel Schürmann (daschuer) wrote : | #13 |
Libshout has changed from 2.3.1 to 2.4.1 in bionic.
I have just tested to install the 2.3.1 version on bionic, but it fails.
I think we need to rebuild Mixxx in this case.
I have just skimmed to the shoutcast commit https:/
but there is nothing obvious fixed since 2.4.1
Daniel Schürmann (daschuer) wrote : | #14 |
I have prepared a testing PR with an internal libshout.
https:/
Unfortunately I still cannot reproduce the issue on Xenial now with libshout 2.4.1.
We hopefully can nail the issue down using this branch and additional debug messages.
Changed in mixxx: | |
status: | New → Confirmed |
importance: | Undecided → High |
Terry Belton (tezzy) wrote : | #15 |
I would like to help test the https:/
I have no experience compiling a pull from scratch. I am keen to learn.
Do I need some special permissions to access the files?
Daniel Schürmann (daschuer) wrote : | #16 |
If you have a git clone directory like described here:
https:/
You can bull the changes like this:
git pull https:/
If you like to become a contributor, (which would be great, because Mixxx could become a much better broadcasting tool. :-) )
You may also find this useful:
https:/
Terry Belton (tezzy) wrote : | #17 |
Thanks Daniel.
tez@U18042:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
tez@U18042:
Debug [Main]: "Mixxx" "2.3.0-alpha-pre" "(git 2.2 r6739; built on: Feb 28 2019 @ 13:48:58; flags: asan=0 battery=1 buildtime=1 bulk=1 color=0 coreaudio=0 faad=0 ffmpeg=0 hid=1 hss1394=0 lilv=1 localecompare=1 macappstore=0 mad=1 mediafoundation=0 modplug=0 opengles=0 optimize=native opus=1 perftools=0 perftools_
Debug [Main]: Compile time library versions:
Debug [Main]: Qt: 5.9.5
Debug [Main]: libshout: 2.4.1
No metadata is being sent to Shoutcast.
My tasks:
Perform a wireshark trace on working Mixxx and search HTTP POST and GET packets for the password. I know the track metadata follows password. Work out the syntax.
Use curl -v --header to inject legal packets to shoutcast.
I will look for a Mixxx flow chart. I will have a go at reading the source code. My thoughts are:
Repeat on working and broken machines:
Which module sends the metadata to libshout? How it does it? Exactly what it is sending?
Is libshout actually getting the metadata? How it does it? Exactly what is it looking for?
Find the mismatch!
Terry Belton (tezzy) wrote : | #18 |
A quick Wireshark capture from Mixxx 2.0.0 on Windows laptop:
Transmission Control Protocol, Src Port: 57725, Dst Port: 8000, Seq: 1, Ack: 1, Len: 163
Hypertext Transfer Protocol
GET /admin.
[Expert Info (Chat/Sequence): GET /admin.
Request Method: GET
Request URI: /admin.
Request URI Path: /admin.cgi
Request URI Query: mode=updinfo&
Request Version: HTTP/1.0
User-Agent: libshout/2.4.0 (Mozilla compatible)\r\n
\r\n
[HTTP request 1/1]
Daniel Schürmann (daschuer) wrote : | #19 |
Can charset=
be the issue?
What happens if you select utf8?
Daniel Schürmann (daschuer) wrote : | #20 |
I can prepare the branch, that it log the requested info.
Daniel Schürmann (daschuer) wrote : | #21 |
Does idjc send metadata, it is an Ubuntu package also based on libshout.
If it does, we can compare the Wireshark logs.
Terry Belton (tezzy) wrote : | #22 |
A quick wireshark capture from 16.04
Frame 762: 205 bytes on wire (1640 bits), 205 bytes captured (1640 bits) on interface 0
Ethernet II, Src: Giga-Byt_3a:59:0e (50:e5:
Internet Protocol Version 4, Src: 192.168.1.42, Dst: 192.168.1.50
Transmission Control Protocol, Src Port: 57778, Dst Port: 8000, Seq: 1, Ack: 1, Len: 151
Hypertext Transfer Protocol
GET /admin.
[Expert Info (Chat/Sequence): GET /admin.
Request Method: GET
Request URI: /admin.
Request URI Path: /admin.cgi
Request URI Query: mode=updinfo&
Request Version: HTTP/1.0
User-Agent: libshout/2.3.1 (Mozilla compatible)\r\n
\r\n
[HTTP request 1/1]
[Response in frame: 765]
Terry Belton (tezzy) wrote : | #23 |
Packet from 16.04 with UTF-8 turned off.
Frame 1076: 198 bytes on wire (1584 bits), 198 bytes captured (1584 bits) on interface 0
Ethernet II, Src: Giga-Byt_3a:59:0e (50:e5:
Internet Protocol Version 4, Src: 192.168.1.42, Dst: 192.168.1.50
Transmission Control Protocol, Src Port: 57801, Dst Port: 8000, Seq: 1, Ack: 1, Len: 144
Hypertext Transfer Protocol
GET /admin.
[Expert Info (Chat/Sequence): GET /admin.
Request Method: GET
Request URI: /admin.
Request URI Path: /admin.cgi
Request URI Query: mode=updinfo&
Request Version: HTTP/1.0
User-Agent: libshout/2.3.1 (Mozilla compatible)\r\n
\r\n
[HTTP request 1/1]
[Response in frame: 1079]
Terry Belton (tezzy) wrote : | #24 |
Last 2 16.04 captures were done with
Debug [Main]: "Mixxx" "2.2.0" "(git 2.2 r6659; built on: Dec 24 2018 @ 16:58:42; flags: asan=0 asmlib=0 battery=1 buildtime=1 bulk=1 color=0 coreaudio=0 faad=0 ffmpeg=0 hid=1 hss1394=0 ipod=0 lilv=1 localecompare=1 macappstore=0 mad=1 mediafoundation=0 modplug=0 opengles=0 optimize=portable opus=1 perftools=0 perftools_
Debug [Main]: Compile time library versions:
Debug [Main]: Qt: 5.5.1
Debug [Main]: libshout: 2.3.1
Terry Belton (tezzy) wrote : | #25 |
Here are the results of my idjc test on 16.04:
tez@U16045:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial
tez@U16045:~$ idjc -v
idjc 0.8.15
Wireshark capture:
Frame 2364: 189 bytes on wire (1512 bits), 189 bytes captured (1512 bits) on interface 0
Ethernet II, Src: Giga-Byt_3a:59:0e (50:e5:
Internet Protocol Version 4, Src: 192.168.1.42, Dst: 192.168.1.50
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
Total Length: 175
Identification: 0x6a86 (27270)
Flags: 0x4000, Don't fragment
Time to live: 128
Protocol: TCP (6)
Header checksum: 0x0000 [validation disabled]
[Header checksum status: Unverified]
Source: 192.168.1.42
Destination: 192.168.1.50
Transmission Control Protocol, Src Port: 58544, Dst Port: 8000, Seq: 1, Ack: 1, Len: 135
Source Port: 58544
Destination Port: 8000
[Stream index: 35]
[TCP Segment Len: 135]
Sequence number: 1 (relative sequence number)
[Next sequence number: 136 (relative sequence number)]
Acknowledgment number: 1 (relative ack number)
0101 .... = Header Length: 20 bytes (5)
Flags: 0x018 (PSH, ACK)
Window size value: 2053
[Calculated window size: 525568]
[Window size scaling factor: 256]
Checksum: 0x844e [unverified]
[Checksum Status: Unverified]
Urgent pointer: 0
[SEQ/ACK analysis]
[Timestamps]
TCP payload (135 bytes)
Hypertext Transfer Protocol
GET /admin.
[Expert Info (Chat/Sequence): GET /admin.
Request Method: GET
Request URI: /admin.
Request URI Path: /admin.cgi
Request URI Query: mode=updinfo&
Request Version: HTTP/1.0
User-Agent: libshout/2.3.1 (Mozilla compatible)\r\n
\r\n
[HTTP request 1/1]
[Response in frame: 2367]
Shoutcast log:
[ADMINCGI sid=1] Title updated [ABBA - Voulez-Vous]
2019-02-28 19:03:21 DEBUG [SRC 192.168.1.42:58006 sid=1] Remote socket closed while waiting for data.
2019-02-28 19:03:21 INFO [SRC 192.168.1.42:58006 sid=1] SHOUTcast 1 source disconnected.
Daniel Schürmann (daschuer) wrote : | #26 |
Is idjc working?
I have prepared a Mixxx version without charset= field.
https:/
Terry Belton (tezzy) wrote : | #27 |
Yes, idjc is working.
Ubuntu 16.04.6 LTS idjc 0.8.15
Successfully sent:
GET /admin.
and shoutcast logged:
[ADMINCGI sid=1] Title updated [ABBA - Voulez-Vous]
Daniel Schürmann (daschuer) wrote : | #28 |
Comparing the strings the empty charset might be actually the issue.
GET /admin.
GET /admin.
Does it make a difference if you enable utf8 in broadcasting profile setting?
Terry Belton (tezzy) wrote : | #29 |
All captures with Ubuntu 16.04 were correct and appear in specification.
Let me do some wireshark captures with Ubuntu 18.04.
Terry Belton (tezzy) wrote : | #30 |
tez@U18042:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
tez@U18042:~$ mixxx --developer
Debug [Main]: Mixxx "2.0.0" "(git 1.12 r5772; flags: asan=0 asmlib=0 autodjcrates=1 buildtime=0 bulk=1 color=0 coreaudio=0 faad=0 ffmpeg=0 hid=1 hss1394=0 ipod=0 localecompare=1 macappstore=0 mad=1 mediafoundation=0 modplug=0 opengles=0 optimize=portable opus=1 perftools=0 perftools_
No track metadata is being sent to Shoutcast.
Wireshark capture contained 0 HTTP packets.
Terry Belton (tezzy) wrote : | #31 |
- Build and console logs Edit (11.2 KiB, application/zip)
tez@U18042:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
tez@U18042:~/mixxx$ sudo scons 2>&1 | tee build.log
...
scons: done building targets.
tez@U18042:~/mixxx$ ./mixxx --fullscreen --developer --loglevel trace
...
Debug [Main]: "Mixxx" "2.3.0-alpha-pre" "(git master r6739; built on: Mar 1 2019 @ 02:43:32; flags: asan=0 battery=1 buildtime=1 bulk=1 color=0 coreaudio=0 faad=0 ffmpeg=0 hid=1 hss1394=0 lilv=1 localecompare=1 macappstore=0 mad=1 mediafoundation=0 modplug=0 opengles=0 optimize=off opus=1 perftools=0 perftools_
...
Shoutcast log:
2019-03-01 01:53:01 INFO [SRC 192.168.1.42:63667 sid=1] SHOUTcast 1 source connection starting.
...
If metadata was being sent I would expect it here.
...
2019-03-01 01:53:06 DEBUG [SRC 192.168.1.42:63667 sid=1] Remote socket closed while waiting for data.
2019-03-01 01:53:06 INFO [SRC 192.168.1.42:63667 sid=1] SHOUTcast 1 source disconnected.
Full build and mixxx logs attached.
Terry Belton (tezzy) wrote : | #32 |
Daniel wrote:
[quote]Does it make a difference if you enable utf8 in broadcasting profile setting?[/quote]
There is no difference if UTF-8 is enabled or disabled.
Daniel wrote:
[quote]I can prepare the branch, that it log the requested info.[/quote]
Yes please.
Terry Belton (tezzy) wrote : | #33 |
I just looked at the Mixxx log in post #31 and saw:
Debug [Main]: DlgPrefBroadcast - broadcastEnable
Debug [ShoutOutput 'Connection 1']: ShoutConnection - run: Starting thread
Debug [ShoutOutput 'Connection 1']: ShoutConnection - processConnect
Debug [ShoutOutput 'Connection 1']: ShoutConnection - "Connection 1" : updating from preferences
Debug [ShoutOutput 'Connection 1']: ShoutConnection - Using server URL: QUrl("/
Debug [ShoutOutput 'Connection 1']: CBR mode with bitrate: 128
Debug [ShoutOutput 'Connection 1']: ShoutConnection - Connection pending. Waiting...
Debug [ShoutOutput 'Connection 1']: ShoutConnection - Connection pending. Waiting...
Debug [ShoutOutput 'Connection 1']: ShoutConnection - Connection pending. Waiting...
Debug [ShoutOutput 'Connection 1']: ShoutConnection - *******
Debug [ShoutOutput 'Connection 1']: ShoutConnection - processConnect() returning true
Debug [Main]: keyboard press: "D"
Debug [Main]: Committing transaction on "MIXXX-1" result: true
Warning [ShoutOutput 'Connection 1']: ShoutConnection - shout_set_metadata fails with error code -1
Warning [Engine]: underflowHappened code: 6
Warning [Engine]: underflowHappened code: 24
Debug [Main]: keyboard press: "D"
Debug [Main]: DlgPrefBroadcast - broadcastEnable
Debug [ShoutOutput 'Connection 1']: ShoutConnection - run: Connection disabled or failed. Disconnecting
Debug [ShoutOutput 'Connection 1']: ShoutConnection - processDisconnect()
Debug [ShoutOutput 'Connection 1']: ShoutConnection - run: Thread stopped
Terry Belton (tezzy) wrote : | #34 |
I found the error messages in:
~/mixxx/
Daniel Schürmann (daschuer) wrote : | #35 |
Cool, we are getting close. I can look into it tonight. If you have time before, I suggest to place addition qDebug() or printf() calls to the code or use gdb to set bteakpoints. Do you have gdb experiences? I use eclipse and gdb for debugging
An other issue:
It looks like we utf8 encoding is broken as well. If I send a cyrilic track,
Only ?,?,... is displayed in Totem.
I cannot imagine how this should work.
The URL containing the metadata is already percent encoded, so what is the point of setting the charset.
Can you point me to a document that explains that?
Terry Belton (tezzy) wrote : | #36 |
Daniel wrote:
[quote]
Cool, we are getting close. I can look into it tonight. If you have time before, I suggest to place addition qDebug() or printf() calls to the code or use gdb to set bteakpoints. Do you have gdb experiences? I use eclipse and gdb for debugging
[/quote]
I don't know how to place additional qDebug() or printf() calls to the code or use gdb to set breakpoints.
I have no eclipse or gdb experience.
Daniel wrote:
[quote]
An other issue:
It looks like we utf8 encoding is broken as well. If I send a cyrilic track,
Only ?,?,... is displayed in Totem.
I cannot imagine how this should work.
[/quote]
Can you post an example MP3 file so I can look into it?
Daniel wrote:
[quote]
The URL containing the metadata is already percent encoded, so what is the point of setting the charset.
Can you point me to a document that explains that?
[/quote]
I saw this page which looks interesting: http://
I read this paragraph: Fix Broken Characters in MP3 Song Titles and Artist Names
I looked at https:/
The point of setting the charset is because ID3v2.4
[quote https:/
ID3v2 tags consist of a number of frames, each of which contains a piece of metadata. For example, the TIT2 frame contains the title, and the WOAR frame contains the URL of the artist's website. Frames can be up to 16MB in length, while total tag size is limited to 256MB. The internationaliz
The wikipedia article continues:
[quote]
ID3v2.4
v2.4 was published on November 1, 2000, and remains the latest version. It allows textual data to be encoded in UTF-8, which was a common practice in earlier tags (despite the standard, since it was not supported yet) because it has several noticeable advantages over UTF-16. Another new feature allows the addition of a tag to the end of the file before other tags (like ID3v1).[18]
No version of Windows Explorer or Windows Media Player—up to and including Windows 10 (initial release) and WMP 12, respectively—
[/quote]
Daniel Schürmann (daschuer) wrote : | #37 |
I have just pushed another version with more debug output.
It now uses actually the internal source code. This was not the case before.
Terry Belton (tezzy) wrote : | #38 |
- Scons build log with errors. Edit (41.5 KiB, application/zip)
I tried building and got an error:
lin64_build/
/home/tez/
collect2: error: ld returned 1 exit status
scons: *** [lin64_build/mixxx] Error 1
scons: building terminated because of errors.
Can you take a look for me?
Log attached.
Terry Belton (tezzy) wrote : | #39 |
I wrote this for a fellow DJ and thought I'd share it.
A quick change the metadata data in a browser howto:
When connected to the shoutcast server open a web browser (I used Chrome) and put the following in the address bar.
Example:
http://
replace server.example.com with server
replace 0000 with the port
replace PASSWORD with your password
replace ARTIST with the Artist percent encoded (see https:/
then %20%2d%20
replace SONGTITLE with the song title percent encoded.
Terry Belton (tezzy) wrote : | #40 |
Should read:
http://
I missed an & out before song.
Daniel Schürmann (daschuer) wrote : | #41 |
try to
sudo apt-get install libogg0 libvorbis0a libtheora0 libspeex1 libssl1.1
Daniel Schürmann (daschuer) wrote : | #42 |
> I missed an & out before song.
But Wireshark shows this & in all cases.
Terry Belton (tezzy) wrote : | #43 |
It was a typing error in post #39.
Terry Belton (tezzy) wrote : | #44 |
Daniel wrote:
[quote]
try to
sudo apt-get install libogg0 libvorbis0a libtheora0 libspeex1 libssl1.1
[/quote]
tez@U18042:~$ sudo apt-get install libogg0 libvorbis0a libtheora0 libspeex1 libssl1.1
Reading package lists... Done
Building dependency tree
Reading state information... Done
libogg0 is already the newest version (1.3.2-1).
libspeex1 is already the newest version (1.2~rc1.
libtheora0 is already the newest version (1.1.1+dfsg.1-14).
libvorbis0a is already the newest version (1.3.5-4.2).
libssl1.1 is already the newest version (1.1.0g-
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
Daniel Schürmann (daschuer) wrote : | #45 |
does:
sudo apt-get install libssl1.0.0
help?
Terry Belton (tezzy) wrote : | #46 |
It is already installed.
tez@U18042:~/mixxx$ sudo apt-get install libssl1.0.0
[sudo] password for tez:
Reading package lists... Done
Building dependency tree
Reading state information... Done
libssl1.0.0 is already the newest version (1.0.2n-
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
Daniel Schürmann (daschuer) wrote : | #47 |
I have updated the branch. Maybe it builds now.
Terry Belton (tezzy) wrote : | #48 |
Sorry, I got some more build errors.
g++ -o lin64_build/mixxx -Wl,-rpath,
lin64_build/
/home/tez/
/home/tez/
lin64_build/
/home/tez/
/home/tez/
/home/tez/
/home/tez/
collect2: error: ld returned 1 exit status
scons: *** [lin64_build/mixxx] Error 1
scons: building terminated because of errors.
While it was building I did some web searches for:
undefined reference to SSLeay_
I found these pages:
https:/
The API has changed between 1.0.0 and 1.1.0 of libssl
https:/
https://<email address hidden>
"s_server.c:291:2: warning: implicit declaration of function
'SSLeay_
^
./apps.h:124:43: note: expanded from macro 'apps_startup'
# define apps_startup() do_pipe_sig(); SSLeay_
s_server.c:407:11: warning: implicit declaration of function
'SSLv2_
Was change of compiler or build options after Ubuntu 16.04?
Terry Belton (tezzy) wrote : | #49 |
- Patched tls.c for libshout-tls-compile-with-OpenSSL-1.1.0 Edit (6.5 KiB, text/x-csrc)
Please check this out - the last entry:
https:/
[quote]
Andreas @asturm · 6 months ago
I've just successfully built libshout-2.4.1 against openssl-1.1 using this patch from Debian:
Can you please:
Restore the openssl1.1 source code?
Apply the Debian patch to the libshout2.4.1 source code?
I believe Mixxx will successfully compile.
I can then pull and compile.
Terry Belton (tezzy) wrote : | #50 |
Patched file on the Debian site:
Daniel Schürmann (daschuer) wrote : | #51 |
Done, good finding. :-)
Terry Belton (tezzy) wrote : | #52 |
- Compile and log files. Edit (53.4 KiB, application/zip)
I compiled on a fresh Ubuntu 18.04 install without an error.
sudo scons -j 4 2>&1 | tee build.log
I started mixxx, set the library folder and broadcasting settings and exited. 01run.log
./mixxx -f --developer --loglevel trace 2>&1 | tee 02run.log
...
Debug [Main]: "Mixxx" "2.3.0-alpha-pre" "(git master r6743; built on: Mar 9 2019 @ 07:20:46; flags: a$
Debug [Main]: Compile time library versions:
Debug [Main]: Qt: 5.9.5
Debug [Main]: libshout: 2.4.1
Debug [Main]: PortAudio: 1246720 PortAudio V19.6.0-devel, revision 396fe4b6699ae92
Debug [Main]: RubberBand: 1.8.1
Debug [Main]: SoundTouch: 2.1.1
Debug [Main]: TagLib: 1.11.1
Debug [Main]: ChromaPrint: 1.4.3
Debug [Main]: Vorbis: Xiph.Org libVorbis 1.3.5
Debug [Main]: libsndfile: libsndfile-1.0.28
Debug [Main]: FLAC: 1.3.2
Debug [Main]: libmp3lame: 3.100
Debug [Main]: QStandardPaths:
Debug [Main]: QStandardPaths:
Debug [Main]: QCoreApplicatio
Debug [Main]: Loading resources from "/home/
...
Debug [ShoutOutput 'Connection 1']: ShoutConnection - run: Starting thread
Debug [ShoutOutput 'Connection 1']: ShoutConnection - processConnect
Debug [ShoutOutput 'Connection 1']: ShoutConnection - "Connection 1" : updating from preferences
Debug [ShoutOutput 'Connection 1']: ShoutConnection - Using server URL: QUrl("/
Debug [ShoutOutput 'Connection 1']: CBR mode with bitrate: 128
Debug [ShoutOutput 'Connection 1']: ShoutConnection - Connection pending. Waiting...
Debug [ShoutOutput 'Connection 1']: ShoutConnection - Connection pending. Waiting...
Debug [ShoutOutput 'Connection 1']: ShoutConnection - Connection pending. Waiting...
Debug [ShoutOutput 'Connection 1']: ShoutConnection - *******
Debug [ShoutOutput 'Connection 1']: ShoutConnection - processConnect() returning true
Debug [Main]: keyboard press: "D"
Debug [Main]: Committing transaction on "MIXXX-1" result: true
Warning [ShoutOutput 'Connection 1']: ShoutConnection - shout_set_metadata fails with error code -1 1
...
The connection was succesful.
No metadata was sent to Shoutcast.
I had another look at thehttps:
Line 846 reads:
I suspect a bad variable between lines 790 and 846.
Can you please check the variables between lines 790 and 846 in shoutconnection
Terry Belton (tezzy) wrote : | #53 |
A test on of Mixxx 2.3.0-alpha-pre git master r6743 Ubuntu 16.04 works fine.
tez@1604:~/mixxx$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial
git clone https:/
scons -j 4 optimize=off
Mixxx did not create a log file in ~/.mixxx/mixxx.log so I used tee.
I tried with and without UTF-8 enabled. Both worked correctly.
tez@1604:~/mixxx$ ./mixxx --developer --loglevel trace 2>&1 | tee mixxx.log
...
Debug [Main]: "Mixxx" "2.3.0-alpha-pre" "(git master r6743; built on: Mar 12 2019 @ 02:49:54; flags: asan=0 battery=1 buildtime=1 bulk=1 color=0 coreaudio=0 faad=0 ffmpeg=0 hid=1 hss1394=0 lilv=1 localecompare=1 macappstore=0 mad=1 mediafoundation=0 modplug=0 opengles=0 optimize=off opus=1 perftools=0 perftools_
Debug [Main]: Compile time library versions:
Debug [Main]: Qt: 5.5.1
Debug [Main]: libshout: 2.3.1
Debug [Main]: PortAudio: 1899 PortAudio V19-devel (built Aug 11 2015 07:04:31)
Debug [Main]: RubberBand: 1.8.1
Debug [Main]: SoundTouch: 2.1.1
Debug [Main]: TagLib: 1.9.1
Debug [Main]: ChromaPrint: 1.2.0
Debug [Main]: Vorbis: Xiph.Org libVorbis 1.3.5
Debug [Main]: libsndfile: libsndfile-1.0.25
Debug [Main]: FLAC: 1.3.1
Debug [Main]: libmp3lame: 3.99.5
Debug [Main]: QStandardPaths:
Debug [Main]: QStandardPaths:
Debug [Main]: QCoreApplicatio
Debug [Main]: Loading resources from "/home/
Debug [StatsManager]: StatsManager thread starting up.
Debug [Main]: Configuration file is at the current version 2.3.0-alpha-pre
Info [Main]: BroadcastSettings - Found 1 profile(s)
Debug [Main]: Loading resources from "/home/
Debug [Main]: "/home/
Debug [Main]: Loading resources from "/home/
Debug [Main]: Loading translations for locale "en_GB" from translations folder "/home/
Debug [Main]: Loading resources from "/home/
...
Shoutcast log:
2019-03-12 02:55:30 INFO [MAIN] SHOUTcast DNAS/posix(linux x64) v2.6.0.750 (Dec 7 2018)
...
2019-03-12 04:22:33 INFO [SRC 192.168.1.42:54260 sid=1] SHOUTcast 1 source connection starting.
2019-03-12 04:22:43 INFO [ADMINCGI sid=1] Title updated [ABBA - Voulez-Vous]
2019-03-12 04:23:06 INFO [ADMINCGI sid=1] Title updated [ABBA - Waterloo]
2019-03-12 04:23:14 INFO [SRC 192.168.1.42:54260 sid=1] SHOUTcast 1 source disconnected.
I will compare the files in 16.04 and 18.04 next.
Daniel Schürmann (daschuer) wrote : | #54 |
The shout_get_
I am now connected via a different internet connection and I can luckily reproduce the issue.
And if I explicit disable tls it works.
shout_set_
By default it is set to Auto, but the Auto mode somehow fails.
Can you confirm the issue?
Terry Belton (tezzy) wrote : | #55 |
Fresh Ubuntu 18.04 install.
Fresh git install.
git pull https:/
sudo scons -j 4 optimize=off 2>&1 | tee sconsbuild.log
tez@U18042:~/mixxx$ grep -Ri "shout_
src/engine/
./mixxx --developer --loglevel trace 2>&1 | tee mixxx01.log
...
hout_open() #######
shout_set_
#######
GET /admin.
User-Agent: libshout/2.4.1 (Mozilla compatible)
...
Shoutcast log:
2019-03-14 02:16:13 INFO [ADMINCGI sid=1] Title updated [Level 42 - Hot Water]
Metadata is now being sent!
Thank you very much for your help.
Please take a look at this: It gets interesting from RJ Skerry-Ryan (rryan) comments from post #42.
Daniel Schürmann (daschuer) wrote : | #56 |
Great news and Thank you very much for your help.
I have prepared a PR on top of Mixxx 2.1
https:/
Terry Belton (tezzy) wrote : | #57 |
Success!
I manually applied your patch to src/engine/
I played a track:
Shoutcast log:
2019-03-16 06:01:59 INFO [ADMINCGI sid=1] Title updated [ABBA - Voulez-Vous]
Terry Belton (tezzy) wrote : | #58 |
I manually applied your patch to src/engine/
That worked perfectly, sending the correct metadata to Shoutcast2:
2019-03-18 09:21:11 INFO [ADMINCGI sid=1] Title updated [ABBA - Waterloo]
Changed in mixxx: | |
milestone: | none → 2.1.8 |
status: | Confirmed → Fix Released |
assignee: | nobody → Daniel Schürmann (daschuer) |
Swiftb0y (swiftb0y) wrote : | #59 |
Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https:/
lock status: | Metadata changes locked and limited to project staff |
Thank you for you support.
We get more if these reports lately.
Unfortunately we where not able to debug this, because I couldn't reproduce it and it is hard to get reliable test results from non experts users.
There the root issue is IMHO often covered or mixxed by a configuration issues. It would be great if we can isolate the root issue and detect and warn about configuration issues.
Unfortunately libshout is not very convenient here. I think we should fork it to fix this, this allows us to also add AAC support, a pending libshout Pull request.
I am on Ubuntu Xenial with my development machine, and I also have access to a Bionic device.
The first we could check if the official Ubuntu Mixxx build is effected. Next you may check the PPA versions of the Mixxx project.
Is any if these versions working?
Does you server log an suspicious things in case it doesn't work?