jasonmc / forked-daapd

A re-write of the firefly media server (mt-daapd). It's released under GPLv2+. Please note that this git repository is a mirror of the official one at git://git.debian.org/~jblache/forked-daapd.git
http://blog.technologeek.org/2009/06/12/217
GNU General Public License v2.0
328 stars 45 forks source link

Banshee will not connect to forked-daapd 0.16 #54

Open gearhead opened 13 years ago

gearhead commented 13 years ago

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....

schildbach commented 13 years ago

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.

deuxpi commented 13 years 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).

peterjc commented 13 years ago

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

gearhead commented 12 years ago

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.

gearhead commented 12 years ago

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.

public commented 12 years ago

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

G10h4ck commented 12 years ago

also amarok 2.4.90 ( 2.5 prerelease ) is affected by this bug

G10h4ck commented 12 years ago

duplicated of most recent and general https://github.com/jasonmc/forked-daapd/issues/78

Fabioamd87 commented 12 years ago

so far neither amarok, banshee or rhythmbox can connect...

CraigMarkwardt commented 12 years ago

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