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 522547 - [YouTube browser] Some videos can't be displayed within Totem whereas they can within Firefox with Flash plugin
[YouTube browser] Some videos can't be displayed within Totem whereas they ca...
Status: RESOLVED FIXED
Product: totem
Classification: Core
Component: YouTube plugin
2.22.x
Other All
: Normal normal
: ---
Assigned To: General Totem maintainer(s)
General Totem maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2008-03-15 03:13 UTC by antistress
Modified: 2008-04-12 01:08 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
Add a configure check for GSt gio and flvdemux plugins. (1.14 KB, patch)
2008-03-22 13:55 UTC, Philip Withnall
rejected Details | Review
Add a configure check for gio and runtime check for flvdemux (3.29 KB, patch)
2008-03-28 13:54 UTC, Philip Withnall
none Details | Review
Add runtime checks for souphttpsrc and flvdemux (2.69 KB, patch)
2008-03-28 16:08 UTC, Philip Withnall
needs-work Details | Review
Add runtime checks for souphttpsrc and flvdemux (updated) (4.31 KB, patch)
2008-04-07 18:17 UTC, Philip Withnall
committed Details | Review

Description antistress 2008-03-15 03:13:26 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:
Comment 1 antistress 2008-03-15 14:26:27 UTC
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
Comment 2 Philip Withnall 2008-03-16 16:10:46 UTC
Looks like it's not being redirected to a video server correctly.
Comment 3 Philip Withnall 2008-03-16 23:46:09 UTC
This works if you use the gio GStreamer plugin rather than the gnomevfs one, which apparently falls over if faced with HTTP redirects.
Comment 4 antistress 2008-03-17 00:36:11 UTC
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 5 Philip Withnall 2008-03-17 06:59:10 UTC
Comment #3 was for my own reference; I'm still trying to sort out a satisfactory way to fix the bug.
Comment 6 antistress 2008-03-17 19:49:02 UTC
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 ?
Comment 7 Philip Withnall 2008-03-22 13:55:38 UTC
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?
Comment 8 Bastien Nocera 2008-03-24 17:44:52 UTC
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
Comment 9 Philip Withnall 2008-03-28 13:54:42 UTC
Created attachment 108173 [details] [review]
Add a configure check for gio and runtime check for flvdemux
Comment 10 Philip Withnall 2008-03-28 14:25:58 UTC
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.
Comment 11 Philip Withnall 2008-03-28 16:08:50 UTC
Created attachment 108184 [details] [review]
Add runtime checks for souphttpsrc and flvdemux
Comment 12 Philip Withnall 2008-04-07 06:03:41 UTC
Bastien, can we get this in before 2.22.1?
Comment 13 Bastien Nocera 2008-04-07 09:45:12 UTC
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.
Comment 14 Philip Withnall 2008-04-07 18:17:04 UTC
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.
Comment 15 Philip Withnall 2008-04-07 22:40:36 UTC
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)
Comment 16 Michael Johnson 2008-04-08 17:03:16 UTC
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.
Comment 17 Philip Withnall 2008-04-08 17:12:53 UTC
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).
Comment 18 Michael Johnson 2008-04-08 17:25:36 UTC
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.
Comment 19 antistress 2008-04-10 00:30:38 UTC
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
Comment 20 Philip Withnall 2008-04-10 17:52:13 UTC
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)
Comment 21 antistress 2008-04-12 01:08:13 UTC
that is now working
all videos
great work, thanks