Uh oh!
There was an error while loading. Please reload this page.
Fixing HLS playback. - #16
Conversation
eocanha
commented
Dec 21, 2015
The changes are fine. Just rebase them against the latest master and squash the three commits in one ("git rebase -i", change "push" for "s" in all the commits except the first one, write a meaningful message) and we're done. |
valbok
commented
Dec 21, 2015
Hi Enrique, sorry about messup with commits, please say if there is an additional need to prepare the fix. |
4fda158 to
2d52cc1Compareddb3e01 to
20b7e2aComparevalbok
commented
Jan 11, 2016
Hi Enrique, please merge last changes, that was somehow missing from previous merge. Thanks |
philn
commented
Jan 11, 2016
What do you mean by HLS? Apple's HLS is usually handled with the standard player in WebKit (not MSE). |
valbok
commented
Jan 11, 2016
philn, http live streaming. Last commit also contains serious fix in MediaSource::monitorSourceBuffers() to prevent assigning HAVE_ENOUGH_DATA to media player. |
philn
commented
Jan 11, 2016
Ah ok, so that player implements HLS with MSE, for the unlucky browsers not supporting it natively :) |
eocanha
commented
Jan 11, 2016
Sorry, I can't merge the pull request because it causes YouTube 2016 tests 23 and 42 to fail. |
Fixed following: 1. Fixed to set infinity duration to MediaSourceClientGStreamerMSE. See SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment. When no valid duration found in Initialization Segment Received it sets infinity as a duration and makes it as a live stream. 2. In case if current duration is infinity in MediaPlayerPrivateGStreamerMSE::maxTimeSeekable() added a fix to fetch the highest end time value from buffered attribute to return proper filled TimeRange object in HTMLMediaElement.seekable(). 3. Fixed MediaSource::monitorSourceBuffers() to prevent assigning HAVE_ENOUGH_DATA to media player which led to send loadeddata event before initialization segment received, and no valid duration, seekable and other attributes returned.
valbok
commented
Jan 22, 2016
Hi Enrique, could you please check my latest fixes, that should fix 23 youtube test from http://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/2016.html. Also potentially may fix 42 - MediaSourceDuration. FYI: 23 test failed due to following change: Because I allowed to pass inf value to MediaSourceClient and MediaPlayerPrivateGStreamerMSE. Since previously player never had infinite duration, looks durationMediaTime() is not supposed to and should not return inf value as well. |
valbok
commented
Jan 26, 2016
@albertd, could you please tip how to build and test MSE on the Pi? link? Thanks |
valbok
commented
Jan 26, 2016
Thanks, but I meant build and run WebKitForWayland on the Pi. |
b4a4f67 to
3f4ede2Comparesarkanyi
commented
Sep 20, 2016
I think I might have a more elegant and non-breaking solution for your issue, please see here: |
…s and zero reg https://bugs.webkit.org/show_bug.cgi?id=168527 Reviewed by Filip Pizlo. Added support for data processing 1 source instructions like rbit, rev, clz and cls. Added support for the FP conditional select instruction, fcsel. Consolidated the two classes for handling dmb instructions into one class. Fixed the instruction selection mask in the integer conditional select class, A64DOpcodeConditionalSelect. Fixed the processing of extract instruction (extr) including the rotate right (ror) pseudo instruction. Changed the printing of x31 and w31 to xzr and wzr as operands according to the spec. Added support for common pseudo instructions. This includes: - mvn x1, X2 in place of orn x1, xzr, x2 - lsl x3, x4, #count in place of ubfiz x3, x4, #count, #count - smull x5, w6, w7 in place of smaddl x5, w6, w7, XZR - More understandable mov x8, #-304 in place of movn x8, #0x12f - Eliminated xzr from register index loads and stores, outputing ldr x10, [x11] instead of ldr x10, [x11, xzr] Changed the move wide instructions to use hex literals for movz and movk. This makes it much easier to decifer sequences of wide moves for large literals. Before After movz x17, #26136 movz x17, #0x6618 movk x17, #672, lsl #16 movk x17, #0x2a0, lsl #16 movk x17, #1, lsl #32 movk x17, #0x1, lsl #32 Verified that all instructions currently generated by the JSC stress tests are disassembled. * disassembler/ARM64/A64DOpcode.cpp: (JSC::ARM64Disassembler::A64DOpcodeBitfield::format): (JSC::ARM64Disassembler::A64DOpcodeDataProcessing1Source::format): (JSC::ARM64Disassembler::A64DOpcodeDataProcessing2Source::format): (JSC::ARM64Disassembler::A64DOpcodeDataProcessing3Source::format): (JSC::ARM64Disassembler::A64DOpcodeExtract::format): (JSC::ARM64Disassembler::A64DOpcodeFloatingPointConditionalSelect::format): (JSC::ARM64Disassembler::A64DOpcodeFloatingPointIntegerConversions::format): (JSC::ARM64Disassembler::A64DOpcodeDmb::format): (JSC::ARM64Disassembler::A64DOpcodeLoadStoreImmediate::format): (JSC::ARM64Disassembler::A64DOpcodeLoadStoreRegisterOffset::format): (JSC::ARM64Disassembler::A64DOpcodeLoadStoreRegisterPair::format): (JSC::ARM64Disassembler::A64DOpcodeLoadStoreUnsignedImmediate::format): (JSC::ARM64Disassembler::A64DOpcodeLogicalShiftedRegister::format): (JSC::ARM64Disassembler::A64DOpcodeMoveWide::format): (JSC::ARM64Disassembler::A64DOpcodeDmbIsh::format): Deleted. (JSC::ARM64Disassembler::A64DOpcodeDmbIshSt::format): Deleted. * disassembler/ARM64/A64DOpcode.h: (JSC::ARM64Disassembler::A64DOpcode::appendSignedImmediate64): (JSC::ARM64Disassembler::A64DOpcode::appendUnsignedHexImmediate): (JSC::ARM64Disassembler::A64DOpcodeDataProcessing1Source::opName): (JSC::ARM64Disassembler::A64DOpcodeDataProcessing1Source::sBit): (JSC::ARM64Disassembler::A64DOpcodeDataProcessing1Source::opCode): (JSC::ARM64Disassembler::A64DOpcodeDataProcessing1Source::opCode2): (JSC::ARM64Disassembler::A64DOpcodeDataProcessing1Source::opNameIndex): (JSC::ARM64Disassembler::A64DOpcodeDataProcessing3Source::opName): (JSC::ARM64Disassembler::A64DOpcodeFloatingPointConditionalSelect::opName): (JSC::ARM64Disassembler::A64DOpcodeFloatingPointConditionalSelect::condition): (JSC::ARM64Disassembler::A64DOpcodeDmb::option): (JSC::ARM64Disassembler::A64DOpcodeDmb::crM): (JSC::ARM64Disassembler::A64DOpcodeLogicalShiftedRegister::isMov): (JSC::ARM64Disassembler::A64DOpcodeDmbIsh::opName): Deleted. (JSC::ARM64Disassembler::A64DOpcodeDmbIshSt::opName): Deleted. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@212592 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fixed following: