Commit Graph

1833 Commits

Author SHA1 Message Date
trav90 1096be0306 Add diagnostic to ensure no pending append is going 2018-07-25 07:14:53 +08:00
trav90 c836f6adf3 Use ProxyMediaCall and remove need for monitor 2018-07-25 07:14:51 +08:00
trav90 c25d1999b0 Better handle partial media segments 2018-07-25 07:14:49 +08:00
trav90 8f0d5996a2 Add ContainerParser::FirstCompleteMediaHeader() method 2018-07-25 07:14:47 +08:00
trav90 d03c8fa0e9 Relax frame discontinuity detection 2018-07-25 07:14:42 +08:00
trav90 cc4891fe01 Properly insert frames in DTS order 2018-07-25 07:14:39 +08:00
trav90 4708ca920e Add eviction support to TrackBuffersManager
We evict data in two steps. Up to playback time, or tail data.
2018-07-25 07:14:37 +08:00
trav90 cead5d3907 Add TrackBuffersManager object
This implements MSE's SourceBuffer (mostly) per spec with no memory or speed optimizations of any kind (this will be done in future patches).
2018-07-25 07:14:36 +08:00
trav90 23c5c4b2da Remove "Diamond Problem" with MediaDecoder inheritance
MediaDecoder inherited from nsIObserver which inherits from nsISupport while also inheriting from AbstractMediaDecoder which itself inherits from nsISupport. This causes a "diamond problem", and prevents using some utility classes like NS_ProxyRelease or nsMainThreadPtrHandle. MediaDecoder will assert if destructed on anything but the main thread.
2018-07-25 07:14:34 +08:00
trav90 3ad0c796f5 Check MoofParser index before demuxing 2018-07-25 07:14:32 +08:00
trav90 a7bbb6c8d2 Add ability to retrieve init range to ContainerParser
Currently, we always assume that the init segment starts at offset 0. But this doesn't have to always be true.
2018-07-25 07:14:30 +08:00
trav90 319f10d372 Make RangeRemoval use promises 2018-07-25 07:14:27 +08:00
trav90 11cc3e6cb8 Split AppendData task to be closer to spec 2018-07-25 07:14:25 +08:00
trav90 dd1669990b Add -=, - and * (with integer) operators to TimeUnit 2018-07-25 07:14:23 +08:00
trav90 c090489735 Add -= and - operator to IntervalSet
Remove an interval from an interval set.
2018-07-25 07:14:21 +08:00
trav90 e74e8f7b5a Add ContainerParser::MediaSegmentRange() method
And add abilities to MoofParser to indicate if a media segment is complete. In an MP4 file a media segment is made up of a moof atom followed by one (or more) mdat atoms.
2018-07-25 07:14:19 +08:00
trav90 f17a0d08f8 Re-land "Fix data race in AudioSink::mWritten" 2018-07-25 07:14:17 +08:00
Pale Moon 82ae8240c4 Update media query tests. 2018-07-25 07:14:15 +08:00
Pale Moon bd4b9b454d Remove unused atoms. 2018-07-25 07:14:13 +08:00
Pale Moon 0136f827ca Remove style rule processing for XP themes.
XP specific themes Luna Blue/Olive/Silver and Royale+Zune removed.
2018-07-25 07:14:11 +08:00
Pale Moon 5927002de5 Revert "Disable the use of display-lists for SVG hit-testing and painting."
This reverts commit 01f632951f482a6202fd04ce41bd18e7db33579c.
Not using display lists causes other issues, probably because alignment fixes for SVG were only applied to display list code and untested with them off.
We need a better solution in #1076
2018-07-25 07:14:09 +08:00
trav90 3cbf3e5e8a Fix indentation
No code changes. Followup to 2c9ac59.
2018-07-25 07:14:05 +08:00
trav90 6a8508f898 Remove Windows intrinsics from Atomic.h and allow Atomic to hold 64-bit types everywhere 2018-07-25 07:14:03 +08:00
Pale Moon f27e2a974c Disable the use of display-lists for SVG hit-testing and painting.
Obviously there are accuracy-issues with large scale factors here. Choosing to be more accurate instead of faster. On modern hardware the perf hit won't be noticed, anyway.
2018-07-25 07:13:54 +08:00
Pale Moon d91a67b5be Address review comments:
- add missing return
- convert alert() to a confirm() to offer quitting the application straight away.
2018-07-25 07:13:51 +08:00
Pale Moon 56b023c005 Implement browser startup autorecovery module. 2018-07-25 07:13:50 +08:00
Pale Moon 2a8a05c70b Remove LP recovery hack.
This is no longer needed by doing this on the actual LP side.
Supersedes #1063 #1068 and makes #713 obsolete.
2018-07-25 07:13:45 +08:00
janekptacijarabaci 638e00f455 [suggestion, minor fix] Plugins - A problem - CSS (Ask to Activate) 2018-07-25 07:13:42 +08:00
trav90 c7b3189b57 Use .forget() instead of Move() to convert from nsRefPtr<Derived> to nsRefPtr<Base> 2018-07-25 07:13:38 +08:00
trav90 4a88f0643d Implement MediaPromise::All 2018-07-25 07:13:36 +08:00
trav90 c0ceb27d9b Make MediaPromise more rvalue-friendly 2018-07-25 07:13:33 +08:00
trav90 1200215982 Stop copying ResolveOrRejectValues 2018-07-25 07:13:30 +08:00
trav90 668787be65 Add MediaPromise gtests 2018-07-25 07:13:26 +08:00
trav90 988ece1b09 Add some more comments for MediaPromise 2018-07-25 07:13:23 +08:00
trav90 96a8014257 Replace 'Consumer' with 'Request' in MediaPromise naming
Not usually a fan of Mozilla renaming, but doing this now will save me some headaches with new code later.
2018-07-25 07:13:20 +08:00
trav90 ea18ec04d8 Use a base class for refcounting MediaPromise::Consumer as well 2018-07-25 07:13:18 +08:00
trav90 c37d09799d Implement completion promises 2018-07-25 07:13:15 +08:00
trav90 c1cf51580f Do template mangling to allow promise callbacks to optionally return a promise, and surface that from InvokeCallbackMethod 2018-07-25 07:13:13 +08:00
trav90 b768143c5b Fix up InvokeCallbackMethod to templatize more generally on the method type 2018-07-25 07:13:11 +08:00
trav90 6caee83a1c Make IsConvertible handle void 2018-07-25 07:13:09 +08:00
trav90 25c8d9666f Make FunctionThenValue dispatch via InvokeCallbackMethod 2018-07-25 07:13:07 +08:00
trav90 759486911b Get rid of RefableThen and make Then return an nsRefPtr<Consumer> 2018-07-25 07:13:05 +08:00
trav90 038246e378 Improve MediaPromise::ResolveOrRejectValue 2018-07-25 07:13:03 +08:00
trav90 dd39863960 Fix typo 2018-07-25 07:12:59 +08:00
trav90 645c4f4fdb Make templated MediaPromise class inherit from ref-counted base
NS_INLINE_DECL_THREADSAFE_REFCOUNTING can't be used with templated classes.
2018-07-25 07:12:56 +08:00
janekptacijarabaci 7e58e987fc [suggestion, minor fix] about:addons - category icon - plugins (follow up) 2018-07-25 07:12:53 +08:00
Pale Moon 0b014e08e7 Enable TLS 1.3 by default.
This resolves #1057.
2018-07-25 07:12:50 +08:00
Pale Moon 78ad32817e Enable vsync-aligned rendering to improve scrolling smoothness.
Compositor alignment is kept off for now.
2018-07-25 07:12:47 +08:00
Pale Moon 7e692796f5 Try fully-automated recovery in case of incompatible language pack. (reprise)
Follow-up to 7988657bf5d5bc7fa7f7ac84acdacf6826ac552b ; inform the user what's happening before restarting.
2018-07-25 07:12:44 +08:00
Pale Moon fab0f30817 Revert "Smart browser recovery in case of incompatible language pack"
This reverts commit cf03b1f17054f26dd986bc349cb3bddc4cd01b75.
2018-07-25 07:12:41 +08:00