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 365414 - bacon_video_widget_is_seekable is broken
bacon_video_widget_is_seekable is broken
Status: RESOLVED FIXED
Product: totem
Classification: Core
Component: GStreamer backend
2.16.x
Other Linux
: Normal normal
: ---
Assigned To: Maintainer alias for GStreamer component of Totem
Maintainer alias for GStreamer component of Totem
Depends on:
Blocks:
 
 
Reported: 2006-10-26 19:56 UTC by Sebastien Bacher
Modified: 2006-12-16 15:56 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16



Description Sebastien Bacher 2006-10-26 19:56:58 UTC
That bug has been opened on https://launchpad.net/distros/ubuntu/+source/totem/+bug/61555

"Using totem with gstreamer backend, and totem-mozilla edgy packages.

go to http://warrenmiller.com. Click "videos". Pick a video to play. Playback works fine, and the progress bar moves w/ the playback. Try to move the progress bar to seek, and playback freezes. Pressing pause/play twice doesn't recover, but refreshing the webpage does recover playback."
Comment 1 Bastien Nocera 2006-10-31 00:08:08 UTC
Please attach the full output of the plugin when firefox is launch with -debug.
I don't really see how it could be trying to seek on stdin...
Comment 2 André Klapper 2006-12-02 19:06:57 UTC
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for.
Thanks!
Comment 3 Joe Barnett 2006-12-05 16:44:46 UTC
$ firefox -debug
GNU gdb 6.4.90-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".

