Commit graph

1559 commits

Author SHA1 Message Date
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 fcd1dfad1f

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 fcd1dfad1f.

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 d2535a53cf.

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
Sergey Silkin
a02f90691e Remove resolution alignment requirement (part 2)
https://webrtc-review.googlesource.com/c/src/+/296340 removed hard resolution alignment requirement from HardwareVideoEncoder.initEncode(). This CL removes the hard resolution alignment requirement from HardwareVideoEncoder.resetCodec().

Bug: webrtc:13089
Change-Id: Ia9fcd4d6a7ea16509ec3f12c3c78a76d1eb6c6f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/296520
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39498}
2023-03-07 17:18:55 +00:00
Sergey Silkin
5c978cb262 Remove resolution alignment requirement
This partially reverts https://webrtc-review.googlesource.com/c/src/+/229460. HW encoder wrapper still requires 16x16 alignment but InitEncode() doesn't fail if input resolution doesn't satisfy this requirement.

If encoder can't handle 16x16 then it should return error from MediaCodec.configure(). Many HW encoder can handle resolutions not multiple of 16. Having strict requirement for resolution alignment in InitEncode() blocks usage and testing of these encoders.

This change doesn't affect WebRTC in Chrome Android since RTC encoder wrapper requires 16x16 alignment: https://source.chromium.org/chromium/chromium/src/+/main:media/gpu/android/android_video_encode_accelerator.cc;drc=4abbb981443d7403566ef8aff05fdaca1e837da3;l=494

Bug: webrtc:13089
Change-Id: I0c39908bbcd7d0740a9ee8afa022ba443ffdb4de
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/296340
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39487}
2023-03-06 16:51:03 +00:00
Sergey Silkin
c494846bdf Set is_hardware_accelerated=true in JNI decoder wrapper
Assume that all Java decoders are hardware-accelerated.

Bug: b/261160916, webrtc:14852
Change-Id: I4c61839258c86ec9322b82d291542e2df6fd2ff1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/295863
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39457}
2023-03-02 15:12:20 +00:00
Alessio Bazzica
db1fae46d8 Reland "Remove ISAC media constant and payload type mapping"
This reverts commit b79b74e08b.

Reason for revert: downstream fixed

Original change's description:
> Revert "Remove ISAC media constant and payload type mapping"
>
> This reverts commit 4c7271aafe.
>
> Reason for revert: Breaks downstream test
>
> Original change's description:
> > Remove ISAC media constant and payload type mapping
> >
> > following the removal of ISAC from the code base.
> >
> > BUG=webrtc:14450
> >
> > Change-Id: I6faab5391bf0ef563c5dcce0bd5d8a653a87d9c8
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/294523
> > Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Commit-Queue: Philipp Hancke <phancke@microsoft.com>
> > Cr-Commit-Position: refs/heads/main@{#39378}
>
> Bug: webrtc:14450
> Change-Id: Idccd0ad7a05828f1be6db2071878c64d9bd37f33
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/294742
> Auto-Submit: Björn Terelius <terelius@webrtc.org>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Owners-Override: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39380}

Bug: webrtc:14450
Change-Id: I31a9b1873d0197a44d1a3da1d8c40a3a0fa15986
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/295502
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#39419}
2023-02-28 15:45:23 +00:00
Björn Terelius
b79b74e08b Revert "Remove ISAC media constant and payload type mapping"
This reverts commit 4c7271aafe.

Reason for revert: Breaks downstream test

Original change's description:
> Remove ISAC media constant and payload type mapping
>
> following the removal of ISAC from the code base.
>
> BUG=webrtc:14450
>
> Change-Id: I6faab5391bf0ef563c5dcce0bd5d8a653a87d9c8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/294523
> Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Philipp Hancke <phancke@microsoft.com>
> Cr-Commit-Position: refs/heads/main@{#39378}

Bug: webrtc:14450
Change-Id: Idccd0ad7a05828f1be6db2071878c64d9bd37f33
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/294742
Auto-Submit: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39380}
2023-02-23 15:00:38 +00:00
Philipp Hancke
4c7271aafe Remove ISAC media constant and payload type mapping
following the removal of ISAC from the code base.

BUG=webrtc:14450

Change-Id: I6faab5391bf0ef563c5dcce0bd5d8a653a87d9c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/294523
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#39378}
2023-02-23 10:23:48 +00:00
Sergey Silkin
2bdf79ac91 Handle frame_types=null in VideoEncoderWrapper::Encode()
frame_types=null is a valid input for Encoder(). VP8/VP9/H264 software encoder wrappers can handle frame_types=null.

