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 358277 - Unable to view embeded video due to lack of gif support
Unable to view embeded video due to lack of gif support
Status: RESOLVED FIXED
Product: totem
Classification: Core
Component: Browser plugin (obsolete)
unspecified
Other Linux
: Normal normal
: ---
Assigned To: totem-browser-maint
totem-browser-maint
Depends on:
Blocks:
 
 
Reported: 2006-09-29 11:34 UTC by Christian Fredrik Kalager Schaller
Modified: 2007-08-16 18:35 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Christian Fredrik Kalager Schaller 2006-09-29 11:34:50 UTC
This embeded player refuse to play for me:
http://atvs.vg.no/player/player.php?id=5358&bandwidth=1804931&bandwidth_detected=1

Instead I get a message saying that:
Totem could not play 'http://atvs.vg.no/video/gfx/vg-tv.gif'.

ou do not have a decoder installed to handle this file. You might need to install the necessary plugins.

So I guess this site displays a gif file before starting to play the movie clip.
Comment 1 Tim-Philipp Müller 2006-10-02 13:08:31 UTC
The GIF file works fine here (ubuntu edgy/x86 + GStreamer/totem CVS)

 - Do you have the gdkpixbufdec decoder element installed? (from -good)?

 - If yes, does your version of libgdkpixbuf come with a gif pixbuf loader?

      $ ls -l /usr/lib/gdk-pixbuf/loaders/*gif*



Comment 2 Bastien Nocera 2006-10-02 13:12:43 UTC
Actually, the xine-lib backend fails with a "BVW_ERROR_STILL_IMAGE" error ("This movie is a still image. You can open it with an image viewer.").

Should we remove that?
Comment 3 Christian Fredrik Kalager Schaller 2006-10-02 16:07:48 UTC
Ok, I was missing the gif plugin, with it installed the error message goes away, but the video do not start. I assume it might be stuck on the gif file. I don't know how they do it or what they expect us to do, looking at the page source I do notice a lot of javascript, is that another testcase needing us to support WMP javascript interfaces to work? 
Comment 4 Bastien Nocera 2006-10-02 22:08:08 UTC
added URI 'http://atvs.vg.no/video/gfx/vg-tv.gif' with title 'Annonse' genre '(null)'
added URI 'mms://video.vg.no/vg/video2005/storage/compressed/5358/wm_56.wmv?WMThinning=1' with title 'empty' genre '(null)'

From the playlist file:
   <Entry CLIENTSKIP="NO">
    <Title>Annonse</Title>
    <Author>VG Multimedia med Kroma & Aptoma NettTV</Author>
    <Copyright>(c) 2006 VG Multimedia AS</Copyright>
    <Abstract>Annonse</Abstract>
    <MoreInfo href=""/>
    <Ref href="http://atvs.vg.no/video/gfx/vg-tv.gif"/>
    <DURATION VALUE = "00:00:02" />
  </Entry>

Ha! We actually don't know how to handle duration values in playlists, but it should be fairly straight-forward to add.

We need the playlist parser to allow more properties to be added to the "entry" signal. In the meantime, I guess both Tim and I could add hacks to make the image "eos" after, say, 5 seconds.
Comment 5 Bastien Nocera 2006-10-02 22:40:42 UTC
Actually, scratch that.

I've removed the STILL_IMAGE error on open, and added a STILL_IMAGE video property. The backend can get a decent idea as to whether it is a still image or not.

xine-lib, with the gdk-pixbuf plugin, just reads that as a still image and not an animation that it is. After 5 seconds of playback (the length of the animation), the stream is supposed to end.

I guess that, for this particular stream, we don't need any playlist parser changes, just bug fixing in the backends.
Comment 6 Bastien Nocera 2006-10-02 22:47:59 UTC
2006-10-02  Bastien Nocera  <hadess@hadess.net>

        * src/backend/bacon-video-widget-xine.c:
        (bacon_video_widget_open_with_subtitle):
        * src/backend/bacon-video-widget.h:
        * src/totem-mozilla-viewer.c: (totem_embedded_open):
        * src/totem-video-thumbnailer.c: (video_is_still_image), (main):
        remove the BVW_ERROR_STILL_IMAGE error on open, and instead
        use the BVW_INFO_STILL_IMAGE. This should allow us to playback
        the adverts (sigh) at http://atvs.vg.no (Helps: #358277)

The GStreamer backend needs to implement getting the BVW_INFO_STILL_IMAGE property, and (hopefully) fix the playback of this image as an animation. xine-lib needs to do the latter.
Comment 7 Tim-Philipp Müller 2006-10-04 12:52:46 UTC
Actually, I was talking nonsense, the animation bit doesn't work in GStreamer at the moment and needs fixing (we only decode the first frame right now).

Comment 8 Bastien Nocera 2007-08-16 17:20:57 UTC
Using Firefox 2 (Mozilla won't work, as it doesn't support the "object" bits used in http://atvs.vg.no/player/js/playerformats/wm.js), I get:

added URI 'http://atvs.vg.no/video/gfx/logo_intro.swf'
        title = 'Annonse'
        duration = '00:00:02'
added URI 'mms://video.vg.no/vg/video2005/storage/compressed/5358/wm_56.wmv?WMThinning=1'
        title = 'VGTV'
added URI 'http://atvs.vg.no/video/gfx/reklame.gif'
        title = 'Annonse'
        duration = '00:00:01'
added URI 'mms://video.vg.no/vg/video2005/storage/compressed/10823/wm_56.wmv?WMThinning=1'
        title = 'Annonse'

We'd just need to skip over the logo, if we don't know how to play it.
Comment 9 Bastien Nocera 2007-08-16 18:35:54 UTC
Works with firefox 2, and the following changes.

2007-08-16  Bastien Nocera  <hadess@hadess.net>

        * browser-plugin/totem-plugin-viewer.c:
        (totem_embedded_open_playlist_item), (on_eos_event),
        (on_error_event), (totem_pl_item_free),
        (totem_embedded_clear_playlist), (totem_embedded_parse_duration),
        (entry_parsed):

        Store the playlist items in a struct, with associated information

        Parse (naively) duration information from the playlist parser

        When an error occurs during playback, and the file to play was marked
        as "short" (less than 60 seconds), skip to the next item in the
        playlist, so that unsupported "header" (adverts) are skipped

        (Closes: #358277)