1583 Commits

Author SHA1 Message Date
Linus Nilsson
ad3f1bcc1b Adopt EglThread in EglRenderer
This allows EglRenderer to be able to share render thread and EGLContext
with others.
go/meet-android-eglcontext-reduction

Bug: b/225229697
Change-Id: I896c8082ef8b64f5b544fa2eda7303fbca3985d1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/316881
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40574}
2023-08-18 21:05:57 +00:00
Magnus Jedvert
70483a59aa Add unscaled getWidth/Height to TextureBuffer interface
Bug: b/289762633
Change-Id: I36a8c108ca03d464cd4dd08441dc9b64077343c1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/316860
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Fabian Bergmark <fabianbergmark@google.com>
Cr-Commit-Position: refs/heads/main@{#40567}
2023-08-18 12:04:32 +00:00
MohamedRisaldarTA
b9876488e9 Exposed Adapter types for Android
This avoids the need of hard coding the values to use networkIgnoreMask  on Android platform.

Bug: None
Change-Id: Ib5e860913cec2c6d41cfa1b778cb122d0bfe1300
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311780
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40541}
2023-08-11 08:29:14 +00:00
Björn Terelius
51f6a20d1d Roll chromium_revision 6b95b8aa08..80c35b98ae (1175249:1180373)
Manually
 - update the path to libc++, libunwind, and android_toolchain
 - update paths to licence files
 - add missing arg `use_perfetto_trace_processor`
 - use C++20 for android compilation (due to dependency on //base from the JNI generator)
 - only test on Android sdk version (21) due to non-hermetic test `TCPChannelClientTest`

Change log: 6b95b8aa08..80c35b98ae
Full diff: 6b95b8aa08..80c35b98ae

Changed dependencies
* fuchsia_version: version:13.20230714.0.1..version:14.20230804.1.1
* reclient_version: re_client_version:0.110.0.43ec6b1-gomaip..re_client_version:0.111.0.1ccaa23-gomaip
* src/base: dcfe245ca1..4845bf859d
* src/build: b74cdc4550..c14d86f2ac
* src/buildtools: 16be42a9ff..a9a6f0c49d
* src/buildtools/linux64: git_revision:fae280eabe5d31accc53100137459ece19a7a295..git_revision:811d332bd90551342c5cbd39e133aa276022d7f8
* src/buildtools/mac: git_revision:fae280eabe5d31accc53100137459ece19a7a295..git_revision:811d332bd90551342c5cbd39e133aa276022d7f8
* src/buildtools/reclient: re_client_version:0.110.0.43ec6b1-gomaip..re_client_version:0.111.0.1ccaa23-gomaip
* src/buildtools/win: git_revision:fae280eabe5d31accc53100137459ece19a7a295..git_revision:811d332bd90551342c5cbd39e133aa276022d7f8
* src/ios: 51a637843f..af5e59ca5c
* src/testing: b946312a89..43317e989d
* src/third_party: 93b5f4c408..3b06b3cc29
* src/third_party/android_build_tools/manifest_merger: 8fr-1Vf_pfxN9ulzWVaZvIXggDgWDs-0dtlGA1Sue48C..d1tFnzOW6H5xoDN7WWsMuAiHuhkl0kXijQGiO7IU1VQC
* src/third_party/androidx: y7rF_rx56mD3FGhMiqnlbQ6HOqHJ95xUFNX1m-_a988C..fKq4SHYaZsLkQtDQsKxkn2xysI5m1pLftMfADDOXsywC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/b98ce18c5b..e4acd6cb56
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/84e3795d98..220cbb13b5
* src/third_party/clang-format/script: f97059df7f..e5337933f2
* src/third_party/depot_tools: 54e86436a8..6d0c235dae
* src/third_party/ffmpeg: 881c5c3f64..0ba3773340
* src/third_party/fontconfig/src: 06929a556f..2fb3419a92
* src/third_party/freetype/src: 9e3c5d7e18..3829fdaae5
* src/third_party/icu: e8c3bc9ea9..de4ce0071e
* src/third_party/jdk: IivIDwNBf73mf7UwCOBceRUuDdtizMCgSOQDfUGHArsC..GCFtf5t6M4HlrHj6NXedHbpHp2xjgognF8ptNci4478C
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/af2b02ce05..92fb72a64e
* src/third_party/libunwind/src: 6c0013015b..b113f23e4c
* src/third_party/libvpx/source/libvpx: 9ad950a9c4..e1c124f896
* src/third_party/perfetto: ab16995d92..446adf5b7b
* src/third_party/r8: O1BBWiBTIeNUcraX8STMtQXVaCleu6SJJjWCcnfhPLkC..dbml4pnGIsEBy3dFYki-S8IYt4jxxqZXaUDwtY3Q-SgC
* src/third_party/turbine: 2I2Nz480QsuCxpQ1lMfbigX8l5HAhX3_ykWU4TKRGo4C..HFp7iOu-n4-CdEasFTQZvD1Vg1L-q1URqRTOM-iZ2AMC
* src/tools: 4057b98943..e3244f7e27
* src/tools/luci-go: git_revision:f02582af78f530a7bbfe2f059fa5d211c9517756..git_revision:e608c1f557fceae8eb6cf35ae2ad6f4908e35245
* src/tools/luci-go: git_revision:f02582af78f530a7bbfe2f059fa5d211c9517756..git_revision:e608c1f557fceae8eb6cf35ae2ad6f4908e35245
DEPS diff: 6b95b8aa08..80c35b98ae/DEPS

No update to Clang.

BUG=b/295113672, b/294976628

Change-Id: I1ce70f570843bc98c480abba7babfa34c1e869e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/315181
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40532}
2023-08-10 07:50:10 +00:00
Mirko Bonadei
c59be6d261 Roll chromium_revision 10080947c0..6b95b8aa08 (1174188:1175249)
Change log: 10080947c0..6b95b8aa08
Full diff: 10080947c0..6b95b8aa08

Changed dependencies
* src/base: 3de7d110cb..dcfe245ca1
* src/build: 3dd34519f9..b74cdc4550
* src/buildtools: ca163845c7..16be42a9ff
* src/ios: a265a85ace..51a637843f
* src/testing: 85b0f51488..b946312a89
* src/third_party: 53a08ec089..93b5f4c408
* src/third_party/android_build_tools/manifest_merger: UwtCH6usmvLSrqbzGSTrjqJ1AJnNh-Vkq4hCEKvDM5oC..8fr-1Vf_pfxN9ulzWVaZvIXggDgWDs-0dtlGA1Sue48C
* src/third_party/androidx: ZIfpMhRlZ2Wm-GCtxgdXmEUojZK4r6xCyO7sLg51fjgC..y7rF_rx56mD3FGhMiqnlbQ6HOqHJ95xUFNX1m-_a988C
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/b119dc414e..84e3795d98
* src/third_party/depot_tools: d411904b84..54e86436a8
* src/third_party/freetype/src: 5769f13a6b..9e3c5d7e18
* src/third_party/perfetto: e568f2855d..ab16995d92
* src/tools: 1a0f13f46a..4057b98943
DEPS diff: 10080947c0..6b95b8aa08/DEPS

No update to Clang.

BUG=b/293234089

Change-Id: I84b9c8309208b0bb3cb492ac5a8952c48ede0c6f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313200
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40520}
2023-08-07 13:57:06 +00:00
Mirko Bonadei
9130431b54 Add possibility to set RTC_OBJC_TYPE_PREFIX from GN.
This CL also adds the prefix RTC_TESTING to `ios_internal_pure_release_bot_arm64` in order to avoid ODR
violations.

