After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 685800 - Can't view videos shared from SMB
Can't view videos shared from SMB
Status: RESOLVED FIXED
Product: rygel
Classification: Applications
Component: MediaExport plugin
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Jens Georg
rygel-maint
Depends on:
Blocks:
 
 
Reported: 2012-10-09 11:16 UTC by Bastien Nocera
Modified: 2018-02-16 15:11 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
server: Only create seek when requested (1.66 KB, patch)
2012-10-11 21:48 UTC, Jens Georg
none Details | Review
media-export: Suppress useless warning (2.82 KB, patch)
2016-04-30 16:21 UTC, Jens Georg
committed Details | Review
media-export: Use fuse path instead of URI if possible (1.61 KB, patch)
2016-04-30 16:21 UTC, Jens Georg
committed Details | Review
engine-gst: Use FUSE path instead of uri if possible (1.43 KB, patch)
2016-04-30 16:22 UTC, Jens Georg
committed Details | Review
server: Remove annoying warning (1.25 KB, patch)
2016-04-30 16:25 UTC, Jens Georg
committed Details | Review

Description Bastien Nocera 2012-10-09 11:16:29 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'
Comment 1 Bastien Nocera 2012-10-09 11:16:38 UTC
rygel-0.16.0-1.fc18.x86_64
Comment 2 Jens Georg 2012-10-09 11:31:46 UTC
the second warning can be ignored, that just means UPnP doesn't know about smb://
Comment 3 Bastien Nocera 2012-10-09 12:14:01 UTC
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.
Comment 4 Jens Georg 2012-10-09 12:44:45 UTC
Can gstreamer handle smb:// URIs?
Comment 5 Bastien Nocera 2012-10-09 13:11:10 UTC
(In reply to comment #4)
> Can gstreamer handle smb:// URIs?

Yes, through giosrc, and GIO, just like the rest of GNOME.
Comment 6 Jens Georg 2012-10-11 18:50:01 UTC
Can reproduce.
Comment 7 Jens Georg 2012-10-11 19:10:01 UTC
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?
Comment 8 Jens Georg 2012-10-11 19:59:43 UTC
Actually, due to a really weird coincidence, I believe that in the end this is the same bug as bug 665476
Comment 9 Bastien Nocera 2012-10-11 20:03:06 UTC
(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.
Comment 10 Jens Georg 2012-10-11 21:48:01 UTC
Created attachment 226296 [details] [review]
server: Only create seek when requested
Comment 11 Jens Georg 2012-10-11 22:07:49 UTC
if that doesn't help, can you run with -g 5 (and G_MESSAGES_DEBUG=all) ?

Tell me if you prefer a C patch.
Comment 12 Bastien Nocera 2012-10-12 09:14:23 UTC
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 13 Jens Georg 2012-10-12 09:25:00 UTC
Comment on attachment 226296 [details] [review]
server: Only create seek when requested

Not related
Comment 14 Jens Georg 2012-10-12 09:26:01 UTC
Does this file work when you serve! it via Rygel from local fs?
Comment 15 Bastien Nocera 2012-10-12 09:33:08 UTC
(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.
Comment 16 Jens Georg 2012-10-15 08:11:40 UTC
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.
Comment 17 Bastien Nocera 2012-10-15 08:34:59 UTC
(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.
Comment 18 Bastien Nocera 2012-10-15 08:35:53 UTC
Though it's possible that Rygel gets to use giosrc instead of filesrc and that creates problems.
Comment 19 Bastien Nocera 2012-10-15 08:38:50 UTC
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.
Comment 21 Jens Georg 2012-10-28 17:15:49 UTC
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?
Comment 22 Jens Georg 2012-12-15 20:14:37 UTC
additionally, how does that handle http?
Comment 23 Bastien Nocera 2015-04-10 16:01:18 UTC
(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.
Comment 24 Jens Georg 2016-04-30 16:21:51 UTC
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>
Comment 25 Jens Georg 2016-04-30 16:21:58 UTC
Created attachment 327077 [details] [review]
media-export: Use fuse path instead of URI if possible

Signed-off-by: Jens Georg <mail@jensge.org>
Comment 26 Jens Georg 2016-04-30 16:22:04 UTC
Created attachment 327078 [details] [review]
engine-gst: Use FUSE path instead of uri if possible

Signed-off-by: Jens Georg <mail@jensge.org>
Comment 27 Jens Georg 2016-04-30 16:25:44 UTC
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>
Comment 28 Jens Georg 2016-05-01 07:35:00 UTC
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?
Comment 29 Jens Georg 2016-05-08 20:22:32 UTC
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