Commit Graph

395 Commits

Author SHA1 Message Date
Jean-Yves Avenard
3eb77eac73 Bug 1181894: Always create a PlatformDecoderModule in CDMWrapper. r=cpearce
Not all tracks may be encrypted, as such we need a default PDM in order to decode non-encrypted data.
2015-07-09 16:18:05 +10:00
Jean-Yves Avenard
66878bd20a Bug 1180403: P1. Ensure buffered index is up to date. r=cpearce 2015-07-09 11:06:07 +10:00
Jean-Yves Avenard
7ff1b45244 Bug 1179094: Use TimeUnit in PlatformDecoderModule. r=cpearce 2015-07-08 10:56:16 +10:00
Cervantes Yu
18709a5455 Bug 1180644: Fix crashes after enabling OOP on B2GDroid. r=snorp 2015-07-06 19:18:20 +08:00
Sotaro Ikeda
00b35f711c Bug 1171257 - Add force decode ahead to MediaFormatReader r=jya,bholley 2015-07-05 09:39:30 -07:00
Bobby Holley
31ac31b1b5 Bug 1179110 - Use a Maybe<> to store start time, rather than using -1 as a sentinel. r=jya
This allows us to properly support videos with a negative start time, which
is happening here.
2015-07-02 12:05:17 -07:00
Bobby Holley
cb5d811e49 Bug 1178437 - Do the dormant-enabled tracking on the main thread. r=jww,r=jya
This is purely a question of policy, so there's no reason it needs to live on
the off-main-thread decoding machinery.
2015-07-01 18:47:41 -07:00
Bobby Holley
7318d1595e Bug 1175768 - Use mirroring for buffered ranges. r=jya 2015-06-27 01:19:13 -07:00
Bobby Holley
6cd269ac3f Bug 1175768 - Dispatch NotifyDataArrived and remove the aBuffer argument. r=jya
It would be nice to remove the argument in a separate patch, but we can't
perform MediaResource reads on the main thread, so the SilentReadAt stuff
needs to happen at the same time as the off-main-thread stuff.
2015-06-27 01:19:10 -07:00
Ryan VanderMeulen
3323a7a195 Backed out 8 changesets (bug 1175768) for frequent media test failures.
Backed out changeset a369cfb95b59 (bug 1175768)
Backed out changeset e02dd312d622 (bug 1175768)
Backed out changeset 6776ce74b9e5 (bug 1175768)
Backed out changeset 6aa5fa1d318e (bug 1175768)
Backed out changeset a8bd7a0d2aea (bug 1175768)
Backed out changeset 41ffc9a9ac48 (bug 1175768)
Backed out changeset 2d2cefa397dc (bug 1175768)
Backed out changeset 4e06368496d2 (bug 1175768)

