GNOME Bugzilla – Bug 649288
DAAP Client cannot connect on non-standard ports
Last modified: 2011-05-07 07:35:15 UTC
Created attachment 187127 [details] [review] Patch for /plugins/daap/rb-daap-plugin.c When the DAAP plugin tires to connect to a non-standard port it seems to be giving the following error: (16:54:53) [0x6dd170] [libdmapsharing_debug] rb-daap-plugin.c:688: Creating new DAAP connection to 127.0.0.1:4000:4000 (16:54:53) [0x6dd170] [rb_shell_clipboard_set_source_internal] rb-shell-clipboard.c:354: selected source 0x84f420 (16:54:53) [0x6dd170] [rb_shell_clipboard_sync] rb-shell-clipboard.c:600: syncing clipboard (16:54:53) [0x6dd170] [rebuild_playlist_menu] rb-shell-clipboard.c:1035: rebuilding add-to-playlist menu (rhythmbox:3768): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed (16:54:53) [0x6dd170] [rb_shell_player_set_source_internal] rb-shell-player.c:1111: selected source 0x84f420 (16:54:53) [0x6dd170] [rb_shell_player_sync_with_selected_source] rb-shell-player.c:3443: syncing with selected source: 0x84f420 (16:54:53) [0x6dd170] [rb_shell_player_sync_with_selected_source] rb-shell-player.c:3446: no playing source, new source is 0x84f420 (16:54:53) [0x6dd170] [rb_shell_player_sync_with_source] rb-shell-player.c:2969: playing source: (nil), active entry: (nil) (16:54:53) [0x6dd170] [rb_shell_set_window_title] rb-shell.c:2222: clearing title (16:54:53) [0x6dd170] [show_controls] rb-visualizer-plugin.c:852: showing controls (16:54:53) [0x6dd170] [rb_shell_player_get_playing_song_duration] rb-shell-player.c:3429: Did not get playing entry : return -1 as length (16:54:53) [0x6dd170] [rb_shell_player_sync_buttons] rb-shell-player.c:3064: syncing with source 0x84f420 (16:54:53) [0x6dd170] [prev_action_sensitive_cb] rb-mpris-plugin.c:1269: emitting CanGoPrevious change (16:54:53) [0x6dd170] [next_action_sensitive_cb] rb-mpris-plugin.c:1260: emitting CanGoNext change (16:54:53) [0x6dd170] [rb_source_header_set_source_internal] rb-source-header.c:501: selected source 0x84f420 (16:54:53) [0x6dd170] [rb_statusbar_set_property] rb-statusbar.c:341: selected page 0x84f420 (16:54:53) [0x6dd170] [rb_statusbar_sync_status] rb-statusbar.c:469: updating status with: '0 songs', '', 999.000000 (16:54:53) [0x6dd170] [shell_selected_page_notify_cb] rb-disc-recorder-plugin.c:657: RBDiscRecorderPlugin selected page changed (16:54:53) [0x6dd170] [paned_size_allocate_cb] rb-shell.c:2919: paned position 223 (16:54:53) [0x6dd170] [paned_size_allocate_cb] rb-shell.c:2920: right_paned position 400 (16:54:53) [0x6dd170] [libdmapsharing_debug] rb-daap-plugin.c:688: Doing something for state: 0 (16:54:53) [0x6dd170] [libdmapsharing_debug] rb-daap-plugin.c:688: Getting DAAP server info (16:54:53) [0x6dd170] [libdmapsharing_debug] rb-daap-plugin.c:688: Queued message for http://127.0.0.1:4000:4000//server-info (16:54:53) [0x6dd170] [libdmapsharing_debug] rb-daap-plugin.c:688: Received response from http://[127.0.0.1:4000]:4000/server-info: 2, Cannot resolve hostname (127.0.0.1:4000) (16:54:53) [0x6dd170] [libdmapsharing_debug] rb-daap-plugin.c:688: Error getting http://[127.0.0.1:4000]:4000/server-info: 2, Cannot resolve hostname (127.0.0.1:4000) (16:54:53) [0x6dd170] [libdmapsharing_debug] rb-daap-plugin.c:688: Transitioning to next state from 0 (16:54:53) [0x6dd170] [libdmapsharing_debug] rb-daap-plugin.c:688: Doing something for state: 9 (16:54:53) [0x6dd170] [libdmapsharing_debug] rb-daap-plugin.c:688: DAAP done (16:54:53) [0x6dd170] [libdmapsharing_debug] rb-daap-plugin.c:688: DAAP finish (16:54:53) [0x6dd170] [libdmapsharing_debug] rb-daap-plugin.c:688: Emitting operation done (16:54:53) [0x6dd170] [libdmapsharing_debug] rb-daap-plugin.c:688: Connected callback (16:54:53) [0x6dd170] [rb_daap_source_connection_cb] rb-daap-source.c:565: Connection callback result: failure (16:54:53) [0x6dd170] [release_connection] rb-daap-source.c:542: Releasing connection (16:54:53) [0x6dd170] [libdmapsharing_debug] rb-daap-plugin.c:688: DAAP connection dispose (16:54:53) [0x6dd170] [libdmapsharing_debug] rb-daap-plugin.c:688: Aborting all pending requests (16:54:53) [0x6dd170] [libdmapsharing_debug] rb-daap-plugin.c:688: Finalize The main issue seems to be the url with the port specified twice for the DAAP share "http://[127.0.0.1:4000]:4000/server-info". I've attached a patch that should either fix the problem or at least give you guys enough info to fix it.
I've attached another patch which I believe is a little more correct.
Created attachment 187189 [details] [review] fixes erroneous daap host
I just pushed a fix to Rhythmbox Git master. Stephen, can you test this?
works for me now.