[Hardy] totem-mozilla fails to open quicktime trailer

Bug #262494 reported by jwishnie
2
Affects Status Importance Assigned to Milestone
totem (Ubuntu)
Fix Released
Low
Ubuntu Desktop Bugs

Bug Description

Binary package hint: totem-mozilla

totem-mozilla fails to open quicktime movie trailers from Apple's web site.

Debug output indicates that Totem is pulling down the .mov file but failing to follow the internal reference to the actual media content.

Test URL:
http://www.apple.com/trailers/disney/walle/hydrant_small.html

NOTE: In Feisty, totem-mozilla opens this link correctly and displays the video.

--------------

Here is the relevant debug output:

inveneo@xubuntu-8:~/totem$ firefox
** Message: NP_Initialize
** Message: NP_Initialize succeeded
** Message: totemPlugin [0x8f09a28]
** Message: Init mimetype 'video/quicktime' mode 1
** Message: Base URI is 'http://www.apple.com/trailers/disney/walle/hydrant_small.html'
** Message: Real mimetype for 'video/quicktime' is 'video/quicktime'
argv[0] id Wall-EInner
argv[1] data http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h.320.mov
argv[2] type video/quicktime
argv[3] height 196
argv[4] width 320
argv[5] SRC http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h.320.mov
argv[6] PARAM
argv[7] autoplay true
argv[8] saveembedtags true
** Message: mSrcURI: http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h.320.mov
** Message: mCache: 0
** Message: mControllerHidden: 0
** Message: mShowStatusbar: 0
** Message: mHidden: 0
** Message: mAudioOnly: 0
** Message: mAutoPlay: 1, mRepeat: 0
** Message: mHref:
** Message: mTarget:
** Message: Launching: /usr/lib/totem/gstreamer/totem-plugin-viewer --plugin-type narrowspace --user-agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1 --mimetype video/quicktime
** Message: Viewer spawned, PID 29015
** Message: Initial window set, XID 2c00733 size 320x196
** Message: No viewer proxy yet, deferring SetWindow
** Message: NewStream mimetype 'video/quicktime' URL 'http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h.320.mov'
** Message: Not expecting a new stream; aborting stream
** Message: GetScriptableNPObject [0x8f09a28]
** Message: totemNarrowSpacePlayer [0x8f7d018]
** Message: NewStream mimetype 'video/quicktime' URL 'http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h.320.mov'
** Message: Not expecting a new stream; aborting stream
** Message: Viewer DBus interface name is 'org.gnome.totem.PluginViewer_29015'
** Message: NameOwnerChanged old-owner '' new-owner ':1.31'
** Message: Viewer now connected to the bus
** Message: ViewerSetup
** Message: Calling SetWindow
** Message: NameOwnerChanged old-owner '' new-owner ':1.31'
** Message: Already have owner, why are we notified again?
Viewer: SetWindow XID 46139187 size 320:196
TotemEmbedded-Message: Viewer state: STOPPED
** Message: SetWindow reply
** Message: ViewerReady
** Message: IsSchemeSupported scheme 'http': yes
TotemEmbedded-Message: totem_embedded_open_stream called: uri http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h.320.mov, base_uri: http://www.apple.com/trailers/disney/walle/hydrant_small.html
totem_embedded_set_uri uri (null) base (null) => resolved (null)
totem_embedded_set_uri uri http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h.320.mov base http://www.apple.com/trailers/disney/walle/hydrant_small.html => resolved http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h.320.mov
TotemEmbedded-Message: totem_embedded_open_internal 'fd://0' is-browser-stream 1 start-play 1
TotemEmbedded-Message: BEFORE _open
TotemEmbedded-Message: AFTER _open (ret: 1)
TotemEmbedded-Message: Viewer state: PLAYING
** Message: OpenStream reply
** Message: NewStream mimetype 'video/quicktime' URL 'http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h.320.mov'
** Message: Should be dual type 'video/quicktime', making sure now
** Message: Is not dual type 'video/quicktime'
** Message: Is not playlist: totem_pl_parser_can_parse_from_data failed (len 88)
** Message: StreamAsFile filename '/home/inveneo/.mozilla/firefox/rc8dufiv.default/Cache/96CA3EA2d01'
** Message: mBytesStreamed 88
** Message: DestroyStream reason 0
** Message: URLNotify URL 'http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h.320.mov' reason 0
TotemEmbedded-Message: stream uri: http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h.320.mov
TotemEmbedded-Message: current uri: file:///home/inveneo/.mozilla/firefox/rc8dufiv.default/Cache/96CA3EA2d01
TotemEmbedded-Message: base uri: http://www.apple.com/trailers/disney/walle/hydrant_small.html
TotemEmbedded-Message: redirect: wall-e-clip-hydrant_h320.mov
TotemEmbedded-Message: Redirecting to 'http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h320.mov'
totem_embedded_set_uri uri http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h320.mov base http://www.apple.com/trailers/disney/walle/hydrant_small.html => resolved http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h320.mov
TotemEmbedded-Message: Viewer state: STOPPED
TotemEmbedded-Message: totem_embedded_open_internal 'http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h320.mov' is-browser-stream 0 start-play 1
TotemEmbedded-Message: BEFORE _open
TotemEmbedded-Message: AFTER _open (ret: 1)
TotemEmbedded-Message: Viewer state: PLAYING
** Message: Error: Resource not found.
gstfilesrc.c(977): gst_file_src_start (): /play/source:
No such file "/movies/disney/wall-e/wall-e-clip-hydrant_h320.mov"

