forked-daapd
forked-daapd copied to clipboard
Banshee will not connect to forked-daapd 0.16
I loaded ubuntu 11.04 over the weekend. Initially, I was running 32 bit and loaded forked-daapd 0.11 (from the squeeze repository). Banshee would see the forked-daapd server running locally by name and could connect and play songs.
Subsequently, I loaded 64 bit 11.04 and forked-daapd 0.16 from the sid respoitory. The server works fine and I can connect to it and play songs from a laptop on the LAN running Ubuntu 10.10 with rhythmbox. I can also connect and play songs locally with rhythmbox. Banshee can see the DAAP share on the local machine, but when I click on it, it gives me an error as though it is iTunes server 7+. Repeatable every time.
It appears this is a Banshee problem and not forked daapd, but regardless....
I've got the same problem, except that all of my software is 32 bits. Does not look like a 64bit problem to me.
All of my setup worked fine with mt-daapd just hours ago.
This is what i get on forked-daapd side (with 'debug' log level):
[2011-06-23 23:00:51] daap: DAAP request: /server-info
[2011-06-23 23:00:51] daap: DAAP request: /content-codes
[2011-06-23 23:00:51] daap: DAAP request: /login
[2011-06-23 23:00:51] httpd: Found query string
[2011-06-23 23:00:51] daap: DAAP request: /databases?session-id=100&
[2011-06-23 23:00:51] db: Running query 'SELECT COUNT(*) FROM files WHERE disabled = 0;'
[2011-06-23 23:00:51] db: Running query 'SELECT COUNT(*) FROM playlists WHERE disabled = 0;'
[2011-06-23 23:00:51] httpd: Found query string
[2011-06-23 23:00:51] daap: DAAP request: /update?session-id=100&
[2011-06-23 23:00:51] daap: Missing revision-number in update request
And this is on the banshee side:
[Warn 23:00:51.884] Caught an exception - Daap.ContentException: Could not find root node 'dmap.serverrevision' (in `Banshee.Daap')
at Daap.ContentParser.Parse (Daap.ContentCodeBag bag, System.Byte[] buffer, System.String root, System.Int32& offset) [0x00000] in <filename unknown>:0
at Daap.ContentParser.Parse (Daap.ContentCodeBag bag, System.Byte[] buffer, System.String root) [0x00000] in <filename unknown>:0
at Daap.Client.GetCurrentRevision () [0x00000] in <filename unknown>:0
at Daap.Client.Refresh () [0x00000] in <filename unknown>:0
at Daap.Client.Login (System.String username, System.String password) [0x00000] in <filename unknown>:0
Daap.LoginException: Failed to login (in `Banshee.Daap')
at Daap.Client.Login (System.String username, System.String password) [0x00000] in <filename unknown>:0
at Daap.Client.Login () [0x00000] in <filename unknown>:0
at Banshee.Daap.DaapSource.<Activate>m__7 () [0x00000] in <filename unknown>:0
Currently, forked-daapd does not support updates (b.d.o #613834). In the stack trace, Banshee thinks they are supported. This may be because the dmap.supportsupdates flag is knowingly set to 1 in httpd-daap.c. I read the comment in the code: "Advertise updates support even though we don't send updates" (commit message is "We don't send out DAAP updates, but Remote requires this to work." when this is changed).
Regarding the code comment, this is a bit of a hack in order to get the Apple iOS remote application v2 to talk to forked-daap, https://github.com/jasonmc/forked-daapd/commit/ee7b976eeb2851c7837d7ea4e90f4a02563c7037
Is this the same reason Banshee does not connect as well as the android app? I'd like this to work with both, actually. Rhythmbox works just fine on Linux.
Is there any way this can be a setting in the config file? I do not have any apple remotes and could care less about this, but would like Banshee to work.
With the development build of Banshee 2.2.0 you can list the tracks but actually playing them doesn't work. I've tried with both MP3 (no transcoding) and FLAC (transcoding and no transcoding) but all fail to play in Banshee. Still works fine in Rhythmbox.
I also hacked forked-daap to not claim to support updates (with the header missing or set to 0) and it still crashed so it's probably not forked-daap's fault that Banshee doesn't like it :)
Also there is a bug about this in the Gnome Bugzilla that specifically mentions forked-daap. People working on this bug or affected by it might like to comment over there https://bugzilla.gnome.org/show_bug.cgi?id=659146
also amarok 2.4.90 ( 2.5 prerelease ) is affected by this bug
duplicated of most recent and general https://github.com/jasonmc/forked-daapd/issues/78
so far neither amarok, banshee or rhythmbox can connect...
This report is a duplicate of issue #78. The patch I posted in that issue thread, https://github.com/CBGoodBuddy/forked-daapd/commit/c2e6eeda3273c4ddca146424b61023d18080705e should resolve the Banshee/Amarok issue. I tested with Banshee but not Amarok.
Craig