GNOME Bugzilla – Bug 579874
Totem unable to play audio files over Bluetooth
Last modified: 2010-02-18 16:36:49 UTC
Please describe the problem: When connecting a phone with audio files over Bluetooth to a computer files can be browsed, uploaded, and downloaded normally. When double clicking on an audio file Totem starts but doesn't start playing the file complaining that perhaps no read permissions for the file. Steps to reproduce: 1. Connect a device with audio files over Bluetooth 2. Browse the files, make sure they are readable 3. Doubleclick on an audio file, see how playback fails Actual results: Playback fails. Expected results: Audio is played. Does this happen every time? Always. Other information: When checking recent files it lists the audio files as "obex://..."
If you run Totem from the terminal with `totem --debug`, are any error messages printed out when it fails to play over Bluetooth?
Thanks for looking into this. It actually turns out that both Totem and Rhythmbox have the same problem. The error window says: An error occurred Could not open location; you might not have permission to open the file. And in recent documents there is a new entry: obex: file.mp3 Both players print out similar error when ran in debug mode: localhost:~/Desktop> totem --debug (totem:2931): Gtk-WARNING **: Operation not supported by backend (totem:2931): Gtk-WARNING **: Operation not supported by backend (totem:2931): Gtk-WARNING **: Operation not supported by backend ** Message: no file info (totem:2931): GStreamer-WARNING **: Trying to join task 0x9fb0a98 from its thread would deadlock. You cannot change the state of an element from its streaming thread. Use g_idle_add() or post a GstMessage on the bus to schedule the state change from the main thread. ** Message: Error: Could not open file "/home/dq/.gvfs/Nokia E75/E:/Music/file.mp3" for reading. gstfilesrc.c(1051): gst_file_src_start (): /GstPlayBin:play/GstFileSrc:source: system error: Input/output error localhost:~/Desktop> totem --debug (totem:8740): Gtk-WARNING **: Operation not supported by backend (totem:8740): Gtk-WARNING **: Operation not supported by backend (totem:8740): Gtk-WARNING **: Operation not supported by backend (totem:8740): Gtk-WARNING **: Operation not supported by backend ** Message: no file info ** Message: Error: Could not open file "/home/dq/.gvfs/Nokia E75/E:/Music/file.mp3" for reading. gstfilesrc.c(1051): gst_file_src_start (): /GstPlayBin:play/GstFileSrc:source: system error: Input/output error
Does gst-launch with playbin (or playbin2) work when you pass the gvfs URI (instead of the local file path via fuse)?
> Does gst-launch with playbin (or playbin2) work when you pass the gvfs URI > (instead of the local file path via fuse)? Sorry but I don't know how a correct gvfs URI would like in this case. I tried several variations but received always same kind of errors: localhost:~> ls .gvfs/Nokia\ E75/E:/Music/file.mp3 .gvfs/Nokia E75/E:/Music/file.mp3 localhost:~> gst-launch playbin uri=obex://Nokia\ E75/E:/Music/file.mp3 Setting pipeline to PAUSED ... ERROR: Pipeline doesn't want to pause. ERROR: from element /GstPlayBin:playbin0/GstGioSrc:source: Could not open resource for reading. Additional debug info: gstgiosrc.c(313): gst_gio_src_start (): /GstPlayBin:playbin0/GstGioSrc:source: Could not open location obex://Nokia%20E75/E:/Music/file.mp3 for reading: The specified location is not mounted Setting pipeline to NULL ... FREEING pipeline ... Thanks.
Hi, any news on this? This is still issue with latest F11 + updates. Thanks!
That URI is completely wrong: obex://Nokia\ E75/E:/Music/file.mp3 should be something like: obex://[Mac address]/E:/Music/file.mp3
Thanks for the tip, it seems that there's something fishy going on with gvfs. I started to browse my phone with GNOME's Bluetooth Manager and browsing works all ok. While that session was still active I tried the following commands: localhost:~> gvfs-mount -l | grep -A 1 Nokia Mount(0): Nokia E75 -> obex://[00:1E:3A:11:22:33]/ Type: GDaemonMount localhost:~> gvfs-ls ~/.gvfs/Nokia\ E75/E:/Music/ | grep file.mp3 file.mp3 localhost:~> gvfs-ls ~/.gvfs/Nokia\ E75/E:/Music/file.mp3 Error: Path not found localhost:~> gvfs-info -f .gvfs/Nokia\ E75/E:/Music/file.mp3 attributes: standard::type: 1 standard::content-type: audio/mpeg standard::name: file.mp3 standard::icon: audio-mpeg, gnome-mime-audio-mpeg, audio-x-generic, text-x-generic standard::display-name: file.mp3 standard::size: 4292485 access::can-read: TRUE access::can-write: TRUE time::modified: 1195604114 time::modified-usec: 0 filesystem::free: 42684416 filesystem::size: 88895488 filesystem::type: obexftp gvfs::backend: obex localhost:~> gvfs-ls ~/.gvfs/Nokia\ E75/E:/Music/file.mp3 Error: Path not found localhost:~> gvfs-cat ~/.gvfs/Nokia\ E75/E:/Music/file.mp3 | mpg123 -q - ^C localhost:~> gvfs-ls ~/.gvfs/Nokia\ E75/E:/Music/ | grep file.mp3 Error: Conflict error localhost:~> gvfs-info -f .gvfs/Nokia\ E75/E:/Music/file.mp3 attributes: standard::type: 1 standard::content-type: audio/mpeg standard::name: file.mp3 standard::icon: audio-mpeg, gnome-mime-audio-mpeg, audio-x-generic, text-x-generic standard::display-name: file.mp3 standard::size: 4292485 access::can-read: TRUE access::can-write: TRUE time::modified: 1195604114 time::modified-usec: 0 filesystem::free: 42684416 filesystem::size: 88895488 filesystem::type: obexftp gvfs::backend: obex localhost:~> gst-launch playbin uri="obex://[00:1E:3A:11:22:33]/E:/Music/file.mp3" Setting pipeline to PAUSED ... ERROR: Pipeline doesn't want to pause. ERROR: from element /GstPlayBin:playbin0/GstGioSrc:source: Could not open resource for reading. Additional debug info: gstgiosrc.c(324): gst_gio_src_get_stream (): /GstPlayBin:playbin0/GstGioSrc:source: Could not open location obex://[00:1E:3A:11:22:33]/E:/Music/file.mp3 for reading: Another operation in progress Setting pipeline to NULL ... Freeing pipeline ... localhost:~> gst-launch playbin uri="obex://[00:1E:3A:11:22:33]/E:/Music/file.mp3" Setting pipeline to PAUSED ... Pipeline is PREROLLING ... ERROR: from element /GstPlayBin:playbin0/GstGioSrc:source: Could not open resource for reading. Additional debug info: gstgiosrc.c(324): gst_gio_src_get_stream (): /GstPlayBin:playbin0/GstGioSrc:source: Could not open location obex://[00:1E:3A:11:22:33]/E:/Music/file.mp3 for reading: Conflict error ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... localhost:~> gst-launch playbin uri="obex://[00:1E:3A:11:22:33]/E:/Music/file.mp3" Setting pipeline to PAUSED ... Pipeline is PREROLLING ... ERROR: from element /GstPlayBin:playbin0/GstGioSrc:source: Could not open resource for reading. Additional debug info: gstgiosrc.c(324): gst_gio_src_get_stream (): /GstPlayBin:playbin0/GstGioSrc:source: Could not open location obex://[00:1E:3A:11:22:33]/E:/Music/file.mp3 for reading: Conflict error ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... localhost:~> gvfs-ls ~/.gvfs/Nokia\ E75/E:/Music/ | grep file.mp3 file.mp3 localhost:~> gvfs-ls ~/.gvfs/Nokia\ E75/E:/Music/ | grep file.mp3 file.mp3 localhost:~> gvfs-ls ~/.gvfs/Nokia\ E75/E:/Music/ | grep file.mp3 Error: Conflict error The above "gvfs-cat ... | mpg123 -q -" worked, ie, I heard the audio all ok.
This still happens with Fedora 12 Beta using versions totem-2.28.1-3.fc12.i686 gvfs-1.4.1-1.fc12.i686
This is still an issue with Fedora 12 + updates as of 2009-11-18.
Created attachment 154116 [details] [review] Fix reading from ObexFTP Only works with the new osso-gwobex ObexFTP backend, but works well enough.
You'll need to use the ObexFTP backend from bug 609340, but it works now. commit e7d13ff52e591c030f0e4413e105e6ae79fcccaa Author: Bastien Nocera <hadess@hadess.net> Date: Thu Feb 18 10:13:23 2010 +0000 Fix reading from ObexFTP Only works with the new osso-gwobex ObexFTP backend, but works well enough. https://bugzilla.gnome.org/show_bug.cgi?id=579874
Very nice, thanks! I install osso-gwobex from Koji and once a Totem build with the fix above is available in Koji I'll test this. If I remain quiet you can conclude that I'm very happy with this :)