Bug: b/261160916, webrtc:14852
Change-Id: I96ed98d553546ecbe70ff0356f314496f838c535
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293260
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39325}
2023-02-16 11:09:51 +00:00
Byoungchan Lee
2e631f5c38 Always build all iOS unittests, even on the simulator.
Also, make the iOS audio unittests not run on the simulator by default,
and if someone wants to run the tests one can do
by using the WEBRTC_IOS_RUN_AUDIO_TESTS environment variable.

Bug: webrtc:7812
Change-Id: Ie9fc70872c6617516e2f2c21039489df309b85fb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292621
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39306}
2023-02-13 20:30:24 +00:00
Sergey Silkin
831664294c Allow getScalingSettings to be called from any thread
Scaling settings is a static property of the encoder wrapper. It has no any dependencies on underlaying HW codec and can be fetched from any thread.

getScalingSettings is called from VideoEncoderWrapper ctor [1]. Presence of checkIsOnValidThread() in getScalingSettings caused capturing of thread [2]. That required all following codec calls to be done from the thread that created the codec.

[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/sdk/android/src/jni/video_encoder_wrapper.cc;drc=c05a1be5b49f5c03b6955b05bcbf47609e1b0381;l=41

[2] https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/rtc_base/java/src/org/webrtc/ThreadUtils.java;l=30

Bug: b/261160916, webrtc:14852
Change-Id: I7bb18bc8e3b371d83ccd44d4a5a096f716c0a0e2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291807
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39303}
2023-02-13 15:14:42 +00:00
Andreas Pehrson
97d1c34769 Enable rotation tests marked as expected failures
Bug: webrtc:8382
Change-Id: I70ba0cdbdc9bd1e3014a379deb9ae39795e60d1f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290899
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39247}
2023-02-02 10:48:32 +00:00
Jeremy Leconte
e351560d5f Disable RTCCameraVideoCapturerTestsWithMockedCaptureSession.
The test is already disabled on iOS < 16 and fails on iOS 16 with this error:
/../../sdk/objc/unittests/RTCCameraVideoCapturerTests.mm:556: error: -[RTCCameraVideoCapturerTestsWithMockedCaptureSession testStartCaptureSetsOutputDimensionsInvalidPixelFormat] : ((width) equal to ([output.videoSettings[(id)kCVPixelBufferWidthKey] intValue])) failed: ("110") is not equal to ("0")
https://chromium-swarm.appspot.com/task?id=5fc0ac239b2dd110

Change-Id: Ia0a5c4290261b204d5e369dfc62113268ef48127
Bug: webrtc:14829, b/264630045
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290895
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39130}
2023-01-18 09:45:06 +00:00
Florent Castelli
a6b9924988 Remove all usage of //rtc_base target
Bug: webrtc:9838
Change-Id: If813dbb426b4dc848185b64c0349d03fa9c059f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290986
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39116}
2023-01-16 14:36:06 +00:00
Andreas Pehrson
d100a589c8 Add dimensions to video settings in objc sdk camera backend.
This is required by some virtual cameras, like Snap Camera from
Snapchat.

Bug: webrtc:14783
Change-Id: I3d841936c17f3f227af9a94a4c3b0f37940d43b2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288361
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39073}
2023-01-11 13:59:37 +00:00
Florent Castelli
a138c6c8a5 Split rtc_base into multiple targets
Keeping the headers to allow compatibility with current users
that expect the headers to be in that target before they are
also updated.

Bug: webrtc:9838
Change-Id: I8b1e88850958e92c043686587a37791f01860220
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290569
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39031}
2023-01-09 12:21:25 +00:00
Philipp Hancke
b81823a5f0 stats: use Timestamp instead of uint64_t
making it clear what unit is being used.

BUG=webrtc:13756

Change-Id: I6354d35a8e02bb93a905ccf32cb0b294b4813e41
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/289460
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39008}
2023-01-05 08:37:31 +00:00
Andreas Pehrson
8bec181bfc Finish converting RTCCameraVideoCapturerTests to XCTest
Failed gunit assertions in these XCTestCase classes cannot result in
failed tests.

Bug: webrtc:8382
Change-Id: I47b50b74f60029fafeff4ca885775482a85dfdd3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288603
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38995}
2023-01-04 10:16:43 +00:00
Andreas Pehrson
8ce2fc1448 Add back lost RotationCamera tests
Lost in
https://webrtc.googlesource.com/src/+/c8a6fb2bb8762de17008dee97c5fb6e762f7e056

