GNOME Bugzilla – Bug 685800
Can't view videos shared from SMB
Last modified: 2018-02-16 15:11:54 UTC
I added the directory itself to rygel-preferences, but I'm getting warning on startup, and PS3 complains about the folder not being accessible. (rygel:10367): MediaExport-WARNING **: Failed to get file info for smb://freebox/disque%20dur/T%C3%A9l%C3%A9chargements (rygel:10367): Rygel-WARNING **: Failed to probe protocol for URI smb://freebox/disque%20dur/T%C3%A9l%C3%A9chargements/The.Thick.Of.It.S04E04.HDTV.x264-TLA.mp4. Assuming 'smb'
rygel-0.16.0-1.fc18.x86_64
the second warning can be ignored, that just means UPnP doesn't know about smb://
I think Rygel might be telling the PS3 that the file is at "smb://...etc" (which it cannot understand) instead of serving it via http.
Can gstreamer handle smb:// URIs?
(In reply to comment #4) > Can gstreamer handle smb:// URIs? Yes, through giosrc, and GIO, just like the rest of GNOME.
Can reproduce.
Hm, take that back. The smb:// URL is sorted at the end of the list and streaming via the HTTP proxy looks fine. Do you get a critical from GStreamer?
Actually, due to a really weird coincidence, I believe that in the end this is the same bug as bug 665476
(In reply to comment #8) > Actually, due to a really weird coincidence, I believe that in the end this is > the same bug as bug 665476 Nope, those were the 2 errors I got on the command-line that looked relevant. Let me know if I can capture any more debug that would help.
Created attachment 226296 [details] [review] server: Only create seek when requested
if that doesn't help, can you run with -g 5 (and G_MESSAGES_DEBUG=all) ? Tell me if you prefer a C patch.
Not working I'm afraid, but different errors. (rygel:8254): Rygel-DEBUG: rygel-media-query-action.vala:177: searching for object '67c958a704ff5c1fba2e1d1fbf2c7581'.. (rygel:8254): Rygel-DEBUG: rygel-media-query-action.vala:184: object '67c958a704ff5c1fba2e1d1fbf2c7581' found. (rygel:8254): Rygel-DEBUG: rygel-media-query-action.vala:177: searching for object 'Filesystem'.. (rygel:8254): Rygel-DEBUG: rygel-media-query-action.vala:184: object 'Filesystem' found. (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:148: HTTP GET request for URI 'http://192.168.0.24:42194/MediaExport/i/OGZhNzBlYjEzY2JmMDgxMzg0NzRlZDRmY2ZmNzU4NTc=.mp4'. Headers: (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Host : 192.168.0.24:42194 (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: User-Agent : PLAYSTATION 3 (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Connection : Keep-Alive (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Accept-Encoding : identity (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: transferMode.dlna.org : Streaming (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: X-AV-Client-Info : av=5.0; cn="Sony Computer Entertainment"; mn="PLAYSTATION 3"; mv="1.0"; (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Range : bytes=0- (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:173: Following HTTP headers appended to response: (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Date : Fri, 12 Oct 2012 09:11:41 GMT (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Content-Type : video/mp4 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Accept-Ranges : bytes (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Content-Range : bytes 0-407068144/407068145 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Content-Length : 407068145 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: transferMode.dlna.org : Streaming (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: contentFeatures.dlna.org : DLNA.ORG_OP=01 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Connection : close (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:133: HTTP GET request for URI 'http://192.168.0.24:42194/MediaExport/i/OGZhNzBlYjEzY2JmMDgxMzg0NzRlZDRmY2ZmNzU4NTc=.mp4' handled. (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:164: HTTP client aborted GET request for URI 'http://192.168.0.24:42194/MediaExport/i/OGZhNzBlYjEzY2JmMDgxMzg0NzRlZDRmY2ZmNzU4NTc=.mp4'. (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:148: HTTP GET request for URI 'http://192.168.0.24:42194/MediaExport/i/OGZhNzBlYjEzY2JmMDgxMzg0NzRlZDRmY2ZmNzU4NTc=.mp4'. Headers: (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Host : 192.168.0.24:42194 (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: User-Agent : PLAYSTATION 3 (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Connection : Keep-Alive (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Accept-Encoding : identity (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: transferMode.dlna.org : Streaming (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: X-AV-Client-Info : av=5.0; cn="Sony Computer Entertainment"; mn="PLAYSTATION 3"; mv="1.0"; (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Range : bytes=1376256-407068144 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:173: Following HTTP headers appended to response: (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Date : Fri, 12 Oct 2012 09:11:55 GMT (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Content-Type : video/mp4 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Accept-Ranges : bytes (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Content-Range : bytes 1376256-407068144/407068145 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Content-Length : 405691889 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: transferMode.dlna.org : Streaming (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: contentFeatures.dlna.org : DLNA.ORG_OP=01 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Connection : close (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:133: HTTP GET request for URI 'http://192.168.0.24:42194/MediaExport/i/OGZhNzBlYjEzY2JmMDgxMzg0NzRlZDRmY2ZmNzU4NTc=.mp4' handled. (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:164: HTTP client aborted GET request for URI 'http://192.168.0.24:42194/MediaExport/i/OGZhNzBlYjEzY2JmMDgxMzg0NzRlZDRmY2ZmNzU4NTc=.mp4'. (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:148: HTTP GET request for URI 'http://192.168.0.24:42194/MediaExport/i/OGZhNzBlYjEzY2JmMDgxMzg0NzRlZDRmY2ZmNzU4NTc=.mp4'. Headers: (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Host : 192.168.0.24:42194 (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: User-Agent : PLAYSTATION 3 (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Connection : Keep-Alive (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Accept-Encoding : identity (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: transferMode.dlna.org : Streaming (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: X-AV-Client-Info : av=5.0; cn="Sony Computer Entertainment"; mn="PLAYSTATION 3"; mv="1.0"; (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Range : bytes=406978560-407068144 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:173: Following HTTP headers appended to response: (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Date : Fri, 12 Oct 2012 09:11:59 GMT (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Content-Type : video/mp4 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Accept-Ranges : bytes (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Content-Range : bytes 406978560-407068144/407068145 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Content-Length : 89585 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: transferMode.dlna.org : Streaming (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: contentFeatures.dlna.org : DLNA.ORG_OP=01 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Connection : close (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:133: HTTP GET request for URI 'http://192.168.0.24:42194/MediaExport/i/OGZhNzBlYjEzY2JmMDgxMzg0NzRlZDRmY2ZmNzU4NTc=.mp4' handled. (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:148: HTTP HEAD request for URI 'http://192.168.0.24:42194/MediaExport/i/OGZhNzBlYjEzY2JmMDgxMzg0NzRlZDRmY2ZmNzU4NTc=.mp4'. Headers: (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Host : 192.168.0.24:42194 (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: User-Agent : PLAYSTATION 3 (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Connection : close (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Accept-Encoding : identity (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Cache-Control : no-cache (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:173: Following HTTP headers appended to response: (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Date : Fri, 12 Oct 2012 09:12:00 GMT (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Content-Type : video/mp4 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: contentFeatures.dlna.org : DLNA.ORG_OP=01 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Connection : close (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:148: HTTP GET request for URI 'http://192.168.0.24:42194/MediaExport/i/OGZhNzBlYjEzY2JmMDgxMzg0NzRlZDRmY2ZmNzU4NTc=.mp4'. Headers: (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Host : 192.168.0.24:42194 (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: User-Agent : PLAYSTATION 3 (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Connection : close (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Accept-Encoding : identity (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:152: Cache-Control : no-cache (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:173: Following HTTP headers appended to response: (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Date : Fri, 12 Oct 2012 09:12:00 GMT (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Content-Type : video/mp4 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: contentFeatures.dlna.org : DLNA.ORG_OP=01 (rygel:8254): Rygel-DEBUG: rygel-http-get.vala:175: Connection : close (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:133: HTTP GET request for URI 'http://192.168.0.24:42194/MediaExport/i/OGZhNzBlYjEzY2JmMDgxMzg0NzRlZDRmY2ZmNzU4NTc=.mp4' handled. (rygel:8254): Rygel-DEBUG: rygel-http-server.vala:164: HTTP client aborted GET request for URI 'http://192.168.0.24:42194/MediaExport/i/OGZhNzBlYjEzY2JmMDgxMzg0NzRlZDRmY2ZmNzU4NTc=.mp4'. The PS3 shows "The data type is not supported".
Comment on attachment 226296 [details] [review] server: Only create seek when requested Not related
Does this file work when you serve! it via Rygel from local fs?
(In reply to comment #14) > Does this file work when you serve! it via Rygel from local fs? Yes, that's why I filed the bug in the first place. It works when I serve it from the local fs, I also downloaded it through the URL given in the rygel logs, and from smb, they're bit-for-bit identical.
Hm. Then seriously no clue. The only idea I've left is that smb adds so much delay to the stream setup that the PS3 gets impatient and doesn't wait long enough for data to arrive.
(In reply to comment #16) > Hm. Then seriously no clue. The only idea I've left is that smb adds so much > delay to the stream setup that the PS3 gets impatient and doesn't wait long > enough for data to arrive. I don't see how that's possible. If I link the video files from the smb server's fuse mount to the local filesystem and make Rygel stream that, it streams fine. If I try to get it to stream directly from the smb fuse mount, it fails.
Though it's possible that Rygel gets to use giosrc instead of filesrc and that creates problems.
Could you point me to where I would implement a work-around like that? http://git.gnome.org/browse/totem/tree/src/backend/bacon-video-widget.c#n3503 This forces GStreamer to use the filesrc rather than giosrc.
in 0.16 branch: http://git.gnome.org/browse/rygel/tree/src/librygel-server/rygel-gst-utils.vala?h=rygel-0-16#n45 on master: http://git.gnome.org/browse/rygel/tree/src/media-engines/gstreamer/rygel-gst-utils.vala#n45
Just to make sure I understood the code in totem correctly: it only uses the uri form for obex://, archive:// and ftp://, forcing GStreamer to use giosrc, otherwise it uses the path with the gio compat path ($HOME/.gvfs/...), forcing the filesrc? Is there any reasoning available why those three protocols are special-cased?
additionally, how does that handle http?
(In reply to Jens Georg from comment #22) > additionally, how does that handle http? It doesn't, and falls back to the libsoup HTTP src.
Created attachment 327076 [details] [review] media-export: Suppress useless warning If the backend does not support monitoring, just issue a debug and not a warning that we were not able to get the file information. Signed-off-by: Jens Georg <mail@jensge.org>
Created attachment 327077 [details] [review] media-export: Use fuse path instead of URI if possible Signed-off-by: Jens Georg <mail@jensge.org>
Created attachment 327078 [details] [review] engine-gst: Use FUSE path instead of uri if possible Signed-off-by: Jens Georg <mail@jensge.org>
Created attachment 327079 [details] [review] server: Remove annoying warning With DVD support, the warning is coming up a lot and it's really not fatal. Make it a debug instead. Signed-off-by: Jens Georg <mail@jensge.org>
I'm going to commit them anyway because they reduce load during metadata gathering and remove nasty warnings, but can you check if that finally fixes your issue?
Attachment 327076 [details] pushed as 83850b3 - media-export: Suppress useless warning Attachment 327077 [details] pushed as 51d449c - media-export: Use fuse path instead of URI if possible Attachment 327078 [details] pushed as 9877467 - engine-gst: Use FUSE path instead of uri if possible Attachment 327079 [details] pushed as acc1ae9 - server: Remove annoying warning