Merge "Revert "Camera2: create new streams if surface size has changed""

This commit is contained in:
Eino-Ville Talvala
2015-12-16 23:01:43 +00:00
committed by Gerrit Code Review

View File

@@ -95,8 +95,6 @@ public class CameraDeviceImpl extends CameraDevice {
new SimpleEntry<>(REQUEST_ID_NONE, null);
private final SparseArray<OutputConfiguration> mConfiguredOutputs =
new SparseArray<>();
private final SparseArray<Size> mConfiguredOutputSizes =
new SparseArray<>();
private final String mCameraId;
private final CameraCharacteristics mCharacteristics;
@@ -390,14 +388,7 @@ public class CameraDeviceImpl extends CameraDevice {
if (!outputs.contains(outConfig)) {
deleteList.add(streamId);
} else {
// Even if same surface and rotation, the surface can have re-sized.
// If so, we must create a new stream to ensure HAL is configured correctly.
Size outSize = SurfaceUtils.getSurfaceSize(outConfig.getSurface());
if (!outSize.equals(mConfiguredOutputSizes.valueAt(i))) {
deleteList.add(streamId);
} else {
addSet.remove(outConfig); // Don't create a stream previously created
}
addSet.remove(outConfig); // Don't create a stream previously created
}
}
@@ -430,16 +421,13 @@ public class CameraDeviceImpl extends CameraDevice {
for (Integer streamId : deleteList) {
mRemoteDevice.deleteStream(streamId);
mConfiguredOutputs.delete(streamId);
mConfiguredOutputSizes.delete(streamId);
}
// Add all new streams
for (OutputConfiguration outConfig : outputs) {
if (addSet.contains(outConfig)) {
int streamId = mRemoteDevice.createStream(outConfig);
Size outSize = SurfaceUtils.getSurfaceSize(outConfig.getSurface());
mConfiguredOutputs.put(streamId, outConfig);
mConfiguredOutputSizes.put(streamId, outSize);
}
}