[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