janekptacijarabaci
500bbf02e9
Make creation of an Error not capture a filename/lineno it shouldn't have access to; A potential crash
2018-07-25 07:15:18 +08:00
trav90
249e84db1a
Fix build bustage
2018-07-25 07:15:15 +08:00
trav90
da2cc58bf9
Add a constructor to ByteReader
2018-07-25 07:15:14 +08:00
trav90
1afb8663fd
Fix a constructor in ByteReader
2018-07-25 07:15:11 +08:00
trav90
734445d6c5
Add explicit namespace reference to ByteReader to keep compilers happy
2018-07-25 07:15:09 +08:00
trav90
ca61329e71
Fix logging in TrackBuffersManager
2018-07-25 07:15:07 +08:00
trav90
c3330e6c8a
Ensure we don't attempt to process garbage data
2018-07-25 07:15:05 +08:00
trav90
26cd7523aa
Properly search for the required MP4 Atoms rather than make assumptions
2018-07-25 07:15:03 +08:00
trav90
9bdd979cfc
Do not evict data until a full init segment has been received
...
This prevented being able to read the init segment back from the MP4ContainerParser should init segment had been added in multiple blocks.
2018-07-25 07:15:01 +08:00
trav90
6b6dd4be6f
Properly handle partial init and media header
2018-07-25 07:14:59 +08:00
trav90
f0e4337cb8
Do not modify internal data when calculating buffered ranges
2018-07-25 07:14:57 +08:00
trav90
02fa952d69
Error when finding invalid data
2018-07-25 07:14:55 +08:00
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