GNOME Bugzilla – Bug 365414
bacon_video_widget_is_seekable is broken
Last modified: 2006-12-16 15: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."
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...
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!
$ 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.
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.
gstreamer backend.
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.
> 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.
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.