title: 640x360(360p) Camera resolution
body: <p>In my Android app, I would like to use 16:9 resolution for camera preview &amp; transmit via WebRTC call
  Wanted to go with 360p (640x360) since its common &amp; it wont require high bitrate to transmit</p>
  <p>I am using Camera2 API. As a best practice, I first identified the list of supported resolution on the device to check if 360p is supported or not. Once verified, I proceed to create cameraCapturesession</p>
  <p>But this check is failing in some devices - Real Me 5 Pro, Redmi Note 7S, redmi note 7 (all running android versions &gt;=9)
  Though it seems to be a popular resolution, 360p is not available in the list of supported resolutions in these devices</p>
  <p>List is fetched via cameraCharacteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP).getOutputSizes(SurfaceTexture.class)
  It was not available with getOutputSizes(ImageFormat.JPEG) as well</p>
  <p>And When I force to create the cameraCaptureSession with 640*360 without verifying supported resolution, It actually worked - it was able to capture 640x360 resolution. Looks like device camera actually supported it, but not available in the list fetched from cameraCharacteristics.</p>
  <p>I assume i cannot force this resolution without doing check - as it might not work in some device and will throw exception/crash
  I thought of adding a fallback by choosing closest match for 360p - either 16:9 will have to be compromised or 1280x720 will have to be chosen - it ll require higher bitrate to transmit</p>
  <p>I think 360p is a std resolution- Any possible reason why it is not listed as supported, but actually worked when forced?
  As per my understanding of doc, SCALER_STREAM_CONFIGURATION_MAP should return exhaustive list of resolutions supported by hardware
  Am I missing anything? Please suggest solution or workaround</p>