[Webkit-unassigned] [Bug 140808] New: [GTK] .ogv videos over http cannot seek using video controls
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Jan 22 18:41:02 PST 2015
https://bugs.webkit.org/show_bug.cgi?id=140808
Bug ID: 140808
Summary: [GTK] .ogv videos over http cannot seek using video
controls
Classification: Unclassified
Product: WebKit
Version: 528+ (Nightly build)
Hardware: Unspecified
OS: Linux
Status: NEW
Severity: Normal
Priority: P2
Component: WebKit Gtk
Assignee: webkit-unassigned at lists.webkit.org
Reporter: philip.chimento at gmail.com
The following Python script using WebKitGTK 2.4.6 exhibits some odd behaviour with the video progress control while playing an .ogv file over HTTP:
from gi.repository import WebKit2, Gtk
win = Gtk.Window(default_width=800, default_height=600)
view = WebKit2.WebView()
view.load_html('''
<html>
<body>
<video src="http://upload.wikimedia.org/wikipedia/commons/1/13/2012_Team_USA_basketball_practice.ogv"
height="580" width="780" controls/>
</body>
</html>
''', 'file:///')
win.add(view)
win.show_all()
win.connect('destroy', Gtk.main_quit)
Gtk.main()
If you try to seek to a later position in the video using the progress control, the progress bar and the clock update, but the video freezes at the new frame, and cannot be made to play again.
If you download the file and play it from a file:// URI, seeking works properly. If you play a .webm file over HTTP, seeking works properly.
For comparison, I tried the same thing on a Fedora 21 VM with 2.6.4, and 2.7.4 from Rawhide. (Sorry, I don't have actual hardware running an appropriate environment at the moment.)
On 2.6.4, when you try to seek, the video plays on as if nothing happened, the progress bar updates to the new position, but the clock freezes. (This happens with .webm videos as well.)
On 2.7.4, the WebProcess crashes when you try to play the video in the first place. Stack trace below:
Program received signal SIGSEGV, Segmentation fault.
0x00007f94dc766029 in llint_entry () from /lib64/libjavascriptcoregtk-4.0.so.18
(gdb) bt
#0 0x00007f94dc766029 in llint_entry ()
at /lib64/libjavascriptcoregtk-4.0.so.18
#1 0x00007f94dc761e76 in vmEntryToJavaScript ()
at /lib64/libjavascriptcoregtk-4.0.so.18
#2 0x00007f94dc4f2684 in JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) () at /lib64/libjavascriptcoregtk-4.0.so.18
#3 0x00007f94dc4d290c in JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) () at /lib64/libjavascriptcoregtk-4.0.so.18
#4 0x00007f94dc61cc35 in JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) ()
at /lib64/libjavascriptcoregtk-4.0.so.18
#5 0x00007f94dc61cc51 in JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, JSC::JSValue*) ()
at /lib64/libjavascriptcoregtk-4.0.so.18
#6 0x00007f94dd2e693d in WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*) () at /lib64/libwebkit2gtk-4.0.so.37
#7 0x00007f94dd48bd5f in WebCore::EventTarget::fireEventListeners(WebCore::Event*, WebCore::EventTargetData*, WTF::Vector<WebCore::RegisteredEventListener, 1ul, WTF::CrashOnOverflow>&) () at /lib64/libwebkit2gtk-4.0.so.37
#8 0x00007f94dd48c180 in WebCore::EventTarget::fireEventListeners(WebCore::Event*) () at /lib64/libwebkit2gtk-4.0.so.37
#9 0x00007f94dd4854c8 in WebCore::EventContext::handleLocalEvents(WebCore::Event&) const () at /lib64/libwebkit2gtk-4.0.so.37
#10 0x00007f94dd487836 in WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WTF::PassRefPtr<WebCore::Event>) () at /lib64/libwebkit2gtk-4.0.so.37
#11 0x00007f94dd4a2555 in WebCore::Node::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) () at /lib64/libwebkit2gtk-4.0.so.37
#12 0x00007f94dd48ddb6 in WebCore::GenericEventQueue::dispatchOneEvent() ()
at /lib64/libwebkit2gtk-4.0.so.37
#13 0x00007f94dd48dee5 in WebCore::GenericEventQueue::sharedTimerFired() ()
at /lib64/libwebkit2gtk-4.0.so.37
#14 0x00007f94dd8e58d9 in WebCore::ThreadTimers::sharedTimerFiredInternal() ()
at /lib64/libwebkit2gtk-4.0.so.37
#15 0x00007f94dc7dcb51 in WTF::GMainLoopSource::voidCallback() ()
at /lib64/libjavascriptcoregtk-4.0.so.18
#16 0x00007f94dc7d7cda in WTF::GMainLoopSource::voidSourceCallback(WTF::GMainLoopSource*) () at /lib64/libjavascriptcoregtk-4.0.so.18
#17 0x00007f94dc7d7d3f in WTF::{lambda(_GSource*, int (*)(void*), void*)#1}::_FUN(_GSource*, int (*)(void*), void*) () at /lib64/libjavascriptcoregtk-4.0.so.18
#18 0x00007f94d96ebaeb in g_main_context_dispatch (context=0x7f94dff20780)
at gmain.c:3111
#19 0x00007f94d96ebaeb in g_main_context_dispatch (context=context at entry=0x7f94dff20780) at gmain.c:3710
#20 0x00007f94d96ebe88 in g_main_context_iterate (context=0x7f94dff20780, block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>) at gmain.c:3781
#21 0x00007f94d96ec1b2 in g_main_loop_run (loop=0x7f94e00b2300) at gmain.c:3975
#22 0x00007f94dd1e5319 in int WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain>(int, char**) () at /lib64/libwebkit2gtk-4.0.so.37
#23 0x00007f94d3fe3fe0 in __libc_start_main () at /lib64/libc.so.6
#24 0x00007f94deec4c59 in _start ()
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150123/b0f247dd/attachment-0002.html>
More information about the webkit-unassigned
mailing list