Bug: b/292472934
Change-Id: If63020e679c8670b4c797217eb38fc8c2954d422
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313240
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40476}
2023-07-26 12:29:55 +00:00
Linus Nilsson
4200233adc Add exception callbacks to EglThread
This allows EglRenderer to preserve existing behavior of
not sending any more tasks to the render thread after an
GL exception has been thrown.

Bug: b/225229697
Change-Id: I09e7cc48bf139aab4c9e147c2b24972ccd401672
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311548
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40419}
2023-07-11 20:21:22 +00:00
Linus Nilsson
4e5b89f77b Create the EGLContext on the thread it will be used on.
Not doing so seems to have caused issues with creating window surfaces
on that context later on.

Bug: b/225229697
Change-Id: Id202c93c4e51d1661e79a4b37751d11fcd64c119
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311462
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40411}
2023-07-10 10:11:12 +00:00
Yaowen Guo
6fc700ec3d Rland "Revert "Reland "Reland "Delete old Android ADM.""""
This reverts commit 7534ebd2bf59212cce5e010dd6ed9b3bc944818e.

Reason for revert: Downstream projects have been updated, try it again.

R=perkj@webrtc.org

Bug: webrtc:7452
Change-Id: Ice48a563a6da499b6050b6f6e21bb0a18cd34f57
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/271841
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40386}
2023-06-30 13:10:12 +00:00
Kári Tristan Helgason
becfe2e571 Make opengl targets ios-only.
Bug: b/288827308
Change-Id: I5d37db079646eb8276d4f66a0fc33a585aad38e9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311100
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40385}
2023-06-30 12:34:51 +00:00
Artem Titov
415e30fdbb Extract some test code out from audio_device_impl into own targets
Bug: b/272350185, webrtc:15081
Change-Id: Ic7a0c8b335bb60d7975a490896da92aa95575ca5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/310784
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40384}
2023-06-30 10:33:31 +00:00
Kári Tristan Helgason
9948623027 Use AVCaptureDeviceDiscoverySession on all platforms
Bug: b/288827308
Change-Id: I345d62bb44f947412a0a448f0feadca8b0dc9d2d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/310621
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40383}
2023-06-30 09:05:00 +00:00
Kári Tristan Helgason
ba50cb322c Reland "Delete deprecated NSGLVideoView."
This is a reland of commit 54d7547faffa82f935205a88080c5378e79b828b

Original change's description:
> Delete deprecated NSGLVideoView.
>
> Bug: b/288827308
> Change-Id: I08f731d893ebc947b7c4db6deb33ed695dcf53b5
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/310622
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
> Auto-Submit: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40368}

Bug: b/288827308
Change-Id: Ib6c0972c62a0ca97bd3bb1b8e7b1c11f9fe49725
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/310783
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40380}
2023-06-29 15:36:11 +00:00
Mirko Bonadei
ea668e36a9 Revert "Delete deprecated NSGLVideoView."
This reverts commit 54d7547faffa82f935205a88080c5378e79b828b.

Reason for revert: Breaks downstream project

Original change's description:
> Delete deprecated NSGLVideoView.
>
> Bug: b/288827308
> Change-Id: I08f731d893ebc947b7c4db6deb33ed695dcf53b5
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/310622
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
> Auto-Submit: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40368}

Bug: b/288827308
Change-Id: I4d683c3dc59eaf87f2634284acfddcfea174c8b3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/310820
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40370}
2023-06-28 14:47:15 +00:00
Kári Tristan Helgason
54d7547faf Delete deprecated NSGLVideoView.
Bug: b/288827308
Change-Id: I08f731d893ebc947b7c4db6deb33ed695dcf53b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/310622
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Auto-Submit: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40368}
2023-06-28 14:08:24 +00:00
Yury Yarashevich
e5ee43787a Fix candidate leak with initWithNativeCandidate.
[RTCIceCandidate initWithNativeCandidate:] does not take ownership on
candidate, so it must be released by caller.

Bug: None
Change-Id: I516e740e81a7aec04556f5fa71cbbecf3be6deb7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/308500
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40314}
2023-06-20 10:31:44 +00:00
Yury Yarashevich
11affddbbc Fix PeerConnectionDependencies leak on PC init.
Release + dereference operator does not magically move buffer from
heap to stack, so there was a leak.

Bug: None
Change-Id: I9f760b6719ca1fc03aa3efcfda0c0ff9d87efda8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/308581
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Yury Yarashevich <yura.yaroshevich@gmail.com>
Cr-Commit-Position: refs/heads/main@{#40303}
2023-06-16 19:36:31 +00:00
Linus Nilsson
febf55853b Revert "Adopt EglThread in EglRenderer"
This reverts commit f4d0a493b49eef7e55c66e4d03d329e3e655b182.

Reason for revert: Potentially causing crash in eglSurfaceCreationRunnable (b/286664896)

Original change's description:
> Adopt EglThread in EglRenderer
>
> This allows EglRenderer to share render thread EGLContext with other renderers.
> go/meet-android-eglcontext-reduction
>
> Bug: b/225229697
> Change-Id: I8aa41e61ada195fbbe3338c05815b26f3238dd78
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306281
> Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
> Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40141}

Bug: b/225229697
Change-Id: I4c57ea88047bde6e9782f0ce76bdaacd1bad4af3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/308580
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40266}
2023-06-13 11:27:27 +00:00
Abby Yeh
de923386a0 Update parameters' type from NSString to AVAudioSession*.
Bug: webrtc:15233
Change-Id: I110a3fb1e992ff07aebe21881ee31d55d39db60b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/308520
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40258}
2023-06-12 14:21:39 +00:00
Abby Yeh
47bdcc1e24 When updating audio session, update category, mode, options at once.
Bug: webrtc:15233
Change-Id: I5f1014dc93a780b05af1fbda198b2c5af25de077
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/308400
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Abby Yeh <abbyyeh@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40256}
2023-06-11 07:57:53 +00:00
Jonas Oreland
267040e29a Make native VideoTrack pointer public
Is useful for app that has parts in java and parts in native,
that can pass down native pointer rather than java object,
and get the native pointer using up-call.

Many/most other objects expose their native pointer
for these use cases.

BUG=None

Change-Id: I352d4de388525abb09733d38b6af6651770d0498
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307460
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40203}
2023-06-02 07:58:27 +00:00
Xavier Lepaul
c73ea4fc57 More systematic null checks before calling native methods
None of these native methods perform null checks. Some of the Java
delegates were doing some null checks, but calling others with null
parameters would just result in native crashes that often lack context.

These more systematic checks will make debugging easier.

Bug: b/282038690
Change-Id: I3363abeede84c1bd93da397fe87c3d638a607107
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306961
Reviewed-by: Linus Nilsson <lnilsson@webrtc.org>
Commit-Queue: Xavier Lepaul‎ <xalep@webrtc.org>
Reviewed-by: Ranveer Aggarwal‎ <ranvr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40175}
2023-05-30 09:06:21 +00:00
Yury Yarashevich
87e74f9fb7 Remove unused combined_audio_video_bwe.
Bug: None
Change-Id: Ie539351f98b7a0ebb5f08e0df5c5759a2bcb5588
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306520
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Yury Yarashevich <yura.yaroshevich@gmail.com>
Cr-Commit-Position: refs/heads/main@{#40160}
2023-05-26 15:56:00 +00:00
Linus Nilsson
f4d0a493b4 Adopt EglThread in EglRenderer
This allows EglRenderer to share render thread EGLContext with other renderers.
go/meet-android-eglcontext-reduction

Bug: b/225229697
Change-Id: I8aa41e61ada195fbbe3338c05815b26f3238dd78
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306281
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40141}
2023-05-25 11:03:53 +00:00
Linus Nilsson
3369729100 Add EglThread class wrapping EglConnection and handler.
EglThread can be shared by multiple clients each using their own
EglBase instance, but sharing thread and EglConnection.
go/meet-android-eglcontext-reduction

Bug: b/225229697
Change-Id: I2d18b92bdef51362a9dbd9c0af56cb868e29869d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305462
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40121}
2023-05-23 14:02:21 +00:00
Linus Nilsson
cc1ee35a69 Reland "Avoid recreating VirtualDisplay on format changes."
This is a reland of commit fcd1dfad1f855346a1fb6741322ff48c61601df7

Original change's description:
> Avoid recreating VirtualDisplay on format changes.
>
> Recreating the VirtualDisplay will require new user permission dialog,
> so resize instead when possible.
>
> Bug: b/281978124
> Change-Id: I3b6939720897c038c9e598433372342cf72e001e
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305560
> Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
> Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40084}

Bug: b/281978124
Change-Id: I35b60de99a8cd5f2555168d98027d3fc781e8b30
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305781
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40091}
2023-05-19 12:49:05 +00:00
Mirko Bonadei
510890ba19 Revert "Avoid recreating VirtualDisplay on format changes."
This reverts commit fcd1dfad1f855346a1fb6741322ff48c61601df7.

Reason for revert: Breaks downstream test.

Original change's description:
> Avoid recreating VirtualDisplay on format changes.
>
> Recreating the VirtualDisplay will require new user permission dialog,
> so resize instead when possible.
>
> Bug: b/281978124
> Change-Id: I3b6939720897c038c9e598433372342cf72e001e
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305560
> Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
> Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40084}

Bug: b/281978124, b/283063961
Change-Id: I8ec2ba3321be225a673af2a6192819a8a1b79b2c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305641
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#40085}
2023-05-17 11:16:51 +00:00
Linus Nilsson
fcd1dfad1f Avoid recreating VirtualDisplay on format changes.
Recreating the VirtualDisplay will require new user permission dialog,
so resize instead when possible.

Bug: b/281978124
Change-Id: I3b6939720897c038c9e598433372342cf72e001e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305560
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40084}
2023-05-17 11:03:58 +00:00
David Liu
784c339f34 Expose setCodecPreferences/getCapabilities for android
Bug: webrtc:15177
Change-Id: If61ef9a87bc4f68d73cef6e681461682ca48f034
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304880
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40071}
2023-05-15 19:24:15 +00:00
Yury Yarashevich
36d4155112 Removed unused members of UIDevice extension.
Bug: webrtc:15094
Change-Id: I9b9dd8d7cba3ccfb1e8acdb6e1df42f9efe1cea6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/303780
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39984}
2023-05-04 14:48:05 +00:00
Saúl Ibarra Corretgé
14d4e9f186 Fix crash in RTCMTLVideoView when trying to draw an invalid sized frame
Bug: webrtc:14892
Change-Id: I6321380444fa1de34c64fe72b587f1f5b245fad8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304000
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39971}
2023-05-02 12:08:56 +00:00
Yury Yarashevich
ea7f3d7230 Update iOS H264 profile+level table.
Added H264 profile level information for new devices.
Use machine name to form table to simplify later updates.
Implemented workaround for unknown devices.

Previous update was done as part of:
https://webrtc-review.googlesource.com/c/src/+/256976

Device machine names obtained from:
https://gist.github.com/adamawolf/3048717

Machine name to device model matching was done with:
https://everymac.com/ultimate-mac-lookup/


Bug: webrtc:15094
Change-Id: I85b7faa51b9f239d0b7783b9926449e02f5482d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/303760
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39962}
2023-04-28 08:45:25 +00:00
Linus Nilsson
df4bc33e11 Allow EglBase instances to share EGLConnection.
This enables clients of EglBase to keep using it but
share underlying EGLContext with other clients.
go/meet-android-eglcontext-reduction

Bug: b/225229697
Change-Id: I42719f25be7db169c39878b57a5f1487e3c1894e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/301941
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39961}
2023-04-27 19:59:05 +00:00
Sergey Silkin
0421294df0 Enable RTC mode in Google HW AV1 encoder
Bug: b/274179852
Change-Id: Id987fa8b73468532304f856bc97d40238f93b266
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/302180
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39921}
2023-04-21 16:38:06 +00:00
Jared Siskin
6f86f6af00 Format /sdk
git ls-files | grep -e  "\(\.h\|\.cc\)$" | grep -e  "^sdk/" | xargs clang-format -i ; git cl format
after landing: add to .git-blame-ignore-revs

Bug: webrtc:15082
Change-Id: If05d3c7555c4f2bf25e387249932787a93aa39c5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/302060
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39913}
2023-04-21 04:30:57 +00:00
Sergey Silkin
88429d572b Account for stride when calculating buffer size
https://webrtc-review.googlesource.com/c/src/+/240680 made encoder aware of stride and slice height of input buffer but calculation of buffer size passed to queueInputBuffer() was not updated.

Bug: webrtc:13427
Change-Id: Iba8687f56eda148ac67b331d35c45317a4ec5c59
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/301321
Reviewed-by: Mirta Dvornicic <mirtad@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39895}
2023-04-19 10:10:32 +00:00
Sergey Silkin
6cf12bbe32 Fetch encoded QP before releasing output buffer
Before this change we first released output frame buffer in the code path which prepends config buffer to a keyframe and then called getOutputFormat(index). getOutputFormat(index) throws an exception if index points to a released buffer. This change rearranges calls such that getOutputFormat(index) always executed before releaseOutputBuffer(index).

Bug: webrtc:15015
Change-Id: Ia64f5d8e7483aeeb316d1a71c0cb79233f4bbee9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/301364
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39874}
2023-04-17 12:31:32 +00:00
Sergey Silkin
89facfc421 Fix potential null pointer access in HardwareVideoEncoder
There was no check for null in the code that prepends config buffer to key frame buffer. It is not a requirement for codec to deliver config buffer. Some codecs probably do not do that.

Bug: none
Change-Id: Id9c57efc5d1de5f569fa773313da4db3cd8b074c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299900
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39807}
2023-04-11 13:50:41 +00:00
Peter Hanspers
6cabf35a42 Expose network thread in RTCPeerConnectionFactory+Private.
Change-Id: I98f352c832425da6c5500f579969025f258c7669
Bug: webrtc:15078
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300843
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Auto-Submit: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39803}
2023-04-11 10:25:10 +00:00
Taylor Brandstetter
9658f47459 Add missing dependency.
third_party/webrtc/files/stable/webrtc/sdk/objc/native/api/video_capturer.mm
calls `webrtc::CreateVideoTrackSourceProxy()`, which is defined in
third_party/webrtc/files/stable/webrtc/pc/video_track_source_proxy.cc.

Some pending changes to the Apple related rules will expose this missing
dependency, so adding the missing dependency to not have downstream users
break.

Bug: b/276754006
Change-Id: I278872123f5351614c6e3affbdceffdb7e0f969c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300625
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39798}
2023-04-11 06:33:36 +00:00
Philip Eliasson
7454fdd12b Revert "Replace BuiltinVideo{Encoder,Decoder}Factory with Video{Encoder,Decoder}FactoryTemplate."
This reverts commit d2535a53cf014e4973b92bb6f00d7a2b87cd02c2.

Reason for revert: breaks downstream

Original change's description:
> Replace BuiltinVideo{Encoder,Decoder}Factory with Video{Encoder,Decoder}FactoryTemplate.
>
> Bug: webrtc:13573
> Change-Id: I07e4fe9be938ba2540351b73ff22a090c68afa00
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299663
> Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39777}

Bug: webrtc:13573
Change-Id: I4d60383a46db4fdddd61e58b53c4ed07773434b2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300543
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Owners-Override: Philip Eliasson <philipel@webrtc.org>
Auto-Submit: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39783}
2023-04-06 14:21:30 +00:00
philipel
d2535a53cf Replace BuiltinVideo{Encoder,Decoder}Factory with Video{Encoder,Decoder}FactoryTemplate.
Bug: webrtc:13573
Change-Id: I07e4fe9be938ba2540351b73ff22a090c68afa00
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299663
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39777}
2023-04-06 09:04:11 +00:00
landrey
a3ff334cf1 Remove dependency to android_support_test_runner in webrtc
Make WebRTC compatible with changes introduced in https://crbug.com/1428304

Bug: chromium:1428304
Change-Id: I464a09545dc3a158ea4108bb63c7b8c4a05adc6b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300263
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39763}
2023-04-05 08:40:19 +00:00
Mirko Bonadei
a0e4ce0e81 Add missing frameworks deps.
Bug: None
Change-Id: Ib3883b2977cc6c989ad2c9c1e3fab6f90a78e147
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299941
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#39741}
2023-04-03 07:12:11 +00:00
Sergey Silkin
910b225d82 Fetch encoded QP from MediaCodec encoders
It is a part of "encoding statistics" feature [1] available in Android SDK 33. Local testing revealed that for HW VP8/9 encoders we get QP in range [0,64] which is not what WebRTC quality scaler expects. Exclude VP8/9 encoders for now.

[1] https://developer.android.com/reference/android/media/MediaFormat#VIDEO_ENCODING_STATISTICS_LEVEL_1

Bug: webrtc:15015
Change-Id: I8af2fd96afb34e18cb3e2cc3562b10149324c16e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298306
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39722}
2023-03-30 10:19:22 +00:00
Magnus Jedvert
49572e3438 Add support for JavaToNativeFloatArray
Change-Id: I75482debc163d2c5f173cad644cd25ceb2996b38

Bug: webrtc:15047
Change-Id: I75482debc163d2c5f173cad644cd25ceb2996b38
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299240
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39713}
2023-03-29 11:03:30 +00:00
Sergey Silkin
2d1fa4713f Use MediaCodec API keys and values directly
Replace locally-defined keys and values with constants from MediaCodec API (MediaFormat.KEY_..., etc). Value of a constant field is resolved at compile time according to 13.1.1 [1]. I.e., it is safe to reference a constant field not available in older API (MediaCodec API ignores unrecognized MediaFormat.KEY_ values).

[1] https://docs.oracle.com/javase/specs/jls/se20/html/jls-13.html#jls-13.1

Bug: none
Change-Id: I3c63cfd67cc22db1b957f908508b434d36d88806
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298940
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Linus Nilsson <lnilsson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39668}
2023-03-24 13:59:54 +00:00
Magnus Jedvert
342bbe1ad4 Allow const pointer in NativeToJavaPointer
Bug: webrtc:15032
Change-Id: I3355e3e5d6fdc15652ffb0d6d0ff0328f49fcadb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298900
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Fabian Bergmark <fabianbergmark@google.com>
Cr-Commit-Position: refs/heads/main@{#39652}
2023-03-23 11:11:05 +00:00
Harald Alvestrand
041ecb87f5 New PeerConnectionFactory::CreateVideoTrack with refcounted source
Bug: webrtc:15017
Change-Id: I04c794d8959583bb4cc5c3898f4175783ec49f16
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249363
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39635}
2023-03-22 09:10:27 +00:00
Sergey Silkin
0af2bc639a Add H265 to VideoCodecMimeType
This enables testing HW H265 codecs on devices where the support is available.

Bug: b/261160916, webrtc:14852
Change-Id: I32d102fcf483ea4ba46d6f5161342dbb584e7cc9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298040
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39591}
2023-03-17 15:28:11 +00:00