GNOME Bugzilla – Bug 522547
[YouTube browser] Some videos can't be displayed within Totem whereas they can within Firefox with Flash plugin
Last modified: 2008-04-12 01:08:13 UTC
Please describe the problem: I have Ubuntu Hardy alpha 6 up to date with Totem 2.22.0 Search "Nuit Blanche - Renan Luce" and the 1st video (showing a man seated with feathers on the air that can be found at http://www.youtube.com/get_video?video_id=0hNxfGi27BU&t=OEgsToPDskKJsQckjsV23EzIL8USnIyc) can't be displayed : "une erreur est survenue Impossible d'ouvrir l'emplacement ; vous n'avez peut-être pas la permission d'ouvrir le fichier." Steps to reproduce: 1. 2. 3. Actual results: an error message is displayed Expected results: the video should be displayed Does this happen every time? yes Other information:
another exemple : Search for "Armenian Russian Concert: Tata Reflex" (the video can be seen here : http://www.youtube.com/get_video?video_id=Ytmwci3tpCQ&t=OEgsToPDskKu5DY4v8bsXL-HilZCxc0z ) : Totem can't display that video
Looks like it's not being redirected to a video server correctly.
This works if you use the gio GStreamer plugin rather than the gnomevfs one, which apparently falls over if faced with HTTP redirects.
I don't know if comment #3 is for me ? i'm running Ubuntu Hardy alpha 6 and don't know a single thing about the plugin that is used... Do you mean that it is a bug that concerns my distribution and the way your plugin is compiled by the Ubuntu team and therefore i must fill on Launchpad (Ubuntu) rather than here ?
Comment #3 was for my own reference; I'm still trying to sort out a satisfactory way to fix the bug.
i guess that will be solved in future release since GIO is going to quickly replace gnomevfs ? So that bug report will quickly become out of date ?
Created attachment 107803 [details] [review] Add a configure check for GSt gio and flvdemux plugins. This adds a check to configure.in to ensure that the GStreamer gio and flvdemux plugins are available before compiling the YouTube plugin. Would it be an idea to backport this to the 2.22 branch, Bastien?
Checking for gio is fine. Checking for flvdemux isn't, as it would mean that distributions that don't ship gst-plugins-bad in the mainline couldn't build with it. You're better off checking for it at run-time. The other GStreamer checks in configure.in are only for the minimum plugins to be able to run Totem. Bare in mind that the backend might be xine-lib as well. So, I'd recommend: - If the backend is GStreamer, try to load pygst - If it's available, check for those plugins by hand, and fail to activate the plugin if they aren't available
Created attachment 108173 [details] [review] Add a configure check for gio and runtime check for flvdemux
Aargh. It appears I was actually using souphttpsrc and not gio. If I remove souphttpsrc, GStreamer won't use gio and will complain about a missing HTTP protocol source. Looking at the gstgio code, it explicitly filters out HTTP and HTTPS from its list of supported protocols: "Filter http/https as we can't support the icy stuff with GIO.". souphttpsrc is in gst-plugins-bad, so it looks like a check for it will have to be done at runtime, and all the changes to configure.in reverted.
Created attachment 108184 [details] [review] Add runtime checks for souphttpsrc and flvdemux
Bastien, can we get this in before 2.22.1?
I'd rather the error didn't mention the plugin names, nor the solution, and redirected to http://www.gnome.org/projects/totem/#codecs instead, where we can add the requirements needed for the YouTube plugin.
Created attachment 108800 [details] [review] Add runtime checks for souphttpsrc and flvdemux (updated) This gives the more generic error message used when other plugins are missing, and thus also doesn't introduce any new strings.
Final version of the patch displayed the error when attempting to play a video, rather than on plugin activation. 2008-04-07 Philip Withnall <pwithnall@svn.gnome.org> * bindings/python/totem.defs: * bindings/python/totem.override: * src/plugins/youtube/youtube.py: * src/totem-object.c: (totem_get_video_widget_backend_name): * src/totem.h: Add runtime checks for flvdemux and souphttpsrc and display an error if they're not present for YouTube videos. (Closes: #522547)
I get gstgnomevfssrc.c(841): gst_gnome_vfs_src_start (): /play/source: Could not open vfs file "http://www.youtube.com/get_video?video_id=iFcuJNB3-OM&t=OEgsToPDskJlIP5otq10C4AH4uYgpMoV" for reading: Access denied (16) however I can go to the link and the video works.
You need to ensure you've got the GStreamer souphttpsrc plugin installed (gst-inspect-0.10 souphttpsrc), and then prevent the gnomevfs plugin from being loaded (i.e. move your /usr/lib/gstreamer-0.10/libgstgnomevfs.so file).
I get further with gnomevfs plugin removed, but is there any other way so we don't have to remove the gnomevfs plugin? Plus souphttpsrc (atleast in gstreamer-plugins-bad 0.10.6) is a feature of the plugin name soup. if registry.find_plugin ("flvdemux") == None or registry.find_plugin ("souphttpsrc") == None: doesn't work and I have to change souphttpsrc to soup.
With Totem 2.22.1 on Ubuntu Beta up to date, it's not possible anymore to watch videos. Thumbnails are displayed but i can't watch the corresponding video and Totem says that i don't have the good plugin
Aargh. Complete brain barf. 2008-04-10 Philip Withnall <pwithnall@svn.gnome.org> * src/plugins/youtube/youtube.py: Fix check for soup plugin. (Closes: #522547)
that is now working all videos great work, thanks