Camera: skip unnecessary reconfig

Test: manual testing 3rd party camera app + hacked walleye
Bug: 111850901
Change-Id: Ia2977a290bb0bd706f500a3d39e0d996d50cbe1e
gugelfrei
Yin-Chia Yeh 6 years ago
parent a2a19382e5
commit 86325527d4

@ -780,33 +780,35 @@ status_t Camera2Client::startPreviewL(Parameters &params, bool restart) {
int lastJpegStreamId = mJpegProcessor->getStreamId(); int lastJpegStreamId = mJpegProcessor->getStreamId();
// If jpeg stream will slow down preview, make sure we remove it before starting preview // If jpeg stream will slow down preview, make sure we remove it before starting preview
if (params.slowJpegMode) { if (params.slowJpegMode) {
// Pause preview if we are streaming if (lastJpegStreamId != NO_STREAM) {
int32_t activeRequestId = mStreamingProcessor->getActiveRequestId(); // Pause preview if we are streaming
if (activeRequestId != 0) { int32_t activeRequestId = mStreamingProcessor->getActiveRequestId();
res = mStreamingProcessor->togglePauseStream(/*pause*/true); if (activeRequestId != 0) {
if (res != OK) { res = mStreamingProcessor->togglePauseStream(/*pause*/true);
ALOGE("%s: Camera %d: Can't pause streaming: %s (%d)", if (res != OK) {
__FUNCTION__, mCameraId, strerror(-res), res); ALOGE("%s: Camera %d: Can't pause streaming: %s (%d)",
} __FUNCTION__, mCameraId, strerror(-res), res);
res = mDevice->waitUntilDrained(); }
if (res != OK) { res = mDevice->waitUntilDrained();
ALOGE("%s: Camera %d: Waiting to stop streaming failed: %s (%d)", if (res != OK) {
__FUNCTION__, mCameraId, strerror(-res), res); ALOGE("%s: Camera %d: Waiting to stop streaming failed: %s (%d)",
__FUNCTION__, mCameraId, strerror(-res), res);
}
} }
}
res = mJpegProcessor->deleteStream();
if (res != OK) { res = mJpegProcessor->deleteStream();
ALOGE("%s: Camera %d: delete Jpeg stream failed: %s (%d)",
__FUNCTION__, mCameraId, strerror(-res), res);
}
if (activeRequestId != 0) {
res = mStreamingProcessor->togglePauseStream(/*pause*/false);
if (res != OK) { if (res != OK) {
ALOGE("%s: Camera %d: Can't unpause streaming: %s (%d)", ALOGE("%s: Camera %d: delete Jpeg stream failed: %s (%d)",
__FUNCTION__, mCameraId, strerror(-res), res); __FUNCTION__, mCameraId, strerror(-res), res);
}
if (activeRequestId != 0) {
res = mStreamingProcessor->togglePauseStream(/*pause*/false);
if (res != OK) {
ALOGE("%s: Camera %d: Can't unpause streaming: %s (%d)",
__FUNCTION__, mCameraId, strerror(-res), res);
}
} }
} }
} else { } else {

Loading…
Cancel
Save