// View layout interface.
 @Override
 protected void onMeasure(int widthSpec, int heightSpec) {
   ThreadUtils.checkIsOnMainThread();
   final Point size;
   synchronized (layoutLock) {
     size =
         videoLayoutMeasure.measure(widthSpec, heightSpec, rotatedFrameWidth, rotatedFrameHeight);
   }
   setMeasuredDimension(size.x, size.y);
   logD("onMeasure(). New size: " + size.x + "x" + size.y);
 }
 public void setScalingType(
     RendererCommon.ScalingType scalingTypeMatchOrientation,
     RendererCommon.ScalingType scalingTypeMismatchOrientation) {
   ThreadUtils.checkIsOnMainThread();
   videoLayoutMeasure.setScalingType(scalingTypeMatchOrientation, scalingTypeMismatchOrientation);
 }
 /** Set how the video will fill the allowed layout area. */
 public void setScalingType(RendererCommon.ScalingType scalingType) {
   ThreadUtils.checkIsOnMainThread();
   videoLayoutMeasure.setScalingType(scalingType);
 }