Jean-Yves Avenard
76d15eeeff
Bug 1157075: Part2. Use MediaPromise to read TrackBuffer metadata. r=bholley,r=karlt
2015-05-01 15:37:31 +10:00
Bobby Holley
fa335dee6c
Bug 1154782 - Align the failure handling of the TemporaryRef Dispatch overload with its companion. r=jww
...
Most of the callers ignore the return values. The MOZ_DIAGNOSTIC_ASSERTS will
tell us if any of these actually fail in practice.
2015-04-15 22:30:36 -07:00
Jean-Yves Avenard
d444fdc20b
Bug 1153094: Rename LargeDataBuffer and DataBuffer object. r=cpearce
...
This causes conflicts with webRTC libraries that use those names already. The
linker appears to get it wrong and calls the destructor of the wrong class.
2015-04-15 15:27:38 +10:00
Bobby Holley
09f0153b4f
Bug 1144519 - Rename MediaDecoder::OnDecodeThread to MediaDecoder::OnDecodeTaskQueue. r=jya
2015-03-27 11:50:21 -07:00
Bobby Holley
3d7cf9b65a
Bug 1142336 - Create one unified thread pool for media code and run the MDSM task queues on it. r=mattwoodrow
...
This allows for parallel MDSM execution. \o/
2015-03-25 17:46:26 -07:00
Karl Tomlinson
c9a9125dc1
bug 1144341 RemoveDecoder() when initialization is aborted r=jya
2015-03-23 18:13:38 +13:00
Edwin Flores
b6f093015a
Bug 1134434 - Fire loadedmetadata before encrypted event on encrypted MP4s - r=cpearce
2015-03-23 15:31:15 +13:00
Ehsan Akhgari
5cccea6f0f
Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
...
This patch was automatically generated using the following script:
function convert() {
echo "Converting $1 to $2..."
find . \
! -wholename "*/.git*" \
! -wholename "obj-ff-dbg*" \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Phil Ringnalda
81bae8226a
Back out 59fd15407a79 (bug 1142336) for shutdown hangs
...
CLOSED TREE
2015-03-18 20:38:43 -07:00
Bobby Holley
54a90d1df5
Bug 1142336 - Create one unified thread pool for media code and run the MDSM task queues on it. r=mattwoodrow
...
This allows for parallel MDSM execution. \o/
2015-03-18 18:00:49 -07:00
Jean-Yves Avenard
c5564682a3
Bug 1138922: Fix build bustage. r=mattwoodrow
2015-03-04 18:53:15 +11:00
Matt Woodrow
c88a00a5d4
Bug 1138260 - Add typed Microseconds class and use it for the range removal algorithm. r=jya,kinetik
2015-03-03 17:38:45 +13:00
Karl Tomlinson
d470aca6b6
bug 1123492 ResetDecode() on subreaders before Seek() r=mattwoodrow
2015-02-28 19:46:22 +13:00
Matt Woodrow
8ea8864c3f
Bug 1136984 - Followup to fix build.
2015-02-27 12:07:05 +13:00
Matt Woodrow
a440a4ab84
Bug 1136984 - Use correct units for comparing timestamps in TrackBuffer::RangeRemoval. r=jya
2015-02-27 11:47:46 +13:00
Karl Tomlinson
f447869d7f
back out 6fc9b30bbdd9..232b818847e7 from bug 1123492 for crashes in DoVideoSeek()
2015-02-26 19:37:48 +13:00
Karl Tomlinson
e7a479b9aa
bug 1123492 ResetDecode() on subreaders when switching to current or seeking r=mattwoodrow
2015-02-18 19:23:31 +13:00
Jean-Yves Avenard
b76671320c
Bug 1136576: Properly align source buffer starts with current decoder. r=cajbir
2015-02-25 20:55:14 +11:00
Jean-Yves Avenard
4cc8ddead7
Bug 1096089: Part3. Add trimming support from beginning of source buffer. r=cajbir
2015-02-24 16:38:42 +11:00
Jean-Yves Avenard
c6138de589
Bug 1134064: Part5. Evict from TrackBuffer's current decoder. r=cajbir
...
Also evicts all data from inactive decoders once there's nothing left to play
in them.
2015-02-24 16:38:41 +11:00
Jean-Yves Avenard
32297172a5
Bug 1132342: Handle race should operation be aborted while reading metadata. r=karlt
2015-02-24 16:38:41 +11:00
Jean-Yves Avenard
685d065d81
Bug 1133625: Return an error when attempting to append too much data. r=cajbir
...
Implement part 6 of Prepare Append Algorithm:
http://w3c.github.io/media-source/#sourcebuffer-prepare-append
"If the buffer full flag equals true, then throw a QuotaExceededError exception and abort these step."
2015-02-20 14:19:13 +13:00
Jean-Yves Avenard
cc26a13e4e
Bug 1132796: Revert incorrect change on A CLOSED TREE. r=me
...
Revision 355f5e2dee58 got overwritten in dad2b3245457
2015-02-17 22:07:48 +13:00
Jean-Yves Avenard
43f860dc7e
Bug 1132796: Evict data we likely previously read. r=cajbir
...
Also attempt to evict future data, the furthest away from playback position.
2015-02-13 16:52:42 +11:00
Jean-Yves Avenard
ab2d3c3522
Bug 1132825: Don't evict partial segments. r=cajbir
...
Evicting a partial segment can leave the entire sourcebuffer in unplayable
state.
2015-02-17 16:24:19 +13:00
Karl Tomlinson
e1817de7e7
bug 1132328 make ReleaseDecoderTask conversion constructor explicit r=fix
2015-02-16 18:20:56 +13:00
Karl Tomlinson
a93e73597b
bug 1095251 clear mDecoder on reader during Shutdown() r=cpearce
2015-02-10 15:50:02 +13:00
Karl Tomlinson
20f940df5a
bug 1132328 remove mCurrentDecoder handling from RemoveDecoder() r=jya
2015-02-12 15:57:40 +13:00
Jean-Yves Avenard
51ab550327
Bug 1131433: Show codec/container type in MSE logs. r=cajbir
...
Also rationalize MSE debugging logs, so they all follow the same format.
2015-02-12 18:52:13 +11:00
Karl Tomlinson
02b83abea2
bug 1092915 document that mCurrentDecoder is modified on main thread only r=mattwoodrow
2015-02-11 11:30:39 +13:00
Matt Woodrow
8b5adf9f15
bug 1092915 modify mCurrentDecoder on main thread after RemoveDecoder r=karlt
2015-02-11 11:12:39 +13:00
Jean-Yves Avenard
372665c876
Bug 1130913: Only create a new decoder if we have a new media segment. r=mattwoodrow
2015-02-11 17:40:10 +11:00
Jean-Yves Avenard
e07694adb0
Bug 1131487
: Adjust negative start time near 0 to 0. r=mattwoodrow
2015-02-11 17:40:06 +11:00
Jean-Yves Avenard
b7b65d5bb8
Bug 1131487
: Fix time calculations when segment doesn't start at 0. r=mattwoodrow
2015-02-11 17:40:03 +11:00
Jean-Yves Avenard
25805626b7
Bug 1129732: Part3. Assume buffered range starting close enough to 0 to be 0. r=mattwoodrow
2015-02-09 23:29:00 +11:00
Jean-Yves Avenard
fb71392d00
Bug 1129732: Part1. Dynamically adjust calculations using timestampoffset. r=mattwoodrow
...
Timestamp Offset calculations are now done exclusively by the Media Source
components which allow to recalculate them on the fly. By abstracting those
offsets it remove the need for the sub-decoders to handle them (which allows
to add WebM support).
2015-02-09 23:28:59 +11:00
Jean-Yves Avenard
616049ba2a
Bug 1125776: Part11. Fix potential crash. r=mattwoodrow.
...
Under some circumstances, it was possible for shutdown to have completed
right before the initialization task got to run. Resulting in a null
dereference.
2015-02-04 20:20:16 +11:00
Jean-Yves Avenard
00bc1aec0d
Bug 1125776: Part10. Handle concurrent aborts. r=mattwoodrow
...
Under some circumstances, it was possible for a cancelled queued task to run
and the following one would have been cancelled.
Also add more robust handling in cancelling the trackbuffer initialization
task.
2015-02-04 20:20:16 +11:00
Jean-Yves Avenard
882199f026
Bug 1125776: Part9. Always attempt to create a new decoder if we don't have one. r=mattwoodrow
...
YouTube continues to call appendBuffer even when the previous call failed.
So we attempt to re-create a decoder where we can should it be a temporary
failure.
2015-02-04 20:20:16 +11:00
Jean-Yves Avenard
301b46619a
Bug 1125776: Part8. We don't always need an init segment to be ready. r=mattwoodrow
...
If abort was called on the source buffer, the parser would have been reset.
The content in the Track Buffer is still valid for playback.
2015-02-04 20:20:16 +11:00
Jean-Yves Avenard
fdf83c97db
Bug 1125776: Part7. Only notify reader we have data, when we actually do. r=mattwoodrow
2015-02-04 20:20:16 +11:00
Jean-Yves Avenard
04f33309e6
Bug 1122358: Implement partial reset parser. r=cajbir
...
Only handles resetting parser and incomplete init segments at this stage.
2015-02-04 20:20:16 +11:00
Jean-Yves Avenard
9a54b12b7a
Bug 1125776: Part3. Add support for partial init segment. r=cajbir
...
Now that we rely on appendBuffer to scan the init segment, it has become
imperative to handle partial segments as it could otherwise lead to
appendBuffer never firing update/updateend
2015-02-02 11:41:43 +11:00
Jean-Yves Avenard
5a8ea7fce0
Bug 1125776: Part2. appendBuffer scanning the data before firing updateend. r=mattwoodrow
2015-02-04 20:20:15 +11:00
Jean-Yves Avenard
9264bf02f5
Bug 1125776: Part1. Fix initialization of variables. r=cajbir
...
They could be used when non-initialized.
2015-02-04 20:20:14 +11:00
Matt Woodrow
93e9b6aa5f
Bug 1128179 - Avoiding crash when appending data after decoder initialization failed. r=jya
2015-02-03 09:44:46 +13:00
Bobby Holley
b8cefec2b4
Bug 1127203 - Use the tolerance value in TrackBuffersContainTime so that seeking operates with tolerance too. r=mattwoodrow
2015-01-30 17:45:49 -08:00
Jean-Yves Avenard
0917d55236
Backed out changeset 0e9b37fd47c6. Breaks w4 test on a CLOSED TREE r=me
2015-01-27 18:25:44 +11:00
Jean-Yves Avenard
884f338af9
Bug 1125581: Cache buffered TimeRanges and only recalculate as necessary. r=mattwoodrow
...
Also change the relationship between SourceBufferResource object and its callee.
Data is now required to be removed or added via the SourceBufferDecoder.
This fixes a potential race between the time we add data to the resource and
the time we retrieve the buffered time ranges.
2015-01-26 11:26:20 +11:00
Jean-Yves Avenard
4468d96bb0
Bug 1102642: Use ref counted compressed data within mediasource. r=mattwoodrow
2015-01-27 02:01:09 +11:00