You are here: Home » Topic » mt-daapd 1281: soundbridge vs. Rhythmbox

mt-daapd 1281: soundbridge vs. Rhythmbox

This topic contains 6 replies, has 3 voices, and was last updated by  indridi 11 years ago.

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #431

    indridi
    Participant

    I’ve been using mt-daapd for a while now, 1249 (an 1281 since 5 minutes) has been working fine with my brand new roku soundbridge (the gadget I have always wanted). Former issues with ogg files not being indexed seem to be solved.

    But:
    The soundbridge won’t play my ogg files unless I configure mt-daapd to transcode them. On my laptop, I use Rhythmbox, which doesn’t play ogg files when they are transcoded, but does fine when they are streamed directly. I realize this is probably a issue with Rhythmbox, but if anyone in these forums can help me on this, I would be very thankful.

    regards
    Indriði

    #5502

    andersB
    Participant

    I think Ron has plans to have transcoding depend on the user agent of the program/thing requesting the song. This would solve your problem, but it will not be in Firefly 1.0. Check out Ticket 78

    #5503

    rpedde
    Participant

    @indridi wrote:

    I’ve been using mt-daapd for a while now, 1249 (an 1281 since 5 minutes) has been working fine with my brand new roku soundbridge (the gadget I have always wanted). Former issues with ogg files not being indexed seem to be solved.

    But:
    The soundbridge won’t play my ogg files unless I configure mt-daapd to transcode them. On my laptop, I use Rhythmbox, which doesn’t play ogg files when they are transcoded, but does fine when they are streamed directly. I realize this is probably a issue with Rhythmbox, but if anyone in these forums can help me on this, I would be very thankful.

    regards
    Indriði

    If you can tell me what the user-agent is for rhythmbox, I’ll fix it.

    — Ron

    #5504

    indridi
    Participant

    If you can tell me what the user-agent is for rhythmbox, I’ll fix it.

    running mt-daapd -d9 (svn 1281), and streaming an mp3 file to rhythmbox (0.9.5), I got the following


    ...
    2006-07-13 09:38:32: select(7, 255.899414)
    2006-07-13 09:38:47: Thread 1: Entering ws_dispatcher (Connection from 192.168.1.100)
    2006-07-13 09:38:47: Thread 1: got request
    2006-07-13 09:38:47: Request: GET /databases/1/items/4318.mp3?session-id=1 HTTP/1.1
    2006-07-13 09:38:47: Thread 1: Read: Host: 192.168.1.3
    2006-07-13 09:38:47: Thread 1: Adding header *Host=192.168.1.3*
    2006-07-13 09:38:47: Added *Host=192.168.1.3*
    2006-07-13 09:38:47: Thread 1: Read: Accept: */*
    2006-07-13 09:38:47: Thread 1: Adding header *Accept=*/**
    2006-07-13 09:38:47: Added *Accept=*/**
    2006-07-13 09:38:47: Thread 1: Read: Cache-Control: no-cache
    2006-07-13 09:38:47: Thread 1: Adding header *Cache-Control=no-cache*
    2006-07-13 09:38:47: Added *Cache-Control=no-cache*
    2006-07-13 09:38:47: Thread 1: Read: User-Agent: iTunes/4.6 (Windows; N)
    2006-07-13 09:38:47: Thread 1: Adding header *User-Agent=iTunes/4.6 (Windows; N)*
    2006-07-13 09:38:47: Added *User-Agent=iTunes/4.6 (Windows; N)*
    2006-07-13 09:38:47: Thread 1: Read: Accept-Language: en-us, en;q=5.0
    2006-07-13 09:38:47: Thread 1: Adding header *Accept-Language=en-us, en;q=5.0*
    2006-07-13 09:38:47: Added *Accept-Language=en-us, en;q=5.0*
    2006-07-13 09:38:47: Thread 1: Read: Client-DAAP-Access-Index: 2
    2006-07-13 09:38:47: Thread 1: Adding header *Client-DAAP-Access-Index=2*
    2006-07-13 09:38:47: Added *Client-DAAP-Access-Index=2*
    2006-07-13 09:38:47: Thread 1: Read: Client-DAAP-Version: 3.0
    2006-07-13 09:38:47: Thread 1: Adding header *Client-DAAP-Version=3.0*
    2006-07-13 09:38:47: Added *Client-DAAP-Version=3.0*
    2006-07-13 09:38:47: Thread 1: Read: Client-DAAP-Validation: 94E13E138DA1DDD5D9DBB530B33728BC
    2006-07-13 09:38:47: Thread 1: Adding header *Client-DAAP-Validation=94E13E138DA1DDD5D9DBB530B33728BC*
    2006-07-13 09:38:47: Added *Client-DAAP-Validation=94E13E138DA1DDD5D9DBB530B33728BC*
    2006-07-13 09:38:47: Thread 1: Read: Client-DAAP-Request-ID: 1
    2006-07-13 09:38:47: Thread 1: Adding header *Client-DAAP-Request-ID=1*
    2006-07-13 09:38:47: Added *Client-DAAP-Request-ID=1*
    2006-07-13 09:38:47: Thread 1: Read: Connection: close
    2006-07-13 09:38:47: Thread 1: Adding header *Connection=close*
    2006-07-13 09:38:47: Added *Connection=close*
    2006-07-13 09:38:47: Thread 1: Read:
    2006-07-13 09:38:47: Thread 1: Headers parsed!
    2006-07-13 09:38:47: Checking to see if connection matches close
    2006-07-13 09:38:47: And it DOES!
    2006-07-13 09:38:47: Thread 1: Connection type HTTP/1.1
    : Connection: non-persist
    2006-07-13 09:38:47: Thread 1: parsing GET args
    2006-07-13 09:38:47: Thread 1: Entering ws_getgetvars (session-id=1)
    2006-07-13 09:38:47: Thread 1: Adding arg session-id = 1
    2006-07-13 09:38:47: Added *session-id=1*
    2006-07-13 09:38:47: Thread 1: Done parsing GET/POST args!
    2006-07-13 09:38:47: Thread 1: Original URI: /databases/1/items/4318.mp3
    2006-07-13 09:38:47: Thread 1: Translated URI: /databases/1/items/4318.mp3
    2006-07-13 09:38:47: Thread 1: Preparing to find handler
    2006-07-13 09:38:47: Thread 1: URI Match!
    2006-07-13 09:38:47: Thread 1: Time is 1152776327 seconds after epoch
    2006-07-13 09:38:47: Thread 1: Setting time header
    2006-07-13 09:38:47: Added *Date=Thu, 13 Jul 2006 07:38:47 GMT*
    2006-07-13 09:38:47: Thread 1: Using non-default handler
    2006-07-13 09:38:47: Added *Accept-Ranges=bytes*
    2006-07-13 09:38:47: Added *DAAP-Server=mt-daapd/svn-1281*
    2006-07-13 09:38:47: Added *Content-Type=application/x-dmap-tagged*
    2006-07-13 09:38:47: Added *Cache-Control=no-cache*
    2006-07-13 09:38:47: Added *Expires=-1*
    2006-07-13 09:38:47: Executing: select * from songs where id=4318
    2006-07-13 09:38:47: Thread 1: Length of file (remaining) is 4921344
    2006-07-13 09:38:47: Updating Content-Type from application/x-dmap-tagged to audio/mp3
    2006-07-13 09:38:47: Added *Content-Length=4921344*
    2006-07-13 09:38:47: Added *Connection=Close*
    2006-07-13 09:38:47: Emitting reponse header Connection: Close
    2006-07-13 09:38:47: Emitting reponse header Content-Length: 4921344
    2006-07-13 09:38:47: Emitting reponse header Expires: -1
    2006-07-13 09:38:47: Emitting reponse header Cache-Control: no-cache
    2006-07-13 09:38:47: Emitting reponse header Content-Type: audio/mp3
    2006-07-13 09:38:47: Emitting reponse header DAAP-Server: mt-daapd/svn-1281
    2006-07-13 09:38:47: Emitting reponse header Accept-Ranges: bytes
    2006-07-13 09:38:47: Emitting reponse header Date: Thu, 13 Jul 2006 07:38:47 GMT
    2006-07-13 09:38:47: Entering config_set_status
    2006-07-13 09:38:47: Exiting config_set_status
    2006-07-13 09:38:47: Session 1: Streaming file '01-Hjá_þér.mp3' to 192.168.1.100 (offset 0)
    2006-07-13 09:40:04: SocketDataReady got a packet from 192.168.1.100 to 224.0.0.251 on interface 192.168.1.3/eth0/2
    ...

    now, I’m not sure if the user agent iTunes/4.6 (Windows; N)* refers to that of the mt-daapd server, or that of Rhythmbox. If you need further information, please let me know

    Regards
    Indriði

    #5505

    indridi
    Participant

    Streaming transcoded files to rhythmbox also doesn’t work with svn-1333. This might also be a rhythmbox bug, but I post here the debug output from rhythmbox, stating that it either can’t determine the length of the stream or the type.


    (14:12:49) [0x8147908] [rhythmdb_process_events] rhythmdb.c:1718: processing RHYTHMDB_EVENT_THREAD_EXITED
    (14:13:36) [0x8147908] [rb_tray_icon_button_press_event_cb] rb-tray-icon.c:374: tray button press
    (14:13:37) [0x8147908] [rb_shell_player_cmd_play] rb-shell-player.c:1592: play!
    (14:13:37) [0x8147908] [rb_shell_player_playpause] rb-shell-player.c:1607: doing playpause
    (14:13:37) [0x8147908] [rb_shell_player_playpause] rb-shell-player.c:1633: no playing source, using selected source
    (14:13:37) [0x8147908] [rb_shell_player_set_playing_source_internal] rb-shell-player.c:2171: setting playing source to 0x87d8820
    (14:13:37) [0x8147908] [rb_shell_player_sync_with_source] rb-shell-player.c:2048: playing source: 0x87d8820, active entry: (nil)
    (14:13:37) [0x8147908] [rb_shell_set_window_title] rb-shell.c:2021: clearing title
    (14:13:37) [0x8147908] [rb_shell_player_get_playing_song_duration] rb-shell-player.c:2361:
    (14:13:37) [0x8147908] [rb_header_sync] rb-header.c:331: syncing with entry = (nil)
    (14:13:37) [0x8147908] [rb_header_sync] rb-header.c:360: not playing
    (14:13:37) [0x8147908] [rb_shell_player_sync_buttons] rb-shell-player.c:2107: syncing with source 0x87d8820
    (14:13:37) [0x8147908] [rb_shell_playing_source_changed_cb] rb-shell.c:1820: playing source changed
    (14:13:37) [0x8147908] [rb_shell_player_playpause] rb-shell-player.c:1669: getting entry from play order
    (14:13:37) [0x8147908] [rb_shell_player_open_location] rb-shell-player.c:984: Opening daap://192.168.1.3:3689/databases/1/items/3632.wav?session-id=2...
    (14:13:37) [0x8147908] [rb_player_gst_sync_pipeline] rb-player-gst.c:586: syncing pipeline
    (14:13:37) [0x8147908] [rb_player_gst_sync_pipeline] rb-player-gst.c:597: PAUSING pipeline
    (14:13:37) [0x8147908] [rb_daap_src_open] rb-daap-src.c:665: Connecting to DAAP source: daap://192.168.1.3:3689/databases/1/items/3632.wav?session-id=2
    (14:13:37) [0x8147908] [rb_player_gst_sync_pipeline] rb-player-gst.c:586: syncing pipeline
    (14:13:37) [0x8147908] [rb_player_gst_sync_pipeline] rb-player-gst.c:588: PLAYING pipeline
    (14:13:37) [0x8147908] [rb_shell_player_set_playing_entry] rb-shell-player.c:1133: Success!
    (14:13:37) [0x8147908] [rb_tray_icon_notify] rb-tray-icon.c:526: doing notify: Fyrsti þáttur af fjórum
    (14:13:37) [0x8147908] [rb_shell_player_sync_with_source] rb-shell-player.c:2048: playing source: 0x87d8820, active entry: 0xb6cd9468
    (14:13:37) [0x8147908] [rb_shell_set_window_title] rb-shell.c:2044: setting title to "Megas - Fyrsti þáttur af fjórum"
    (14:13:37) [0x8147908] [rb_header_sync] rb-header.c:331: syncing with entry = 0xb6cd9468
    (14:13:37) [0x8147908] [rb_shell_player_sync_buttons] rb-shell-player.c:2107: syncing with source 0x87d8820
    (14:13:37) [0x8147908] [rb_shell_player_sync_with_source] rb-shell-player.c:2048: playing source: 0x87d8820, active entry: 0xb6cd9468
    (14:13:37) [0x8147908] [rb_header_sync] rb-header.c:331: syncing with entry = 0xb6cd9468
    (14:13:37) [0x8147908] [rb_shell_player_sync_buttons] rb-shell-player.c:2107: syncing with source 0x87d8820
    (14:13:37) [0x8147908] [rb_shell_clipboard_entryview_changed_cb] rb-shell-clipboard.c:694: entryview changed
    (14:13:37) [0x8147908] [rb_shell_clipboard_sync] rb-shell-clipboard.c:486: syncing clipboard
    [rb_shell_player_error] rb-shell-player.c:2468: playback error while playing: Could not determine type of stream.[/color]
    (14:13:37) [0x8147908] [error_cb] rb-shell-player.c:2506: exiting error hander
    (14:13:37) [0x8147908] [eos_cb] rb-shell-player.c:2387: eos!
    (14:13:37) [0x8147908] [rb_shell_player_do_next] rb-shell-player.c:1487: No next entry, stopping playback
    (14:13:37) [0x8147908] [rb_shell_player_set_playing_source_internal] rb-shell-player.c:2171: setting playing source to (nil)
    (14:13:37) [0x8147908] [rb_shell_player_set_playing_source_internal] rb-shell-player.c:2194: source is already playing, stopping it
    (14:13:37) [0x8147908] [rb_shell_player_stop] rb-shell-player.c:2245: stopping
    (14:13:37) [0x8147908] [rb_shell_player_sync_with_source] rb-shell-player.c:2048: playing source: (nil), active entry: (nil)
    (14:13:37) [0x8147908] [rb_shell_set_window_title] rb-shell.c:2021: clearing title
    (14:13:37) [0x8147908] [rb_shell_player_get_playing_song_duration] rb-shell-player.c:2361: Did not get playing entry : return -1 as length
    (14:13:37) [0x8147908] [rb_header_sync] rb-header.c:331: syncing with entry = (nil)
    (14:13:37) [0x8147908] [rb_header_sync] rb-header.c:360: not playing
    (14:13:37) [0x8147908] [rb_shell_player_sync_buttons] rb-shell-player.c:2107: syncing with source 0x87d8820
    (14:13:37) [0x8147908] [rb_shell_player_sync_with_source] rb-shell-player.c:2048: playing source: (nil), active entry: (nil)
    (14:13:37) [0x8147908] [rb_shell_set_window_title] rb-shell.c:2021: clearing title
    (14:13:37) [0x8147908] [rb_shell_player_get_playing_song_duration] rb-shell-player.c:2361: Did not get playing entry : return -1 as length
    (14:13:37) [0x8147908] [rb_header_sync] rb-header.c:331: syncing with entry = (nil)
    (14:13:37) [0x8147908] [rb_header_sync] rb-header.c:360: not playing
    (14:13:37) [0x8147908] [rb_shell_player_sync_buttons] rb-shell-player.c:2107: syncing with source 0x87d8820
    (14:13:37) [0x8147908] [rb_shell_playing_source_changed_cb] rb-shell.c:1820: playing source changed
    (14:13:37) [0x8147908] [rb_shell_player_set_playing_source_internal] rb-shell-player.c:2171: setting playing source to (nil)
    (14:13:37) [0x8147908] [rb_shell_player_stop] rb-shell-player.c:2245: stopping
    (14:13:37) [0x8147908] [rb_shell_player_sync_with_source] rb-shell-player.c:2048: playing source: (nil), active entry: (nil)
    (14:13:37) [0x8147908] [rb_shell_set_window_title] rb-shell.c:2021: clearing title
    (14:13:37) [0x8147908] [rb_shell_player_get_playing_song_duration] rb-shell-player.c:2361: Did not get playing entry : return -1 as length
    (14:13:37) [0x8147908] [rb_header_sync] rb-header.c:331: syncing with entry = (nil)
    (14:13:37) [0x8147908] [rb_header_sync] rb-header.c:360: not playing
    (14:13:37) [0x8147908] [rb_shell_player_sync_buttons] rb-shell-player.c:2107: syncing with source 0x87d8820
    (14:13:37) [0x8147908] [rb_shell_player_sync_with_source] rb-shell-player.c:2048: playing source: (nil), active entry: (nil)
    (14:13:37) [0x8147908] [rb_shell_set_window_title] rb-shell.c:2021: clearing title
    (14:13:37) [0x8147908] [rb_shell_player_get_playing_song_duration] rb-shell-player.c:2361: Did not get playing entry : return -1 as length
    (14:13:37) [0x8147908] [rb_header_sync] rb-header.c:331: syncing with entry = (nil)
    (14:13:37) [0x8147908] [rb_header_sync] rb-header.c:360: not playing
    (14:13:37) [0x8147908] [rb_shell_player_sync_buttons] rb-shell-player.c:2107: syncing with source 0x87d8820
    (14:13:37) [0x8147908] [rb_shell_playing_source_changed_cb] rb-shell.c:1820: playing source changed
    (14:13:37) [0x8147908] [rb_shell_clipboard_entryview_changed_cb] rb-shell-clipboard.c:694: entryview changed
    (14:13:37) [0x8147908] [rb_shell_clipboard_sync] rb-shell-clipboard.c:486: syncing clipboard
    (14:13:49) [0x8147908] [rhythmdb_read_enter] rhythmdb.c:680: counter: 1
    (14:13:49) [0x8147908] [rhythmdb_read_enter] rhythmdb.c:680: counter: 2
    (14:13:49) [0x81a7878] [query_thread_main] rhythmdb.c:2949: entering query thread
    (14:13:49) [0x81a7878] [rhythmdb_query_internal] rhythmdb.c:2926: doing query
    (14:13:49) [0x81a7878] [do_query_recurse] rhythmdb-tree.c:1774: doing recursive query, 1 conjunctions
    (14:13:49) [0x81a7878] [rhythmdb_query_model_add_results] rhythmdb-query-model.c:1697: adding 0 entries
    (14:13:49) [0x8147908] [idle_process_update] rhythmdb-query-model.c:911: inserting 0 rows
    (14:13:49) [0x81a7878] [rhythmdb_query_internal] rhythmdb.c:2932: completed
    (14:13:49) [0x8749210] [query_thread_main] rhythmdb.c:2949: entering query thread
    (14:13:49) [0x8749210] [rhythmdb_query_internal] rhythmdb.c:2926: doing query
    (14:13:49) [0x8749210] [do_query_recurse] rhythmdb-tree.c:1774: doing recursive query, 1 conjunctions
    (14:13:49) [0x8749210] [rhythmdb_query_model_add_results] rhythmdb-query-model.c:1697: adding 5 entries
    (14:13:49) [0x8147908] [idle_process_update] rhythmdb-query-model.c:911: inserting 5 rows
    (14:13:49) [0x8749210] [rhythmdb_query_internal] rhythmdb.c:2932: completed
    (14:13:49) [0x8147908] [rhythmdb_process_events] rhythmdb.c:1725: processing RHYTHMDB_EVENT_QUERY_COMPLETE
    (14:13:49) [0x8147908] [rhythmdb_read_leave] rhythmdb.c:694: counter: 1
    (14:13:49) [0x8147908] [rhythmdb_process_events] rhythmdb.c:1718: processing RHYTHMDB_EVENT_THREAD_EXITED
    (14:13:49) [0x8147908] [rhythmdb_process_events] rhythmdb.c:1725: processing RHYTHMDB_EVENT_QUERY_COMPLETE
    (14:13:49) [0x8147908] [rhythmdb_read_leave] rhythmdb.c:694: counter: 0
    (14:13:49) [0x8147908] [rhythmdb_process_events] rhythmdb.c:1718: processing RHYTHMDB_EVENT_THREAD_EXITED

    As I said, I don’t know if this is a issue with rhythmbox, but it might have something to do with the transcoding script.

    Thanks
    Indriði

    #5506

    rpedde
    Participant

    @indridi wrote:


    Streaming transcoded files to rhythmbox also doesn’t work with svn-1333. This might also be a rhythmbox bug, but I post here the debug output from rhythmbox, stating that it either can’t determine the length of the stream or the type.

    For the first thing, the problem seems to be that rhythmbox won’t play .wav files. The problem there is that I can’t tell a rhythmbox client from an iTunes client, because they claim to be iTunes. So I don’t know whether to send the data as ogg or .wav, but since they claim to be iTunes, I can’t send it as .ogg.

    Without some way to tell that it really isn’t an iTunes client, I can’t do anything but send it as a wav file.

    For the second thing, I’m not sure what that’s about. The server says it’s an audio/wav format, so I’m not sure what else they would need to determine audio file content.

    Bottom line is that both of these problems seem to be insoluble on this end.

    — Ron

    #5507

    indridi
    Participant

    Just filed this as a bug against rhythmbox (see http://bugzilla.gnome.org/show_bug.cgi?id=350276)

    Indriði

Viewing 7 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic.