Граф коммитов

141 Коммитов

Автор SHA1 Сообщение Дата
Andrea Marchesini 4b1b084ce7 Bug 1416724 - part 3 - AbstractThread::Dispatch return value check in dom/media, r=jwwang 2017-11-15 07:58:03 +01:00
shindli 385fb3428c Backed out 4 changesets (bug 1416724) for failing /builds/worker/workspace/build/src/dom/media/hls/HLSDemuxer.cpp:89:5 r=backout on a CLOSED TREE
Backed out changeset 45352aa4319d (bug 1416724)
Backed out changeset 01d1e5263bcd (bug 1416724)
Backed out changeset bc854c315ec8 (bug 1416724)
Backed out changeset 35a50167485d (bug 1416724)
2017-11-15 09:49:04 +02:00
Andrea Marchesini 642cdd108b Bug 1416724 - part 3 - AbstractThread::Dispatch return value check in dom/media, r=jwwang 2017-11-15 07:58:03 +01:00
Andreas Pehrson 46edadb25e Bug 1409727 - Add a mode and pref to disallow frame drops in MediaRecorder. r=SingingTree
MozReview-Commit-ID: CJBJURDn7gB

--HG--
extra : rebase_source : 248e904879dc68fcce7f041b9ebaed82e7aba9ed
2017-10-19 14:38:07 +02:00
Jonathan Watt 60fa0649f2 Bug 1406819 - Remove various bits of dead code from dom/. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D109
2017-10-11 10:09:13 +01:00
Bryce Van Dyk 06435b3208 Bug 1400757 - Add telemetry to MediaRecorder and TrackEncoder to track basic usage. r=francois,pehrsons
Add telemetry to collect the following:
- Number of times a MediaRecorder is started during a session
- Duration of media recordings
- How often we're timing out init of audio and video track encoders

MozReview-Commit-ID: 9Pc2oKNCH1M

--HG--
extra : rebase_source : 16414a5ffa95413458d36295e5508df4c16e6fa9
2017-09-19 07:34:02 +12:00
Andreas Pehrson e588ee0fc6 Bug 1296531 - Don't use direct audio listener with full duplex in MediaRecorder. r=jesup
MozReview-Commit-ID: LS6eF6n7t7M

--HG--
extra : rebase_source : c04bf7299ddb43d39ea9cada71206922a8b6af7a
extra : source : f4b79213b8d946e80f471ae1edfcc6fafea447e1
2016-11-22 09:54:47 +01:00
Andreas Pehrson ca0438115d Bug 1296531 - Refactor MediaRecorder. r=jesup,SingingTree
The main purpose of this patch is to make the TrackEncoders run in a TaskQueue
to avoid multi-threaded access to members, and to change to track listeners to
allow for recording all kinds of tracks (the description of bug 1296531).

MozReview-Commit-ID: EtLXaDDBPdy

--HG--
extra : rebase_source : 5761bb2c7d5832f69cc80129e5160f173e8168c7
extra : source : 24b2a67ddf5a621a5cf58af5b9e363dac3071775
2017-05-24 18:51:47 +02:00
Bryce Van Dyk 1f1b9997c8 Bug 1336367 - Move AudioTrackEncoder Segment init logic into new method. r=pehrsons
The AudioTrackEncoder has logic to attempt to init when given an AudioSegment.
This logic has previously been part of NotifyQueuedTrackChanges. This
changeset moves the logic to its own method. This allows for finer testing of
the init attempt behaviour.

MozReview-Commit-ID: Der1iM9J8fr

--HG--
extra : rebase_source : bb47dd483d69349482a6d8882e9768b1a8d09480
2017-09-14 07:19:27 +12:00
Bryce Van Dyk fc034c8d9f Bug 1336367 - Significantly lower TrackEncoder timeout, make best effort init audio encoder on timeout. r=pehrsons
MozReview-Commit-ID: 2J5DPfkulIF

--HG--
extra : rebase_source : 06fffca2f1fb60971d204e0dfa773d1373eb0e89
2017-09-12 09:32:17 +12:00
Jean-Yves Avenard 9349efba14 Bug 1396515: Fix incorrect && and || operator placements. r=sylvestre
Includes some side 80 columns fix.

MozReview-Commit-ID: IXRoQfM0Hjc

--HG--
extra : rebase_source : 918cf87b2ce82c8de245dcb23cc359289ac5f21f
2017-09-04 11:27:43 +02:00
Chris Pearce f59d29e3f3 Bug 1388288 - Make OpusTrackEncoder build in non-Unified mode. r=SingingTree
MozReview-Commit-ID: 9Y6rkxYwVhw

--HG--
extra : rebase_source : 5d5f61b9cd83ac13c2c328a22bf033b9ad3ab4c4
2017-08-08 16:42:57 +08:00
Bryce Van Dyk 04f712fd75 Bug 1382718 - Update detection of image bitmap format in VP8 Encoder. r=jesup
Utilize ImageUtils to detect the bitmap format of images passed to the VP8
encoder, rather than duplicating this functionality in the encoder. Resolve an
issue with incorrect identification of unevenly sized I420 frames that was
breaking screen capture based MediaRecorder. clang-format code which has been
touched.

MozReview-Commit-ID: 4IfKSYxGuAX

--HG--
extra : rebase_source : 837caee9668b935ff9e627479b6e905208cbe4cf
2017-07-24 09:13:01 +12:00
Nicholas Nethercote 90eaa02ea0 Bug 1382099 - Remove MOZ_WIDGET_GONK from dom/media/. r=gerald.
As well as the obvious #ifdefs, this allows DOMHwMediaStream to be
removed, and also the "phone-state-changed" observer.

--HG--
extra : rebase_source : 373280183e228bd4b9bd9d866959409f2444c77e
2017-07-24 10:08:55 +10:00
Nicholas Nethercote 58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
Bryce Van Dyk 4caf42b88d Bug 1368490 - Make sure number of channels is correctly set for opus encoder. r=jesup
MozReview-Commit-ID: 7bOxCvlvTDq
2017-05-30 21:01:02 +12:00
Bryce Van Dyk 5b66c825ed Bug 1354457 - Record time spent paused in media encoder and adjust time stamps when muxing. r=pehrsons
MozReview-Commit-ID: 7J6oQf7qn4u

--HG--
extra : rebase_source : 715046ccff225d481d32330db105697e1112528e
2017-05-05 15:13:11 +12:00
Bryce Van Dyk a5678a3a43 Bug 1354457 - Remove old suspend logic from media encoder. r=pehrsons
The switch from duration to time stamp based samples has removed the need for
this logic.

MozReview-Commit-ID: 7J6oQf7qn4u

--HG--
extra : rebase_source : 5ab566c03c4af0ab1067e814fdd51fa8879e95f1
2017-05-05 15:12:03 +12:00
Bryce Van Dyk 2f7721fac1 Bug 1354457 - Stop video frames being forwarded for direct connections when recorder is suspended. r=pehrsons
MozReview-Commit-ID: 7J6oQf7qn4u

--HG--
extra : rebase_source : 6cd2959d01de8c07cbf11c826b43c013dc730e46
2017-05-01 14:29:46 +12:00
Andreas Pehrson 06cde897a7 Bug 1348381 - Handle VideoFrame::CreateBlackImage returning nullptr. r=jesup
MozReview-Commit-ID: LWon0cx5hAK

--HG--
extra : rebase_source : 76db5d68bbfd5ec207ee72fd357f08bcc564fab0
2017-04-28 13:58:22 +02:00
JW Wang f2ea37e57b Bug 1357986 - Use helper functions of TimeUnit to make code more readable. r=kaku
1. using media::TimeUnit to save some typing.
2. replace TimeUnit() with TimeUnit::Zero().
3. replace TimeUnit::FromXXX(0) with TimeUnit::Zero().
4. replace TimeUnit::FromMicroseconds(std::numeric_limits<int64_t>::max()) with TimeUnit::FromInfinity().
5. replace some uses of int64_t with TimeUnit.
6. replace t > TimeUnit() with t.IsPositive().

MozReview-Commit-ID: 6hC94PXx86i

--HG--
extra : rebase_source : 1ea3b409e6ec12915f3e1a00359d6ff4152c8917
extra : intermediate-source : e31a12ad0e7a4840119036f261ed17eaaff85734
extra : source : ae07ee48000c4a52da0e4fd502b4d690ec51ce1f
2017-04-17 16:35:04 +08:00
Mike Hommey 33a7e408ce Bug 1357323 - Remove the gonk code that was referenced by the build system. r=gps
--HG--
extra : rebase_source : 1d30ebcbdbcf596c944e1eec981f85db341485e5
2017-04-18 17:46:39 +09:00
Mike Hommey 34e619d1c1 Bug 1357323 - Remove support for gonk in the build system. r=gps
Everything depending on the widget being gonk can go away, as well as
everything depending on MOZ_AUDIO_CHANNEL_MANAGER, which was only
defined on gonk builds under b2g/ (which goes away in bug 1357326).

--HG--
extra : rebase_source : 9f0aeeb7eea8417fa4e06d662d566d67ecaf2a24
2017-04-18 16:56:09 +09:00
Alex Chronopoulos 84557a32ed Bug 1232043 - Reconfigure VP8 encoder when resolution change. r=pehrsons
MozReview-Commit-ID: GanvKEggNA7
2017-04-07 13:13:52 +03:00
Bryce Van Dyk 3d31dcb64c Bug 1349421 - Update handling of values derived from chunk duration in OpusTrackEncoder. r=derf
This changeset updates the handling of the variables based on
chunk.GetDuration() within the OpusTrackEncoder. This changeset alters places
where overflow could have taken place previously. It also adds asserts with
the dual purpose of defense and documentation for future developers.

MozReview-Commit-ID: 28vmAfE84ik

--HG--
extra : rebase_source : ebbd5f0d55c793324aec6b095dbe5403a7bf7b4c
extra : source : 21705a96856dc54a3330de9a55f19eef31badeec
2017-03-31 07:57:37 +13:00
Bryce Van Dyk 5aabc59b13 Bug 1349421 - Adjust handling of chunk duration in opus encoder. r=jesup
For very long chunks, the opus encoder could run into issues with processing.
This changeset seeks to address that by using CheckedInt to prevent a potential
int overflow when encountering extremely long durations.

MozReview-Commit-ID: 7uLZAARLf5w

--HG--
extra : rebase_source : 9519ce2a9e171c2e56fa445699770ab84596cdad
extra : source : fdbc277dbcc49c3a6785bfefe4ba7d80e03817d2
2017-03-30 13:38:10 +13:00
Wes Kocher 03061ecb63 Bug 1349467 - Fix some Audio/Video BUG_COMPONENTs in moz.build files r=jmaher
MozReview-Commit-ID: 3ItJdCtiOul

--HG--
extra : rebase_source : 2db0d75589a0bd8f28bdd35f015949a1194bc47d
2017-03-22 17:23:12 -07:00
Randell Jesup 8ad25a673c Bug 1284800: Fix build fallout from moving libyuv into a subdirectory r=ted
MozReview-Commit-ID: CDMDXqpGueS
2017-02-24 14:01:56 -05:00
Tom Tromey 5f8f360823 Bug 1060419 - make log_print use Printf.h, r=froydnj
MozReview-Commit-ID: BIZ1GQEZ1vs

--HG--
extra : rebase_source : 2f1f0aa12493c44f352d9a7e8683e7bb72d2d75b
2016-12-15 20:16:31 -07:00
Paul Adenot 7b3f33ea5b Bug 1335066 - Fix logging in TrackEncoder.cpp. r=pehrsons
This was a mix of Android logging for b2g and normal logging and also noop
logging statement. This makes everything use MOZ_LOG.

MozReview-Commit-ID: BGE2JVcCVdF
2017-01-30 17:44:07 +01:00
Andreas Pehrson 3821340e25 Bug 1333341 - Fix accumulating rounding error in VP8TrackEncoder. r=jesup
MozReview-Commit-ID: 8XOKAuvpNuL

--HG--
extra : rebase_source : 307ce04a3c4c226af1374c10adf765c6ba4ab995
2017-01-24 16:19:00 +01:00
Andreas Pehrson efb139cce2 Bug 1333341 - Fix accumulating rounding error in VideoTrackEncoder. r=jesup
MozReview-Commit-ID: GoVNRqvZPSF

--HG--
extra : rebase_source : dd0faa69ce5fbf193096ba4c8c6078811c548351
2017-01-24 16:18:48 +01:00
Andreas Pehrson fdce71cc43 Bug 1332619 - Fix missed duration when skipping a frame in VP8TrackEncoder. r=jesup
MozReview-Commit-ID: GpXUHfUj5v2

--HG--
extra : rebase_source : 45806ecd7788270a303108526b9f42b26e17d240
extra : intermediate-source : 9bad771524a5191fd6386c9405184aa5a1fa6e30
extra : source : 146fbe89eafb1b57e33bc1e1eb675512c971d532
2017-01-20 15:47:04 +01:00
Ryan VanderMeulen 340794d0a9 Backed out 2 changesets (bug 1332619) by request.
Backed out changeset 08d0dccfb2c3 (bug 1332619)
Backed out changeset a406da1d258c (bug 1332619)

--HG--
extra : rebase_source : 0b6a5f2623967fe35eaa60941571feb3e91fecb5
2017-01-23 11:25:11 -05:00
Andreas Pehrson a5241b52b4 Bug 1332619 - Fix missed duration when skipping a frame in VP8TrackEncoder. r=jesup
MozReview-Commit-ID: GpXUHfUj5v2

--HG--
extra : rebase_source : 1d5b57956e4968225bb6f66f343fce5cf8d89837
extra : source : 146fbe89eafb1b57e33bc1e1eb675512c971d532
2017-01-20 15:47:04 +01:00
Phil Ringnalda 0fae2ed52a Backed out 2 changesets (bug 1332619) for frequent Win8 gtest failures in VP8VideoTrackEncoder.SkippedFrames
Backed out changeset 9ea8e4f2edae (bug 1332619)
Backed out changeset 123099d23df5 (bug 1332619)
2017-01-20 20:02:57 -08:00
Andreas Pehrson 151590b2b2 Bug 1332619 - Fix missed duration when skipping a frame in VP8TrackEncoder. r=jesup
MozReview-Commit-ID: GpXUHfUj5v2

--HG--
extra : rebase_source : 07871e9be0a8f67fe986f6caf63c336f65eec1fe
extra : source : 146fbe89eafb1b57e33bc1e1eb675512c971d532
2017-01-20 15:47:04 +01:00
Andreas Pehrson c6a1810522 Bug 1332598 - Make per-frame logs in VP8TrackEncoder verbose. r=jesup
MozReview-Commit-ID: HzpUlWjnAEW

--HG--
extra : rebase_source : 1b261b4c160f65cc0262460f0654d635e1aae78c
extra : source : 3c7a9fca1a5703e3ca6349a5da625ec87c2755c5
2017-01-18 15:01:47 +01:00
Andreas Pehrson 94d46cd57d Bug 1332585 - Protect TrackEncoder members from races. r=jesup
mCanceled is one member which is protected only in a couple of places.

I hit a MOZ_CRASH without this in a gtest, but I'm not sure if we haven't seen
it in release by chance or by design.

MozReview-Commit-ID: 61KpjaBDyhB

--HG--
extra : rebase_source : 4ab032ee2963cd7e94d19b8428e6405ffa59332e
extra : source : 06b2f8307ad0c96197e75d2e147e660d8085afc7
2017-01-20 17:00:02 +01:00
Andreas Pehrson 192e6bf31b Bug 1332585 - Fix first frame duration being counted twice. r=jesup
MozReview-Commit-ID: HdHs1rpVUJK

--HG--
extra : rebase_source : eb44c91e3a80f0210d461adebe2c623799422bf9
extra : source : b4b284c0bce5f2eb6844eef78f1f7d445057b84b
2017-01-20 11:50:07 +01:00
Andreas Pehrson 5f2b360d48 Bug 1332584 - Use time conversion utils from VideoUtils. r=jesup
MozReview-Commit-ID: 7AVeGp5akfx

--HG--
extra : rebase_source : 5c514995c65ffcc0d7b23298260a5ca322d9d356
extra : source : ea6b4f40dcbeaec6f81f26ec95483f844a37b2ca
2017-01-20 18:59:46 +01:00
Andreas Pehrson 9951d0cd88 Bug 1332584 - Append last frame on EOS in VideoTrackEncoder. r=jesup
MozReview-Commit-ID: LARhY0LAEtG

--HG--
extra : rebase_source : 9f08a9a7fab52f14a8f140711fb9355d8039cd79
extra : source : 72bcbe049bcbca33e613508f5a63e691c0110ee4
2017-01-20 18:29:26 +01:00
Andreas Pehrson a4b74c9907 Bug 1330918 - Add VideoTrackEncoder::AppendVideoSegment logs. r=jesup
MozReview-Commit-ID: FwG0EHuaxpW

--HG--
extra : rebase_source : 03d8df55b25a401c9bc7027eced1bf2f73898205
2017-01-18 19:28:32 +01:00
Andreas Pehrson 6a29cdbd49 Bug 1330918 - Use timestamps for frames in VideoTrackEncoder. r=bechen,jesup
This makes VideoTrackEncoder use timestamps when it passes frames to
VP8TrackEncoder. It also rewrites the chunks' durations and bases them on said
timestamps. This should mean that VP8TrackEncoder can continue passing durations
to the encoder as it does today.

MozReview-Commit-ID: GaUsF5PR4ZN

--HG--
extra : rebase_source : 4206afe24fce0d9c0aa7137ea04d8a28f30191d7
2017-01-19 15:14:02 +01:00
Wes Kocher d8bf77ced9 Backed out 2 changesets (bug 1330918) for frequent gtest failures a=backout
Backed out changeset aedd9a68f2c0 (bug 1330918)
Backed out changeset b2d8a93a50a8 (bug 1330918)

MozReview-Commit-ID: FhQrvvYY8LQ
2017-01-18 15:21:44 -08:00
Andreas Pehrson d3cd678596 Bug 1330918 - Add VideoTrackEncoder::AppendVideoSegment logs. r=jesup
MozReview-Commit-ID: FwG0EHuaxpW

--HG--
extra : rebase_source : 67f448fb8c8d8c8a035a6c13f395b2864a45c8ac
2017-01-18 19:28:32 +01:00
Andreas Pehrson da30868674 Bug 1330918 - Use timestamps for frames in VideoTrackEncoder. r=bechen,jesup
This makes VideoTrackEncoder use timestamps when it passes frames to
VP8TrackEncoder. It also rewrites the chunks' durations and bases them on said
timestamps. This should mean that VP8TrackEncoder can continue passing durations
to the encoder as it does today.

MozReview-Commit-ID: GaUsF5PR4ZN

--HG--
extra : rebase_source : 763a71a4327ce0505efc7732c3eda93c48667b01
2017-01-18 20:08:23 +01:00
Andreas Pehrson 3ccb36801b Bug 1330676 - Use VBR in VP8TrackEncoder. r=bechen,derf
MozReview-Commit-ID: AvezDCrOIuZ

--HG--
extra : rebase_source : e4b3cac00a407e0f58eafc7f9c7125747916731d
2017-01-12 17:13:13 +01:00
Andreas Pehrson bbb3d58dc1 Bug 1231848 - Encode every frame as it comes in to VP8TrackEncoder. r=bechen,jesup
MozReview-Commit-ID: HZOcj9bqY0A

--HG--
extra : rebase_source : 503b49ae1279c07deef1a549064bedee5c0050bf
2017-01-12 12:19:34 +01:00
Andreas Pehrson b1d79c9b17 Bug 1231848 - Do not write framerate metadata to webm container in MediaRecorder. r=bechen,jesup,rillian
MozReview-Commit-ID: 2lehFGZTPxh

--HG--
extra : rebase_source : e9d416f33ff3b2c909417080654b0dbc9f7b39f9
2017-01-13 09:00:55 +01:00