GNOME Bugzilla – Bug 675526
giosrc: won't play via smb:// protocol - "location is not mounted" error
Last modified: 2018-05-24 17:26:20 UTC
When trying to play any music tracks from my ReadyNAS Duo, using Rhythmbox on Ubuntu 12.04, there is no audio output. The track name shows in libnotify and the play progress bar moves in Rhythmbox, as if it is playing - but no audio. If I move the same track to the local drive, then it plays fine. Also, the track will play from the ReadyNAS using Banshee.
I have just encoded the same track in OGG and MP3. The OGG track plays ok from the ReadyNAS, but the MP3 has no audio output. Moving the MP3 to local storage results in it playing ok.
How are you accessing the files on the NAS? Do you have crossfading enabled in rhythmbox? What output do you get from running 'rhythmbox -D player' in a terminal and trying to play a file from it?
(10:04:41) [0xdb3a90] [rb_shell_player_cmd_play] rb-shell-player.c:2318: play! (10:04:41) [0xdb3a90] [rb_shell_player_playpause] rb-shell-player.c:2347: doing playpause (10:04:41) [0xdb3a90] [impl_play] rb-player-gst.c:817: no stream change pending, just restarting playback (10:04:41) [0xdb3a90] [start_state_change] rb-player-gst.c:384: state change succeeded synchronously (10:04:41) [0xdb3a90] [track_change_done] rb-player-gst.c:337: track change finished (10:04:41) [0xdb3a90] [rb_shell_player_sync_with_source] rb-shell-player.c:2919: playing source: 0x1194020, active entry: 0x31a0e70 (10:04:41) [0xdb3a90] [rb_shell_player_sync_buttons] rb-shell-player.c:3011: syncing with source 0x1194020 (10:04:41) [0xdb3a90] [rb_shell_player_sync_with_source] rb-shell-player.c:2919: playing source: 0x1194020, active entry: 0x31a0e70 (10:04:41) [0xdb3a90] [rb_shell_player_sync_buttons] rb-shell-player.c:3011: syncing with source 0x1194020 (10:04:41) [0xdb3a90] [bus_cb] rb-player-gst.c:527: playbin reached state PLAYING (10:04:41) [0xdb3a90] [tick_cb] rb-shell-player.c:3596: tick: [smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3, 13688162752:1084000000000(0)] (10:04:41) [0xdb3a90] [tick_cb] rb-shell-player.c:3596: tick: [smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3, 13818774992:1084000000000(0)] (10:04:41) [0xdb3a90] [tick_cb] rb-shell-player.c:3596: tick: [smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3, 13923264784:1084000000000(0)] (10:04:41) [0xdb3a90] [tick_cb] rb-shell-player.c:3596: tick: [smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3, 14053877024:1084000000000(0)] (10:04:42) [0xdb3a90] [tick_cb] rb-shell-player.c:3596: tick: [smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3, 14158366816:1084000000000(0)] (10:04:42) [0xdb3a90] [tick_cb] rb-shell-player.c:3596: tick: [smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3, 14288979056:1084000000000(0)] (10:04:42) [0xdb3a90] [tick_cb] rb-shell-player.c:3596: tick: [smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3, 14393468848:1084000000000(0)] (10:04:42) [0xdb3a90] [rb_shell_player_cmd_play] rb-shell-player.c:2318: play! (10:04:42) [0xdb3a90] [rb_shell_player_playpause] rb-shell-player.c:2347: doing playpause (10:04:42) [0xdb3a90] [rb_shell_player_playpause] rb-shell-player.c:2357: pausing mm player (10:04:42) [0xdb3a90] [rb_shell_player_sync_with_source] rb-shell-player.c:2919: playing source: 0x1194020, active entry: 0x31a0e70 (10:04:42) [0xdb3a90] [rb_shell_player_sync_buttons] rb-shell-player.c:3011: syncing with source 0x1194020 (10:04:42) [0xdb3a90] [bus_cb] rb-player-gst.c:527: playbin reached state PAUSED
The above gives no audio output, except for the occasional very short burst (typically less than one second).
Is the result the same if you run 'gst-launch-0.10 playbin2 uri=smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3'?
~$ gst-launch-0.10 playbin2 uri=smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3 Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstPulseSinkClock No audio output results from the above.
Seems this is a GStreamer problem then.
Do Banshee or Clementine not use GStreamer, as MP3 files on the ReadyNAS play on both of those?
Looks to be an old problem, as here's a report from two years ago with someone else having it: http://josefbetancourt.wordpress.com/2010/06/05/rythmbox-on-ubuntu-10-04-wont-play-mp3-on-nas/
Could you provide the output of: gst-launch-0.10 -v playbin2 uri=smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3 please ? (added the -v option) Basically I'm wondering what element handles the smb:// protocol.
~$ gst-launch-0.10 -v playbin2 uri=smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3 Setting pipeline to PAUSED ... /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-size = -1 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-duration = -1 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: use-buffering = FALSE /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: download = FALSE /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: uri = "smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3" /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: connection-speed = 0 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: source = (GstGioSrc) source /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:src: caps = application/x-id3 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstID3Demux:id3demux0.GstPad:sink: caps = application/x-id3 Pipeline is PREROLLING ... /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMpegAudioParse:mpegaudioparse0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMpegAudioParse:mpegaudioparse0.GstPad:src: caps = audio/mpeg, mpegversion=(int)1, mpegaudioversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2, parsed=(boolean)true /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: always-ok = FALSE /GstPlayBin2:playbin20/GstInputSelector:inputselector0: active-pad = (GstSelectorPad) sink0 /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc880d3630) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc88229c10) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0xa89290) /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/FluMp3Dec:flump3dec0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)1, mpegaudioversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2, parsed=(boolean)true /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc8822c030) /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0.GstGhostPad:src0: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstDecodePad:src0: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/FluMp3Dec:flump3dec0.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstTee:audiotee: alloc-pad = (GstPad) src0 /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc88242a00) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0.GstGhostPad:src0.GstProxyPad:proxypad6: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstDecodePad:src0.GstProxyPad:proxypad5: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstTee:audiotee.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstTee:audiotee.GstPad:src0: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstTee:audiotee.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0.GstGhostPad:audio_sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0.GstGhostPad:audio_sink.GstProxyPad:proxypad7: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstStreamSynchronizer:streamsynchronizer0.GstPad:sink_0: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstStreamSynchronizer:streamsynchronizer0.GstPad:src_0: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstQueue:aqueue.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin.GstGhostPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin.GstGhostPad:sink.GstProxyPad:proxypad11: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstQueue:aqueue.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioConvert:conv.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioConvert:conv.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:sink.GstProxyPad:proxypad9: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioResample:resample.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioResample:resample.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:src.GstProxyPad:proxypad10: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink.GstProxyPad:proxypad8: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstPulseSinkClock /GstPlayBin2:playbin20/GstPlaySink:playsink0: volume = 1.000000 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse: volume = 1.000000 /GstPlayBin2:playbin20/GstPlaySink:playsink0: mute = FALSE /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse: mute = FALSE /GstPlayBin2:playbin20/GstPlaySink:playsink0: volume = 1.000000 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse: volume = 1.000000 /GstPlayBin2:playbin20/GstPlaySink:playsink0: mute = FALSE /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse: mute = FALSE /GstPlayBin2:playbin20/GstPlaySink:playsink0: volume = 1.000000 /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse: volume = 1.000000 /GstPlayBin2:playbin20/GstPlaySink:playsink0: mute = FALSE /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse: mute = FALSE /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc88241830) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc88241830) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc88243f60) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc88243c00) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc88242660) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc88241920) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc8822ce40) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc88243c00) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc88241430) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc880d38d0) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc880d38a0) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc8822c0f0) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc8822cf30) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc84006100) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc8822c270) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc9000a4d0) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0xa7cd30) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc84006440) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0xa87590) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc9000a4d0) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0xa91aa0) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc88243c30) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0xbfc400) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc88242360) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0xa3c100) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0xa7cb50) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc84006320) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc88005550) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc88005730) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc8822c0f0) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc88006150) /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x7fcc88012d80)
Thanks. Out of curiosity, does this work? gst-launch-0.10 smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3 ! mpegaudioparse ! mad ! queue ! audioconvert ! audioresample ! autoaudiosink ?
(In reply to comment #12) > Thanks. > > Out of curiosity, does this work? > > gst-launch-0.10 smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3 ! > mpegaudioparse ! mad ! queue ! audioconvert ! audioresample ! autoaudiosink > > ? No, I get no audio output. Interestingly, the same track will play fine on Audacious, Banshee, VLC and every other audio player I have tried... but not on on Rhythmbox. This was initially raised as a Rhythmbox bug, but moved here by one of the developers. ~$ gst-launch-0.10 smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3 ! mpegaudioparse ! mad ! queue ! audioconvert ! audioresample ! autoaudiosink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstPulseSinkClock
Could you make a log like this: GST_DEBUG=*:3,*src:6,*parse:6,*gio*:6 gst-launch-0.10 smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3 ! mpegaudioparse ! mad ! queue ! audioconvert ! audioresample ! autoaudiosink 2>dbg.log (just press Control-C a few seconds after it says 'Setting pipeline to PLAYING ...').
(In reply to comment #14) > Could you make a log like this: > > GST_DEBUG=*:3,*src:6,*parse:6,*gio*:6 gst-launch-0.10 > smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3 ! mpegaudioparse ! > mad ! queue ! audioconvert ! audioresample ! autoaudiosink 2>dbg.log > > (just press Control-C a few seconds after it says 'Setting pipeline to PLAYING > ...'). ~$ GST_DEBUG=*:3,*src:6,*parse:6,*gio*:6 gst-launch-0.10 smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3 ! mpegaudioparse ! mad ! queue ! audioconvert ! audioresample ! autoaudiosink 2>dbg.log Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstPulseSinkClock ^CCaught interrupt -- handling interrupt. Interrupt: Stopping pipeline ... Execution ended after 10272678064 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ...
After you Control-C, there should be a dbg.log file in the working directory. Could you $ gzip dbg.log and then attach the dbg.log.gz file to this bug please?
Created attachment 225432 [details] dbg.log
Comment on attachment 225432 [details] dbg.log Debug log, as requested.
Thanks for the log. This is the interesting bit: gstbasesrc.c:2746:gst_base_src_start:<giosrc0> starting source gstgiosrc.c:321:gst_gio_src_get_stream:<giosrc0> error: Location smb://readynas/media/Music/Rhythmbox%20Test/Test%20Track.mp3 not mounted: Th e specified location is not mounted I'm sure I've seen these not-mounted errors before. I *think* it was fixed, maybe Sebastian remembers.
I believe this is a missing feature / bug in rhythmbox. I believe rhythmbox needs to check for a "not-mounted" element message on the bus and do the mounting from the application thread and then restart playback, see: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-giosrc.html http://git.gnome.org/browse/totem/tree/src/backend/bacon-video-widget.c#n1353 => back to rhythmbox.
Created attachment 225438 [details] Debug after manual mount. I mounted the NAS drive and re-run debug. Doesn't appear to be a not mounted message this time, but still no audio output. See attachment.
> Created an attachment (id=225438) [details] > Debug after manual mount. > > I mounted the NAS drive and re-run debug. Doesn't appear to be a not mounted > message this time, but still no audio output. Could you make a full GST_DEBUG=*:6 for this? The partial log shows data being read and parsed correctly, so I think we need all the info.
Created attachment 225440 [details] GST_DEBUG=*:6 output
I pressed Control-C after a few seconds. Do you need me t leave it running longer?
(In reply to comment #20) > I believe this is a missing feature / bug in rhythmbox. I believe rhythmbox > needs to check for a "not-mounted" element message on the bus and do the > mounting from the application thread and then restart playback, see: Rhythmbox already makes sure the location is mounted on startup, but I'll add this in too just to be safe.
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/rhythmbox/issues/1179.