private static Camera.Size chooseVideoSize(BaseCaptureInterface ci, List<Camera.Size> choices) {
   Camera.Size backupSize = null;
   for (Camera.Size size : choices) {
     if (size.height <= ci.videoPreferredHeight()) {
       if (size.width == size.height * ci.videoPreferredAspect()) return size;
       if (ci.videoPreferredHeight() >= size.height) backupSize = size;
     }
   }
   if (backupSize != null) return backupSize;
   LOG(CameraFragment.class, "Couldn't find any suitable video size");
   return choices.get(choices.size() - 1);
 }