The old method is marked deprecated and will be removed soon. The new
method checks if all cameras on the device support better than legacy
implementation of the camera2 API.
BUG=webrtc:6390
Review-Url: https://codereview.webrtc.org/2354883002
Cr-Commit-Position: refs/heads/master@{#14350}
The Java VideoSource class wraps the C++ AndroidVideoTrackSource.
AndroidVideoTrackSource is the object actually owning the VideoAdapter.
We currently control the VideoAdapter through the Java VideoCapturer,
but it is more natural and direct to control it through the Java
VideoSource class. This CL adds the necessary function to do this, and
the function in VideoCapturer is deprecated.
BUG=webrtc:6391
R=sakal@webrtc.org
Review URL: https://codereview.webrtc.org/2350933006 .
Cr-Commit-Position: refs/heads/master@{#14332}
Reason for revert:
Fix bugs causing the new code to fail.
Original issue's description:
> Revert of Release camera statistics after switching camera on CameraCapturer. (patchset #1 id:1 of https://codereview.webrtc.org/2353263002/ )
>
> Reason for revert:
> Breaks bots.
>
> Original issue's description:
> > Release camera statistics after switching camera on CameraCapturer.
> >
> > BUG=webrtc:6397
> > TBR=magjed@webrtc.org
> > NOTRY=True
> >
> > Committed: https://crrev.com/d5e9237b303e5fe253dc6530fbcf939921f4eaed
> > Cr-Commit-Position: refs/heads/master@{#14323}
>
> TBR=magjed@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6397
>
> Committed: https://crrev.com/ad5d65845f5c859d0564811a4eea68e1efdb8450
> Cr-Commit-Position: refs/heads/master@{#14324}
TBR=magjed@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6397
Review-Url: https://codereview.webrtc.org/2357893002
Cr-Commit-Position: refs/heads/master@{#14330}
Reason for revert:
Breaks bots.
Original issue's description:
> Release camera statistics after switching camera on CameraCapturer.
>
> BUG=webrtc:6397
> TBR=magjed@webrtc.org
> NOTRY=True
>
> Committed: https://crrev.com/d5e9237b303e5fe253dc6530fbcf939921f4eaed
> Cr-Commit-Position: refs/heads/master@{#14323}
TBR=magjed@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6397
Review-Url: https://codereview.webrtc.org/2353163003
Cr-Commit-Position: refs/heads/master@{#14324}
In the new implementation session reports all events through
CameraSession.Events interface. CameraCapturer passes these events
forward.
BUG=webrtc:6325
Review-Url: https://codereview.webrtc.org/2331343010
Cr-Commit-Position: refs/heads/master@{#14286}
Camera id doesn't really exist for Camera2. Changing onCameraOpening to
take a string instead removes ugly code.
BUG=webrtc:6325
R=magjed@webrtc.org
Review-Url: https://codereview.webrtc.org/2331013002
Cr-Commit-Position: refs/heads/master@{#14212}
This CL appends the EGL error code in exceptions after an EGL function
fails. This information is helpful when debugging.
BUG=webrtc:6350
Review-Url: https://codereview.webrtc.org/2338033002
Cr-Commit-Position: refs/heads/master@{#14208}
The method can be used to print the stack trace of the camera thread in
error conditions.
BUG=webrtc:6148
Review-Url: https://codereview.webrtc.org/2332693002
Cr-Commit-Position: refs/heads/master@{#14187}
I have written a large part of the code in these files and I feel I
should be an OWNER of them.
NOTRY=True
Review-Url: https://codereview.webrtc.org/2322983002
Cr-Commit-Position: refs/heads/master@{#14148}
Only has counts stats right now but enumeration stats can easily be added in the future if needed.
BUG=webrtc:6313
Review-Url: https://codereview.webrtc.org/2320473002
Cr-Commit-Position: refs/heads/master@{#14146}
Exynos VP8 HW encoder may generate a bitrate which deviates too
much from target value causing frame drops and fps reduction or
BWE stuck at low values.
Add one more option to bitrate adjustment in HW encoder wrapper
which allows to track and dynamicaly scale bitrate used for
codec configuration.
BUG=b/30951236
R=wzh@webrtc.org
Review URL: https://codereview.webrtc.org/2308843002 .
Cr-Commit-Position: refs/heads/master@{#14095}
These methods are not used by the new AndroidVideoTrackSource API.
Review-Url: https://codereview.webrtc.org/2280873002
Cr-Commit-Position: refs/heads/master@{#14036}
This allows to at least get a camera error back if the camera thread freezes. Application can use this as a signal to restart the program.
R=magjed@webrtc.org
Review-Url: https://codereview.webrtc.org/2257123002
Cr-Commit-Position: refs/heads/master@{#13830}
Apparently, a class will fail with VerifyError if it contains catch
statements with an Exception from a newer API, even if the code is never
executed. This happens only on Android versions before 4.4.2 and is a
bug. See https://code.google.com/p/android/issues/detail?id=209129 for
more info.
BUG=b/30376736
Review-Url: https://codereview.webrtc.org/2185833003
Cr-Commit-Position: refs/heads/master@{#13542}
There is a bug on pre LMR1 devices that only support legacy
implementation of camera2 API where aspect ratio of the camera is
incorrect if the output format doesn't match the aspect ratio of the
sensor array. On these devices, we want to disable the output formats that
have different aspect ratio.
Review-Url: https://codereview.webrtc.org/2181803003
Cr-Commit-Position: refs/heads/master@{#13538}
stack will be removed soon in a separate CL. Constraints will not be supported
in the new implementation. Apps can request a format directly and the closest
supported format will be selected.
Changes needed from the apps:
1. Use the new createVideoSource without constraints.
2. Call startCapture manually.
3. Don't call videoSource.stop/restart, use startCapture/stopCapture instead.
R=magjed@webrtc.orgTBR=kjellander@webrtc.org
Review URL: https://codereview.webrtc.org/2127893002 .
Cr-Commit-Position: refs/heads/master@{#13504}
This CL moves some arguments, e.g. the camera thread, from the startCapture() function to a new initialize() function. These arguments are constant during the lifetime of the VideoCapturer, and are not changed for different startCapture() calls. Setting them once allows for simplifications in the code.
This CL also fixes a bug for camera2 where pendingCameraSwitchSemaphore might not be released when switchEventsHandler is null.
In camera1, the handler lock and 'cameraThreadHandler == null' check is replaced with an atomic boolean to check if the camera is stopped.
BUG=webrtc:5519
R=sakal@webrtc.org
Review URL: https://codereview.webrtc.org/2122693002 .
Cr-Commit-Position: refs/heads/master@{#13404}
Add null checks for eglBase, and detach the egl context in
SurfaceViewRenderer.surfaceDestroyed().
BUG=webrtc:6032
R=sakal@webrtc.org
Review URL: https://codereview.webrtc.org/2124983002 .
Cr-Commit-Position: refs/heads/master@{#13396}