TotemEmbedded-Message: Viewer state: STOPPED
TotemEmbedded-Message: totem_embedded_set_error: 'Location not found.'
TotemEmbedded-Message: totem_embedded_set_error_logo called by browser plugin

-----------------
Pulling down the .mov file:
> wget http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h320.mov

And viewing it shows that it is a reference file only, here are the binary contents:

^@^@^@Xmoov^@^@^@Prmra^@^@^@Hrmda^@^@^@0rdrf^@^@^@^@url ^@^@^@^\wall-e-clip-hydrant_h320.mov^@^@^@^Prmdr^@^@^@^@^@^@
<F0>

Revision history for this message
Pedro Villavicencio (pedro) wrote :

thanks for the report, that works fine for me i'm able to see a wet wall-e the same url works also with wget after seeing the video : http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h320.mov ; does gst-launch-0.10 playbin uri=http://url works for you? thanks.

Changed in totem:
assignee: nobody → desktop-bugs
importance: Undecided → Low
status: New → Incomplete
Revision history for this message
jwishnie (jeff-wishnie) wrote :

I verified with a fresh install of Xubuntu 8.04.1, this problem persists.

Pedro: Are you using UBUNTU not XUBUNTU?

What Gstreamer, Totem, and Firefox related packages do you have installed and which versions??

Here is what is on my _fresh_ install:

firefox 3.0.1+build1+nobinonly-0ubuntu0.8.04.3
firefox-3.0 3.0.1+build1+nobinonly-0ubuntu0.8.04.3
gstreamer0.10-alsa 0.10.18-3
gstreamer0.10-gnomevfs 0.10.18-3
gstreamer0.10-plugins-base 0.10.18-3
gstreamer0.10-plugins-good 0.10.7-3ubuntu0.1
gstreamer0.10-x 0.10.18-3
libgstreamer0.10-0 0.10.18-4ubuntu1
libgstreamer-plugins-base0.10-0 0.10.18-3
libtotem-plparser10 2.22.3-0ubuntu2
totem 2.22.1-0ubuntu2
totem-common 2.22.1-0ubuntu2
totem-gstreamer 2.22.1-0ubuntu2
totem-gstreamer 2.22.1-0ubuntu2
totem-mozilla 2.22.1-0ubuntu2
totem-plugins 2.22.1-0ubuntu2
ubufox 0.5-0ubuntu1

Any/All help greatly appreciated!

Revision history for this message
jwishnie (jeff-wishnie) wrote :

More info. The out put of 'gst-launch':

inveneo@xubuntu-clean:~$ gst-launch-0.10 playbin uri=http://movies.apple.com/movies/disney/wall-e-clip-hydrant_h320.mov
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /playbin0: A HTTP protocol source plugin is required to play this stream, but not installed.
Additional debug info:
gstplaybasebin.c(1663): gen_source_element (): /playbin0:
No URI handler for http
Setting pipeline to NULL ...
FREEING pipeline ...

Revision history for this message
jwishnie (jeff-wishnie) wrote :
Download full text (3.4 KiB)

MORE info: I can get GST-LAUNCH to work, but Firefox embedded still does not.

---------------
Details:

I added these packages:
- gstreamer0.10-plugins-bad [four soup to handle HTTP]
- gstreamer0.10-ffmpeg [for h.264 decoding]