(gdb) r
Starting program: /usr/lib/firefox/firefox-bin -a firefox
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1221305456 (LWP 14810)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[New Thread -1224492128 (LWP 14839)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)
(no debugging symbols found)
[New Thread -1234637920 (LWP 14850)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[New Thread -1256137824 (LWP 14869)]
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[New Thread -1284138080 (LWP 14964)]
[New Thread -1292530784 (LWP 14965)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)
[New Thread -1302754400 (LWP 15000)]
[New Thread -1311147104 (LWP 15001)]
[Thread -1311147104 (LWP 15001) exited]
[New Thread -1319539808 (LWP 15002)]
[Thread -1319539808 (LWP 15002) exited]
(no debugging symbols found)
[New Thread -1319539808 (LWP 15009)]
[New Thread -1311147104 (LWP 15010)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread -1319539808 (LWP 15009) exited]
[New Thread -1319539808 (LWP 15055)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
** Message: plugin_get_value 1 (1)

** Message: plugin_get_value 2 (2)

(no debugging symbols found)
** Message: plugin_get_value 1 (1)

** Message: plugin_get_value 2 (2)

(no debugging symbols found)
** Message: plugin_get_value 1 (1)

** Message: plugin_get_value 2 (2)

(no debugging symbols found)
** Message: plugin_get_value 1 (1)

** Message: plugin_get_value 2 (2)

(no debugging symbols found)
** Message: plugin_get_value 1 (1)

** Message: plugin_get_value 2 (2)

(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[New Thread -1362183264 (LWP 15237)]
(no debugging symbols found)
(no debugging symbols found)
[Thread -1362183264 (zombie) exited]
(no debugging symbols found)
[New Thread -1362183264 (LWP 15307)]
[Thread -1362183264 (zombie) exited]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
** Message: NP_Initialize

** Message: totem_plugin_new_instance
totemNarrowSpacePlugin ctor [0x896b890]
mode 1
mime type: video/quicktime
argv[0] src http://progressive.stream.aol.com/time/gl/snow/videos/2005/snocore320_dl.mov
argv[1] pluginspage http://www.apple.com/quicktime/download/
argv[2] name t4mplayer
argv[3] scale TOFIT
argv[4] controller true
argv[5] autoplay true
argv[6] qtnext1 <http://progressive.stream.aol.com/time/gl//mtnpub/videos/wmclips/jwo22_dl.mov>T<myself>
argv[7] href http://www.winterfresh.com
argv[8] target _blank
argv[9] height 256
argv[10] width 320
** Message: plugin_get_value 14 (e)

** Message: plugin_set_window
** Message: waiting for data to come
** Message: leaving plugin_set_window
** Message: plugin_set_window
** Message: existing window
** Message: resize
** Message: leaving plugin_set_window
---Type <return> to continue, or q <return> to quit---c
(no debugging symbols found)
[New Thread -1362183264 (LWP 15425)]
** Message: plugin_new_stream
** Message: plugin_new_stream type: video/quicktime url: http://progressive.stream.aol.com/time/gl/snow/videos/2005/snocore320_dl.mov
** Message: Is dual type 'video/quicktime'

** Message: Launching: /usr/lib/totem/totem-mozilla-viewer --xid 62924110 --width 320 --height 256 --url http://progressive.stream.aol.com/time/gl/snow/videos/2005/snocore320_dl.mov --href http://www.winterfresh.com --target _blank --mimetype video/quicktime fd://0 

** Message: waiting for signal org.totem_15427.MozillaPluginService
** Message: Received notification for :1.20

** Message: Received notification for :1.20

** Message: Received notification for org.totem_15427.MozillaPluginService

** Message: Received notification for org.totem_15427.MozillaPluginService

** Message: Done forking, new proxy=0x89492e8
CMD line: /usr/lib/totem/totem-mozilla-viewer --xid 62924110 --width 320 --height 256 --url http://progressive.stream.aol.com/time/gl/snow/videos/2005/snocore320_dl.mov --href http://www.winterfresh.com --target _blank --mimetype video/quicktime fd://0 
** Message: totem_embedded_open 'fd://0'
** Message: plugin_set_window
** Message: existing window
** Message: resize
** Message: leaving plugin_set_window
** Message: plugin_get_value 15 (f)

** Message: unhandled variable 15 (f)
** Message: plugin_get_value 11 (b)

** Message: plugin_get_value 268435466 (1000000a)

** Message: GetHelperForLanguage 2
** Message: GetInterfaces


****************************************
starts playing back here, then I try to seek,
and video freezes.  no output for a while, but
later get:
****************************************



** Message: plugin_get_value 15 (f)

** Message: unhandled variable 15 (f)
** Message: plugin_get_value 11 (b)

** Message: plugin_get_value 268435466 (1000000a)

** Message: plugin_set_window
** Message: existing window
** Message: resize
** Message: leaving plugin_set_window
** Message: plugin_get_value 15 (f)

** Message: unhandled variable 15 (f)
** Message: plugin_get_value 11 (b)

** Message: plugin_get_value 268435466 (1000000a)

** Message: plugin_set_window
** Message: existing window
** Message: resize
** Message: leaving plugin_set_window
** Message: plugin_get_value 15 (f)

** Message: unhandled variable 15 (f)
** Message: plugin_get_value 11 (b)

** Message: plugin_get_value 268435466 (1000000a)

** Message: plugin_set_window
** Message: existing window
** Message: resize
** Message: leaving plugin_set_window
** Message: plugin_get_value 15 (f)

** Message: unhandled variable 15 (f)
** Message: plugin_get_value 11 (b)

** Message: plugin_get_value 268435466 (1000000a)

** Message: plugin_set_window
** Message: existing window
** Message: resize
** Message: leaving plugin_set_window
** Message: plugin_get_value 15 (f)

** Message: unhandled variable 15 (f)
** Message: plugin_get_value 11 (b)

** Message: plugin_get_value 268435466 (1000000a)

** Message: plugin_set_window
** Message: existing window
** Message: resize
** Message: leaving plugin_set_window
** Message: plugin_get_value 15 (f)

** Message: unhandled variable 15 (f)
** Message: plugin_get_value 11 (b)

** Message: plugin_get_value 268435466 (1000000a)

** Message: plugin_set_window
** Message: existing window
** Message: resize
** Message: leaving plugin_set_window
** Message: plugin_destroy_stream, reason: 2
** Message: plugin_destroy
[Thread -1362183264 (zombie) exited]
[Thread -1302754400 (LWP 15000) exited]
[Thread -1284138080 (LWP 14964) exited]
[Thread -1292530784 (LWP 14965) exited]
[Thread -1224492128 (LWP 14839) exited]
[Thread -1311147104 (LWP 15010) exited]
totemNarrowSpacePlugin dtor [0x896b890]
[Thread -1319539808 (LWP 15055) exited]
[Thread -1256137824 (LWP 14869) exited]
[Thread -1234637920 (LWP 14850) exited]

Program exited normally.
Comment 4 Bastien Nocera 2006-12-07 15:25:43 UTC
Are you using the GStreamer or xine-lib backend?

The implementation of bacon_video_widget_is_seekable for the GStreamer backend seems completely broken to me.
Comment 5 Joe Barnett 2006-12-07 17:01:01 UTC
gstreamer backend.
Comment 6 Bastien Nocera 2006-12-07 17:15:43 UTC
in the GStreamer backend, bacon_video_widget_is_seekable seems to allow seeking even when the stream really isn't seekable. It seems it's enough for the stream to have a length for GStreamer to allow seeking.

You can't seek on fd://0, at least, and possibly not in a lot of other occasions.
Comment 7 Tim-Philipp Müller 2006-12-16 15:30:50 UTC
> It seems it's enough for the stream to have a length for GStreamer
> to allow seeking.

Indeed, that's pretty broken (strangely enough seeking was always disabled for me in the totem plugin for apple trailers anyway).

_is_seekable() should use a SEEKING query to determine seekability. This needs to be supported in decoders/demuxers though. I've recently added support for this to the common demuxers and qtdemux: 

 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>

        * gst/qtdemux/qtdemux.c: (gst_qtdemux_get_src_query_types),
        (gst_qtdemux_handle_src_query), (gst_qtdemux_handle_src_event):
          We don't support seeking in streaming mode, so don't even try.
          Implement seeking query so apps can query seekability properly
          (see #365414). Fix duration query.


Still needs changes in totem.
Comment 8 Tim-Philipp Müller 2006-12-16 15:56:58 UTC
Fixed in totem:

 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>

        * src/backend/bacon-video-widget-gst-0.10.c:
        (bacon_video_widget_open_with_subtitle),
        (bacon_video_widget_is_seekable):
          Use SEEKING query to query seekability instead of second-guessing
          based on whether we have a duration or not (Closes: #365414).
          Needs decoder/demuxer support.


Please file bugs for any cases where this still doesn't work right with GStreamer CVS.