Bug: webrtc:8382
Change-Id: Ic9abd5d2b5d2593354e759c328b423ba272c8b9b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288700
Reviewed-by: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#38991}
2023-01-04 05:38:46 +00:00
Andreas Pehrson
7e176c41b9 Get RTCCameraVideoCapturerTests working again
See commit
https://webrtc.googlesource.com/src/+/c8a6fb2bb8762de17008dee97c5fb6e762f7e056
where the setup methods for RTCCameraVideoCaptureTests' test cases were
lost. Both "setup" where XCTest instead looks for "setUp", and
"setupWithMockedCaptureSession" which isn't called explicitly anywhere.

This commit splits the old RTCCameraVideoCaptureTests into two;
RTCCameraVideoCaptureTests for tests using "setup", and
RTCCameraVideoCaptureTestsWithMockedCaptureSession for tests using
"setupWithMockedCaptureSession".

Bug: webrtc:8382
Change-Id: I64cefff744e12f62d65e04133512de1e10d17d95
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288601
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38931}
2022-12-20 15:02:33 +00:00
Mike Woodworth
cca2c0e6bb fixes crash caused by race derefing pixelbufferpool ivar while being destroyed and replaced by format change
removes cached pixelbufferpool and instead retrieves current pool from the compressionSession each time (as recommended by apple docs)

Bug: webrtc:14688
Change-Id: I2244e69e7f32b912021db0905b9d5867d0bf6357
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/284240
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38920}
2022-12-20 10:22:52 +00:00
Harald Alvestrand
794d599741 Split media_channel and its dependencies from the rtc_media_base target
This helps in figuring out which dependencies exist, and gets closer
to obeying the "one target per .cc file" rule.

Test failures seem unrelated, so using No-Try.

No-Try: true
Bug: webrtc:14775
Change-Id: Id25466c8b8fe628d05c819cf7c69ae6d8421c6cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288020
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38910}
2022-12-16 12:15:22 +00:00
Byoungchan Lee
4a680f11ae Removed outdated comment of Notifier
Notifier is thread-hostile, and we have added a SequenceChecker
on https://webrtc-review.googlesource.com/c/src/+/252520 ,
so this comment is no longer needed.

Bug: None
Change-Id: I39f7f75a786dd27d2f6299d85676e7182d9032eb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288180
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38899}
2022-12-15 13:17:41 +00:00
Jonas Oreland
c0c65387ae AndroidNetworkMonitor - loosen assumptions even more
This cl/ attempts to fix (rather) rare crashes in
OnNetworkConnected_n by loosening the assumptions
that a network handle will keep it's network name.

With this cl/ it is possible that a NetworkHandle
can call OnNetworkConnected_n with one interface name
and then directly afterwards call it with another (
w/o an OnNetworkDisconnected_n inbetween).

This is the only scenario in which I could see the previous
crash occurring.

i.e
OnNetworkConnected(handle, "some-if-name")
OnNetworkConnected(handle, "some-other-name")

- previously this caused crash,
- now this is treated as if there was an OnNetworkDisconnected(handle) in between.

---

Also 1: shamelessly copy TYPE_MOBILE_DUN & TYPE_MOBILE_HIPRI from chromium: 87987f0e76

Also 2: Modify testcase not to use real interface names, so I can ran them on personal test phone w/o the real networks interfering.

Bug: webrtc:13741
Change-Id: I5480d5ce7031c2b5c09b958064076d02b3db1248
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/285980
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38808}
2022-12-05 10:01:01 +00:00
Byoungchan Lee
a639528a43 Fix AndroidNetworkMonitorTests crash due to DCHECK failure
AndroidNetworkMonitor::SetNetworkInfos assumes this method is called
only once, but unittests calls it twice.
One is called by the startMonitoring Java method, and the other is
called by each test.
Because of this, these tests will not succeed if dcheck_always_on is true.

To solve this problem, use OnNetworkConnected_n
instead of SetNetworkInfos in each test.

Bug: None
Change-Id: I027706ad5ccd597a91e3a66f15e181ee22d4aaa9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/285861
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#38798}
2022-12-02 13:37:27 +00:00
Per Kjellander
e0b4cab69c Remove default enabled field trial WebRTC-SendSideBwe-WithOverhead
Bug: webrtc:6762
Change-Id: I520188a13ee5f50c441226574ccb3df54f842835
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/285300
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38783}
2022-11-30 20:19:36 +00:00