Firefox/Totem plays the direct MOV url (http://movies.apple.com/movies/disney/wall-e-clip-hydrant_h320.mov)

But gives a 'Location not found' error when given the URL of the HTML page that embeds the video:
http://www.apple.com/trailers/disney/walle/hydrant_small.html

I get the following error:

<<
** Message: Error: Resource not found.
gstfilesrc.c(977): gst_file_src_start (): /play/source:
No such file "/home/default/Desktop/wall-e-clip-hydrant_h320.mov"
>>

Which makes it look like Totem is looking for the .mov file in the current working directory.

I tested this by launching FF from different dirs, and the "No such file" is always $CWD/<clipname>

WTF? Shouldn't it be looking in the current users cache?

------
Full output

** Message: IsSchemeSupported scheme 'http': yes
TotemEmbedded-Message: totem_embedded_open_stream called: uri http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h.320.mov, base_uri: http://www.appl
e.com/trailers/disney/walle/hydrant_small.html
TotemEmbedded-Message: totem_embedded_open_internal 'fd://0' is-browser-stream 1 start-play 1
TotemEmbedded-Message: BEFORE _open
TotemEmbedded-Message: AFTER _open (ret: 1)
TotemEmbedded-Message: Viewer state: PLAYING
** Message: OpenStream reply
** Message: NewStream mimetype 'video/quicktime' URL 'http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h.320.mov'
** Message: Should be dual type 'video/quicktime', making sure now
** Message: Is not dual type 'video/quicktime'
** Message: Is not playlist: totem_pl_parser_can_parse_from_data failed (len 88)
** Message: StreamAsFile filename '/home/default/.mozilla/firefox/inveneo-profile.default/Cache/96CA3EA2d01'
** Message: mBytesStreamed 88
** Message: DestroyStream reason 0
** Message: URLNotify URL 'http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h.320.mov' reason 0
TotemEmbedded-Message: stream uri: http://movies.apple.com/movies/disney/wall-e/wall-e-clip-hydrant_h.320.mov
TotemEmbedded-Message: current uri: file:///home/default/.mozilla/firefox/inveneo-profile.default/Cache/96CA3EA2d01
TotemEmbedded-Message: base uri: http://www.apple.com/trailers/disney/walle/hydrant_small.html
TotemEmbedded-Message: redirect: wall-e-clip-hydrant_h320.mov

(totem-plugin-viewer:5357): libgnomevfs-CRITICAL **: gnome_vfs_uri_get_parent: assertion `uri != NULL' failed

(totem-plugin-viewer:5357): libgnomevfs-CRITICAL **: gnome_vfs_uri_unref: assertion `uri != NULL' failed

** (totem-plugin-viewer:5357): CRITICAL **: totem_pl_parser_resolve_url: assertion `base_uri != NULL' failed
TotemEmbedded-Message: Redirecting to 'wall-e-clip-hydrant_h320.mov'
TotemEmbedded-Message: Viewer state: STOPPED
TotemEmbedded-Message: totem_embedded_open_internal 'wall-e-clip-hydrant_h320.mov' is-browser-stream 0 start-play 1
TotemEmbedded-Message: BEFORE _open
TotemEmbedded-Message: AFTER _open (ret: 1)
TotemEmbedded-Message: Viewer state: PLAYING
** Message: Error: Resource not found.
gstfile...

Read more...

Revision history for this message
jwishnie (jeff-wishnie) wrote :

SOLVED (and about to be re-opened as a more concise bug)

Problem is that Xubuntu does not include as a standard package 'libgnomevfs2-extra', without which Totem cannot resolve URLs!

The crucial error is:

<<
(totem-plugin-viewer:5357): libgnomevfs-CRITICAL **: gnome_vfs_uri_get_parent: assertion `uri != NULL' failed

(totem-plugin-viewer:5357): libgnomevfs-CRITICAL **: gnome_vfs_uri_unref: assertion `uri != NULL' failed
>>

Comparing to playback on an fresh Ubuntu Hardy system, which includes libgnomevfs2-extra, this error is _not_ present.

------
Resolution:

> apt-get install libgnomevfs2-extra

For an extra 300k of disk space

Revision history for this message
jwishnie (jeff-wishnie) wrote :

New bug is:
Bug #263825

Revision history for this message
Sebastien Bacher (seb128) wrote :

the issue is already fixed in intrepid, totem uses gio

Changed in totem:
status: Incomplete → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers