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

1969 Коммитов

Автор SHA1 Сообщение Дата
Dan Minor aece8e3136 Bug 1429390 - Make H.264 Encode dispatch asynchronous; r=jesup
Historically we made a synchronous dispatch to the GMP thread on encode to avoid
copying the frame buffer. The frame buffer is now held by a refptr so we can now
make this call asynchronously.

--HG--
extra : rebase_source : 0c339d0b4721847f0f96f469fedb3320821883fd
2018-01-10 09:33:06 -05:00
Nico Grunbaum e30c99af1c Bug 1419093 - P2 - update rtp source impl & unit tests r=mjf
Update the c++ side with the new WebIDL definitions, note that
many fields are now required. See P1 for more details.


MozReview-Commit-ID: FKHi86Nj7UO

--HG--
extra : rebase_source : 7491551b46a9fb0e8c8cba77861b01f90ea95644
2017-12-18 19:24:01 -06:00
Byron Campen [:bwc] ea3dd6304c Bug 1430707: Don't MOZ_CRASH when conduit operations fail. r=drno
MozReview-Commit-ID: 32nYEJ3hht2

--HG--
extra : rebase_source : c18a30c442da5ca646943d7ecee37f0cd06d4c71
2018-01-19 08:39:59 -06:00
Jean-Luc Bonnafoux f1e5d39e10 Bug 1430425 - VideoStreamFactory constructor should pass codec name by reference r=dminor
MozReview-Commit-ID: 8rUH1DfEUts

--HG--
extra : rebase_source : 2e9a2693653daa8b918f1966af36226b915f333e
2018-01-14 17:26:26 +01:00
Chris Peterson 37efe4d0e6 Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe

--HG--
extra : rebase_source : cfec2d96faeb11656d86d760a34e0a04cacddb13
extra : intermediate-source : 6176724d63788b0fe8caa3f91607c2d93dbaa7ec
extra : source : eebbb0600447f9b64aae3bcd47b4be66c02a51ea
2017-11-05 19:37:28 -08:00
Michael Froman 35cf761e08 Bug 1429085 - only initiate ice restart in PeerConnectionMedia if jsep create offer/answer succeeds. r=drno
Separate setting up the ice credentials for ice restart from the actual
restart call into PeerConnectionMedia.  This allows waiting until after
the call to JsepSessionImpl::CreateOffer or JsepSessionImpl::CreateAnswer
succeeds.

MozReview-Commit-ID: Hex0lNstv0H

--HG--
extra : rebase_source : 49ad2e204b7dfef6a5c359c11e38b57d8e7beade
2018-01-12 15:17:50 -06:00
Byron Campen [:bwc] ae7b275a48 Bug 1425621 - Part 5: Handle transceiver removal caused by rollback after track events. r=drno,jib,smaug
MozReview-Commit-ID: 5Z5ntG5Bvgc

--HG--
extra : rebase_source : ae8a2438dfdc1dd968768fba86a8a6752934bd82
extra : intermediate-source : 347e79f12f838355b45f3eebbc33322bf866d75f
extra : source : 8a127885a8d0265994c5f9d4ef9bd384279f6858
2017-12-21 10:22:37 -06:00
Byron Campen [:bwc] 802d9b4a0d Bug 1425621 - Part 4: Move track event logic to JS. r=drno,jib,smaug
MozReview-Commit-ID: 8kUbYQnD3Oc

--HG--
extra : rebase_source : a1f0685c8156c75438cf57e0d55117b8a4025bc8
extra : intermediate-source : 9b756cb6bccaca473925679725688a012d4086f6
extra : source : b3f9155a0ec77f819a0a02ce798d0d0a84da0524
2017-12-20 17:00:40 -06:00
Michael Froman 0dbf6aa0f7 Bug 1425780 - Don't allow queue-jumping for gathering state change events. r=bwc 2018-01-11 21:38:36 -05:00
Ciure Andrei f7400ad72e Merge inbound to mozilla-central r=merge a=merge 2018-01-11 11:54:56 +02:00
Randell Jesup c359f64e82 Bug 1429219: Ensure VP8 simulcast with temporal layers won't fail if there aren't enough bits r=drno 2018-01-10 20:41:09 -05:00
Randell Jesup aa370f7694 Bug 1426449: set the correct number of temporal layers for screencasts r=drno 2018-01-10 20:41:03 -05:00
Michael Froman 69d270acdf Bug 1427009 - limit accepted mid length to 16 chars. r=bwc
webrtc.org only supports one-byte rtp header extensions which means
we can only support 16 character mids for now.

MozReview-Commit-ID: C7aTeB5Bi2M

--HG--
extra : rebase_source : e25518d02fb056f82d298f000e37cfe059099a38
2018-01-08 16:23:06 -06:00
Andreas Pehrson 3ab8b1b7d2 Bug 1428098 - Do not reconfigure manually when input resolution changes. r=dminor
webrtc.org now handles this.

MozReview-Commit-ID: 8loJR1L0h1m

--HG--
extra : rebase_source : adc9ced1b2d64a04ef19e951a40a85c88856a280
2018-01-03 10:28:17 +01:00
Dan Minor 8711c98b6f Bug 1406936 - Add unittests for re-configuring VideoConduit; r=pehrsons
This adds new tests that are a subset of the existing tests for configuration.
Another option would be to use parameterized tests to get coverage of all existing
tests during reconfiguration, but I don't think the additional complexity is
justified at this point.

MozReview-Commit-ID: F28KRYaVe1B

--HG--
extra : rebase_source : fdcb1316387504240424f1041d43df5d98331380
2017-11-28 14:50:05 -05:00
Dan Minor 2a03027769 Bug 1406936 - Copy state when reusing SendStream in ConfigureSendMediaCodecs; r=pehrsons
This is necessary for changes to encoding constraints and simulcast encodings to
be picked up.

MozReview-Commit-ID: JpVN0ST70Cn

--HG--
extra : rebase_source : ea61544b98e7e231527cf6f13d78862d3567b4b7
2017-11-28 14:51:53 -05:00
Dan Minor 3761af22af Bug 1406936 - Reset FEC payloads in ConfigureRecvMediaCodecs; r=mjf
MozReview-Commit-ID: CAyDUry0Ekr

--HG--
extra : rebase_source : 12284b7751b7c4e5ae5d6fa2de6857eefe8cdf13
2017-11-30 10:59:54 -05:00
Dan Minor 311a54355d Bug 1406936 - Clean up unused variables; r=pehrsons
MozReview-Commit-ID: DZtmnViblGS

--HG--
extra : rebase_source : f85697a1f7fb6d3e549b3f6663ad101b8fc020e0
2017-11-30 13:13:26 -05:00
Randell Jesup f007b19e6f Bug 1426123: add assertion and comments that SelectSendResolution() can never result in divide-by-zero r=jib 2018-01-04 14:11:00 -05:00
Ryan VanderMeulen c20bfd39b5 Bug 1425996 - Add in a few more instances of Unused that got missed in the first patch. r=gerald 2017-12-23 16:40:13 -05:00
Jean-Yves Avenard 212565b86e Bug 1426486 - P2. Make mTrackId a base member. r=bwc
Also remove unused code.
mTrackId / mTrackIdexternal were protected/private members and only ever written.

MozReview-Commit-ID: C3wMhxSCA2H

--HG--
extra : rebase_source : 18845e480e8e2d741ef1172b212373888a9c1fe8
2017-12-21 17:57:24 +01:00
Jean-Yves Avenard 2bd009f7e0 Bug 1426486 - P1. Make GetInputStream()->AsSourceStream() invariant. r=pehrsons
It can never be nullptr, strongly assert that this is the case and remove unecessary tests.

MozReview-Commit-ID: 7fi6jNnFUH8

--HG--
extra : rebase_source : 632ad1738c2984dd803c25dc44aa81c896292b64
2017-12-20 21:33:26 +01:00
Dan Minor f122364420 Bug 1426678 - Ensure SendTrack is not null before trying to dispatch DTMF event; r=bwc
MozReview-Commit-ID: CZbvPlIceXB

--HG--
extra : rebase_source : a77a1b804d1705d474f145f36b475c02d0e1c49d
2017-12-21 11:41:41 -05:00
JW Wang 79b5f2dd2e Bug 1425996 - fix build error: unused variable 'rv'. r=gerald
MozReview-Commit-ID: 7MhsSWbxB3z

--HG--
extra : rebase_source : 81207a1e5b663314295f2f95afd4b726ffe8f12d
2017-12-21 12:12:42 +08:00
Jean-Yves Avenard c3f319f1c7 Bug 1426171 - Only use the graph's rate if supported by the AudioConduit. r=pehrsons
Otherwise we will use 48kHz as default, the MSG will resample as needed.
It would be possible to allow all frequencies in the AudioConduit as the webrtc backend supports them all, however it would require more changes and likely heap allocation that we're trying to limit in this part of the code.

MozReview-Commit-ID: B3x5t1FSaQ8

--HG--
extra : rebase_source : 77f83a876ed9b5ded45419245655709aee2573df
2017-12-20 14:16:04 +01:00
Byron Campen [:bwc] 3361602026 Bug 1425956 - Part 3: Remove duplicate track ids on incoming SDP. r=drno
MozReview-Commit-ID: Ldac3oB5ocz

--HG--
extra : rebase_source : 9066ff2aae30aee610ad6807ad566bfaedd0ea51
extra : source : f1dcabc223896a5280041480596f6c9ba8d78a99
2017-12-18 17:52:44 -06:00
Byron Campen [:bwc] 95c68733b2 Bug 1425956 - Part 2: Don't emit duplicate track ids in SDP. r=drno
MozReview-Commit-ID: 9POpM1ZXsYY

--HG--
extra : rebase_source : eca9bc7c75482d67751254edc1e9d2428859361f
extra : source : a695cd1176edf5054c8574c40b25404cb6424b3c
2017-12-18 17:37:57 -06:00
Byron Campen [:bwc] a6bb393781 Bug 1425901: Use nsITimerCallback for DTMF timers. r=drno
MozReview-Commit-ID: 2IlDknNhlAG

--HG--
extra : rebase_source : 3c51e468c2285b5714372108c6ef5f41f8ba00d5
2017-12-18 12:36:23 -06:00
Byron Campen [:bwc] 2d7be6de42 Bug 1425873 - Part 2: Sync send stream ids even when there is no send track. r+drno r=drno
MozReview-Commit-ID: 7s3f1Q8sCI1

--HG--
extra : rebase_source : a3c0446e31cff547b8277c8811de2e5e0967de93
2017-12-18 11:52:01 -06:00
Michael Froman e49fa718b2 Bug 1414169 - pt 6 - Add all raw candidates table (local and remote). r=ng
Also remove the unmatched candidates in the candidate pair table since
they are now included in the "all raw candidates" table.

MozReview-Commit-ID: 4ZvhWfmjGJh

--HG--
extra : rebase_source : bf999db83cd49dd454434d2b157023da41b0dbcd
2017-11-29 14:16:12 -06:00
Michael Froman 2383b3776a Bug 1414169 - pt 4 - Trickled ICE candidates are highlighted with a light blue background. r=ng
MozReview-Commit-ID: JEMmf9LjvYd

--HG--
extra : rebase_source : 666559431e08e6671d1590d43bbaa15fe7178c58
2017-11-22 14:28:02 -06:00
Alex Chronopoulos 331eac4d0a Bug 1423770 - r=padenot 2017-12-18 15:20:06 +01:00
Jean-Yves Avenard 6258e4b122 Bug 1425631 - Reduce global threads count. r=jya
MozReview-Commit-ID: JWPH6DRg1k7

--HG--
extra : rebase_source : 5a05a3de3123db26ac2facb0e6ffdf6f9a0815f0
2017-12-15 21:45:35 +01:00
Jean-Yves Avenard 9c5a09051e Bug 1404997 - P26. Give Await the threadpool to use. r=gerald
This allows to re-use the SharedThreadPool across calls, preventing the need to create a new thread on each call.

MozReview-Commit-ID: CbP6OTYKhHL

--HG--
extra : rebase_source : 969f2c74f00614d6265fe0e25abfb36c9648d564
2017-12-15 20:06:38 +01:00
Jean-Yves Avenard 1769747959 Bug 1404997 - P23. Strongly enforced that our destination buffer is big enough. r=padenot
MozReview-Commit-ID: A1kLsH75SzX

--HG--
extra : rebase_source : bcc4460507638ef36986ad519e48ba2d4596f4cf
2017-12-13 18:44:30 +01:00
Jean-Yves Avenard 485b10a8b0 Bug 1404997 - P22. Make mConduit release on main thread consistent. r=pehrsons
There's no need for a custom class to perform this task.

MozReview-Commit-ID: JxpDQVM97fl

--HG--
extra : rebase_source : 8387efa0ed3add9e4a42daed98e97372d9cabee5
2017-12-11 00:32:00 +01:00
Jean-Yves Avenard 0c03c673b3 Bug 1404997 - P21. Make MediaPipelineReceiveAudio listener asynchronous. r=pehrsons
We keep the synchronous version that will be used in bug 1424653

MozReview-Commit-ID: JTGaRYm20ca

--HG--
extra : rebase_source : aa694b7ac4f03322edbdefd64cefd198c0909cec
2017-12-11 00:16:24 +01:00
Jean-Yves Avenard c32881f98c Bug 1404997 - P19. Use new Await method with WebrtcMediaDataDecoder. r=gerald
MozReview-Commit-ID: nRQL312aDE

--HG--
extra : rebase_source : d63e120d24ab4e7f10843387b321fa2ed05f5af3
2017-12-08 17:30:28 +01:00
Jean-Yves Avenard d9f13cf692 Bug 1404997 - P12. Remove unused TrackAddedCallback class. r=pehrsons
MozReview-Commit-ID: HGe6RjwwC5z

--HG--
extra : rebase_source : f283f958fd8197a31630991f60217117c48daabc
2017-12-05 11:38:11 +01:00
Jean-Yves Avenard bc93df2fbe Bug 1404997 - P11. More constness fixes. r=pehrsons
MozReview-Commit-ID: 5qgO43V9R9P

--HG--
extra : rebase_source : 6f387e73486079737c066420a3e95f15c1c0ac16
2017-12-05 00:07:52 +01:00
Jean-Yves Avenard f702757959 Bug 1404997 - P9. Remove unused member and accessor. r=pehrsons
MozReview-Commit-ID: HAO4NTXHJp1

--HG--
extra : rebase_source : b295c0409fa480755f1a925471d8bbda70ca8b5e
2017-12-17 10:15:59 +01:00
Jean-Yves Avenard 4139ca0019 Bug 1404997 - P8. Follow coding style for members and methods. r=drno,padenot
It allows to more easily distinguish between methods from upstream webrtc.org and our code.

MozReview-Commit-ID: ILQhEAYbSmc

--HG--
extra : rebase_source : 934505afddcca9253b00c4094776c95a087058fb
2017-12-08 21:32:38 +01:00
Jean-Yves Avenard b8ec246a1f Bug 1404997 - P7. Simplify played time calculations. r=pehrsons
Now that the graph rate match the one out of NetEQ, we can remove an unecessary conversion.

Additionally, move a member from the base case to the only one where it's used.

MozReview-Commit-ID: II5mdcl0vhK

--HG--
extra : rebase_source : 1d9edfc2803c3fadde7505b4d84293640e4311e0
2017-12-08 20:58:09 +01:00
Jean-Yves Avenard 2ecd33016c Bug 1404997 - P6. Fix constness were applicable. r=pehrsons
MozReview-Commit-ID: JPlZpRz4A9w

--HG--
extra : rebase_source : c788018469818489965756866765e0872c3fa741
2017-11-30 20:48:48 +01:00
Jean-Yves Avenard af842a70cd Bug 1404997 - P4. Make AudioProxyThread use AutoTaskQueue. r=pehrsons
Also, pass arguments are const reference.
We also rename class members as per coding style.

MozReview-Commit-ID: 9IkV8wCMpz7

--HG--
extra : rebase_source : 6dc8285342742bf19dd2d03f66dd0668fc32bbcc
2017-11-30 16:27:37 +01:00
Jean-Yves Avenard d9f0678a3a Bug 1404997 - P3. Rename some VideoFrameConverter members per coding style. r=pehrsons
MozReview-Commit-ID: Dsi5ZdD3Tay

--HG--
extra : rebase_source : 6faef2c1913da77b5978ccbfedfbe870d3c75e9e
2017-11-30 16:25:52 +01:00
Jean-Yves Avenard 6ae2d7162b Bug 1404997 - P2. Use AutoTaskQueue in VideoFrameConverter. r=pehrsons
It removes the need to explicitly shutdown the taskqueue and wait on the taskqueue to have run all dispatched task.
We do want to enforce that no listeners are being called once the VideoFrameConverter's owner has been destroyed as it could potentially lead to a UAF.
For now, access is okay as all operations are performed on the MSG's thread.
However, this will change in follow up patches.
The SourceMediaStream keeps a raw pointer to the MSG, and check if it's value isn't null to determine if the MSG has been shutdown or not, however SourceMediaStream::mGraph isn't thread safe as its access isn't protected by a mutex/monitor.

MozReview-Commit-ID: 1QsJAzPuE6L

--HG--
extra : rebase_source : 35f34450e62ff1f445ad6ccd06c6f6cbd3c6ed54
2017-11-30 16:23:28 +01:00
Jean-Yves Avenard 2fa0e45609 Bug 1404997 - P1. clang-format MediaPipeline.{cpp,h}. r=pehrsons
It's bound to be done automatically, makes it easier to modify later.

MozReview-Commit-ID: IQ5TBtS8Z3v

--HG--
extra : rebase_source : 0b1a326ada5761cfa50c33acbff9b61cf4e59c8c
2017-11-30 13:47:27 +01:00
Paul Adenot 2c9ab89b7c Bug 1397793 - Move away from VoEExternalMedia "external" API in AudioConduit.cpp. r=dminor
This forces us to do a copy. It's not the end of the world but could be avoided.
The number of channels received is now explicit (via
`AudioFrame::num_channels_`), instead of being guessed based on the number of
samples (considering we're always dealing with 10ms of audio, and we know the
rate).

It's still coupled a bit with audio devices, but we cheat, and use a "fake audio
device", which isn't going to touch actual OS APIs.

MozReview-Commit-ID: 1Tfajkv1HQR

--HG--
extra : rebase_source : c0c8c240621b076bb3b056689f45289212498903
extra : source : 9e92591ba6dcb18364da98756c645c91bfe81517
2017-10-31 17:33:42 +01:00
Paul Adenot 800e5eb38a Bug 1397793 - Use the MSG rate in MediaPipeline/PeerConnectionImpl. r=pehrsons
We used to fix the rate, arbitrarily, to 32kHz. Because the graph is almost
never running at 32kHz (more like 44.1kHz or 48kHz), and the codec would often
not be at 32kHz, this meant multiple resampling:
- Once here, in MediaPipeline, to bring to 32kHz
- Once when getting inserted in the MSG (so that the audio was brought back to
MSG rate)
- Maybe once in cubeb (depending on the platform)

This always removes the second resampling: the track is now at the correct rate,
as far as the MSG is concerned.

Additionally, if the MSG is running at 48kHz, more resampling are saved, because
it's one of the native webrtc.org rates.

MozReview-Commit-ID: DBWcwuWxUpu

--HG--
extra : rebase_source : 2b961a8bd91d952ccbe9df5a6ab7649321f282a6
extra : source : a3d9aa2649b95329d0cf686d79aa5179e9f3506d
2017-10-31 17:24:26 +01:00