CLOSED TREE
2015-06-23 16:20:15 -04:00
Bobby Holley
b988b6ea6a Bug 1175768 - Use mirroring for buffered ranges. r=jya 2015-06-22 22:53:09 -07:00
Bobby Holley
915a07c048 Bug 1175768 - Dispatch NotifyDataArrived and remove the aBuffer argument. r=jya
It would be nice to remove the argument in a separate patch, but we can't
perform MediaResource reads on the main thread, so the SilentReadAt stuff
needs to happen at the same time as the off-main-thread stuff.
2015-06-22 22:53:07 -07:00
Jean-Yves Avenard
4f89d96033 Bug 1174582: P3. Do not skip keyframe with negative timestamp. rpending=alfredo
MP4Reader.
2015-06-19 16:45:17 +10:00
Bobby Holley
dbb2e92dce Bug 1163223 - Move bailout case in GetBuffered into the readers. r=jww
The problem here is that, because we run mReader->SetStartTime() as a promise
callback, MDSM::HasStartTime() may be true while the reader hasn't been
notified yet. This is obviously broken, but no more broken than the fact that
GetBuffered operates synchronously (and is basically the last piece of
machinery left doing so). Fixing that is next on my list, but let's just hack
around this for now to get this stack landed.
2015-06-16 15:08:29 -07:00
Wes Kocher
5ddc617106 Backed out 8 changesets (bug 1163223) for getting in the way of me backing out f46a712edf7e
Backed out changeset c1b33c43f0c5 (bug 1163223)
Backed out changeset a7ee6eb45f62 (bug 1163223)
Backed out changeset b2e10f194455 (bug 1163223)
Backed out changeset 9e7651567cad (bug 1163223)
Backed out changeset 20e25e93ed5f (bug 1163223)
Backed out changeset 5193508738f8 (bug 1163223)
Backed out changeset aea6b8d15318 (bug 1163223)
Backed out changeset 7b6804398fc3 (bug 1163223)
2015-06-16 14:47:50 -07:00
Bobby Holley
dd6385ad28 Bug 1163223 - Move bailout case in GetBuffered into the readers. r=jww
The problem here is that, because we run mReader->SetStartTime() as a promise
callback, MDSM::HasStartTime() may be true while the reader hasn't been
notified yet. This is obviously broken, but no more broken than the fact that
GetBuffered operates synchronously (and is basically the last piece of
machinery left doing so). Fixing that is next on my list, but let's just hack
around this for now to get this stack landed.
2015-06-16 12:59:56 -07:00
Birunthan Mohanathas
2651a2df2e Bug 1174220 - Part 2: Use MediaByteBuffer instead of MediaLargeByteBuffer. r=jya
All MediaLargeByteBuffer calls already include the `mozilla::fallible`
parameter so we can safely replace MediaLargeByteBuffer with MediaByteBuffer.
2015-06-14 21:37:13 -07:00
Jean-Yves Avenard
167e4fa057 Bug 1171330: P8. Check MoofParser index before demuxing. r=cpearce 2015-06-11 15:55:20 +10:00
Bobby Holley
4df236fa6e Bug 1173001 - Fix up some task queue naming to make MediaDecoderReader consistent with MDSM. r=jww 2015-06-10 14:17:26 -07:00
Bobby Holley
00f60b175b Bug 1173001 - Initialize reader task queue in the constructor. r=jww
This is a necessary step towards having mirrored/canonical values, since those
need to know the task queue in their constructor.
2015-06-10 14:17:25 -07:00
Jean-Yves Avenard
52d976162c Bug 1171629: Use fallible array to store MP4 samples index. r=kentuckyfriedtakahe 2015-06-10 19:38:13 +10:00
Bobby Holley
b9cee1247a Bug 1160695 - Track "metadata duration" separately and mirror it to MediaDecoderReader. r=jww 2015-06-08 09:21:22 -07:00
Eric Rahm
9100016c49 Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-03 15:25:57 -07:00
Carsten "Tomcat" Book
9432818a46 Backed out 14 changesets (bug 1165515) for linux x64 e10s m2 test failures
Backed out changeset d68dcf2ef372 (bug 1165515)
Backed out changeset 7c3b45a47811 (bug 1165515)
Backed out changeset b668b617bef2 (bug 1165515)
Backed out changeset d0916e1283a2 (bug 1165515)
Backed out changeset ac4dc7489942 (bug 1165515)
Backed out changeset e9632ce8bc65 (bug 1165515)
Backed out changeset c16d215cc7e4 (bug 1165515)
Backed out changeset e4d474f3c51a (bug 1165515)
Backed out changeset d87680bf9f7c (bug 1165515)
Backed out changeset b3c0a45ba99e (bug 1165515)
Backed out changeset 9370fa197674 (bug 1165515)
Backed out changeset 50970d668ca1 (bug 1165515)
Backed out changeset ffa4eb6d24b9 (bug 1165515)
Backed out changeset 5fcf1203cc1d (bug 1165515)
2015-06-02 13:05:56 +02:00
Eric Rahm
14740fdf18 Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-01 22:17:33 -07:00
Wes Kocher
fcc808d96c Backed out 14 changesets (bug 1165515) for b2g mochitest-6 permafail CLOSED TREE
Backed out changeset 9b97e2aa2ed9 (bug 1165515)
Backed out changeset 150606c022a2 (bug 1165515)
Backed out changeset 4e875a488349 (bug 1165515)
Backed out changeset 467e7feeb546 (bug 1165515)
Backed out changeset d6b6cc373197 (bug 1165515)
Backed out changeset 0615265b593c (bug 1165515)
Backed out changeset fafd1dce9f08 (bug 1165515)
Backed out changeset d1df869245f9 (bug 1165515)
Backed out changeset 6876a7c63611 (bug 1165515)
Backed out changeset b7841c94a9a3 (bug 1165515)
Backed out changeset e5e3617f7c73 (bug 1165515)
Backed out changeset 39be3db95978 (bug 1165515)
Backed out changeset 0ec74176f8de (bug 1165515)
Backed out changeset 5b928dd10d71 (bug 1165515)
2015-06-01 17:57:58 -07:00
Eric Rahm
579c7d8013 Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-01 14:31:01 -07:00
Jean-Yves Avenard
8b9f5cd06b Bug 1163227: Part10. Properly recalculate next keyframe time after seeking. r=cpearce 2015-05-25 15:09:16 +10:00
Jean-Yves Avenard
70917dfcb0 Bug 1166836: Part2. Only rescans MP4's moof when necessary. r=cpearce 2015-05-25 15:09:16 +10:00
Jean-Yves Avenard
ff40f6c4bb Bug 1163227: Part4. Fix MP4TrackDemuxer eviction offset calculations. r=mattwoodrow 2015-05-25 15:09:16 +10:00
Jean-Yves Avenard
7769a6fabd Bug 1163227: Part2. Add MediaDecoderReader::NotifyDataRemoved method. r=cpearce 2015-05-25 15:09:16 +10:00
Ryan VanderMeulen
7d96bb6456 Merge m-c to b2g-inbound. a=merge 2015-05-22 14:20:37 -04:00
Blake Wu
bd85680494 Bug 1166169 - Add MOZ_GONK_MEDIACODEC in configure and define it in moz.build. r=cpearce, r=glandium 2015-05-21 14:38:51 +08:00
Eric Rahm
bac140c6c1 Bug 1165515 - Part 1: Convert PR_LOG to MOZ_LOG. r=froydnj 2015-05-21 13:22:04 -07:00
Eric Rahm
32b4ff6b18 Bug 1165518 - Part 2: Replace prlog.h with Logging.h. rs=froydnj 2015-05-19 11:15:34 -07:00
Birunthan Mohanathas
63dbcb194c Bug 968520 - Add mozilla::fallible to Fallible{Auto,}TArray::SetLength calls. r=froydnj 2015-05-18 13:50:35 -07:00
Jean-Yves Avenard
1ad7067797 Bug 1163445: Part5. Replace dom::TimeRanges with TimeIntervals object. r=mattwoodrow 2015-05-18 16:15:47 +10:00
Jean-Yves Avenard
ce031f8029 Bug 1163485: Part1. Enable MediaFormatReader by default. r=kentuckyfriedtakahe 2015-05-18 15:42:32 +10:00
Jean-Yves Avenard
511763543f Bug 1163458: Part1. Move PlatformDecoderModule outside fmp4. r=kentukyfriedtakahe 2015-05-18 15:42:32 +10:00
Jean-Yves Avenard
84a6a82bf6 Bug 1156708: Part2. Add pref to toggle new code. r=kentuckyfriedtakahe
media.format-reader.mp4=true: Will enable the new format decoder for mp4
media.mediasource.format-reader.mp4=true: Will enable new format decoder for
 mp4 within MSE.
2015-05-18 15:41:22 +10:00
Alfredo Yang
7bed5a5691 Bug 1161984 - Get rid of IsWaitingMediaResources() in MP4Reader. r=jya 2015-05-13 00:02:00 -04:00
Alfredo Yang
69112f7c55 Bug 1162867 - Release video buffer when failing to create video frame. r=ajones 2015-05-08 01:21:00 -04:00
Chris Pearce
9bc08ede81 Bug 1163814 - Only check if we can create decoder in MP4Decoder::CanCreate*Decoder() on Windows. r=mattwoodrow 2015-05-15 03:27:00 +02:00
Karl Tomlinson
da20557f4a bug 1162364 report telemetry on WMFMediaDataDecoder errors r=cpearce,f=vladan,bsmedberg 2015-05-13 17:54:31 +12:00
Karl Tomlinson
100ca5d3d6 bug 1162364 detect and abort MF_E_TRANSFORM_STREAM_CHANGE infinite loops r=cpearce 2015-05-13 16:36:45 +12:00
Eric Rahm
0c5f2525a6 Bug 1163201 - Part 1: Remove instances of #ifdef PR_LOGGING in dom/. r=froydnj
PR_LOGGING is now always defined, we can remove #ifdefs checking for it.
2015-05-14 10:13:23 -07:00
Jean-Yves Avenard
2698125c86 Bug 1159027: Part5. Ensure we have up to date index when calculating offsets. r=cpearce 2015-05-11 20:57:46 +10:00
Jean-Yves Avenard
18828fc51d Bug 1159027: Part3. Add MP4Demuxer object. r=cpearce 2015-05-11 20:57:20 +10:00
Matt Woodrow
541516a4f0 Bug 1158089 - Remove LAYERS_D3D10 enum value since it's unused. r=Bas 2015-05-11 16:22:51 +12:00
Matt Woodrow
8fb9f8dab2 Bug 1158089 - Fall back to d3d9 DXVA if d3d11 initialization fails. r=cpearce 2015-05-11 16:21:31 +12:00