diff options
| -rw-r--r-- | media/libstagefright/ACodec.cpp | 7 | ||||
| -rwxr-xr-x | media/libstagefright/OMXCodec.cpp | 7 | ||||
| -rw-r--r-- | media/libstagefright/colorconversion/SoftwareRenderer.cpp | 5 | ||||
| -rw-r--r-- | services/camera/libcameraservice/CameraService.cpp | 4 | 
4 files changed, 23 insertions, 0 deletions
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp index d4d07b2..174ec92 100644 --- a/media/libstagefright/ACodec.cpp +++ b/media/libstagefright/ACodec.cpp @@ -445,6 +445,13 @@ status_t ACodec::allocateOutputBuffersFromNativeWindow() {          return err;      } +    err = native_window_set_scaling_mode(mNativeWindow.get(), +            NATIVE_WINDOW_SCALING_MODE_SCALE_TO_WINDOW); + +    if (err != OK) { +        return err; +    } +      err = native_window_set_buffers_geometry(              mNativeWindow.get(),              def.format.video.nFrameWidth, diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp index 4f8336e..7bcbdcf 100755 --- a/media/libstagefright/OMXCodec.cpp +++ b/media/libstagefright/OMXCodec.cpp @@ -1765,6 +1765,13 @@ status_t OMXCodec::allocateOutputBuffersFromNativeWindow() {          return err;      } +    err = native_window_set_scaling_mode(mNativeWindow.get(), +            NATIVE_WINDOW_SCALING_MODE_SCALE_TO_WINDOW); + +    if (err != OK) { +        return err; +    } +      err = native_window_set_buffers_geometry(              mNativeWindow.get(),              def.format.video.nFrameWidth, diff --git a/media/libstagefright/colorconversion/SoftwareRenderer.cpp b/media/libstagefright/colorconversion/SoftwareRenderer.cpp index a4ca32d..3246021 100644 --- a/media/libstagefright/colorconversion/SoftwareRenderer.cpp +++ b/media/libstagefright/colorconversion/SoftwareRenderer.cpp @@ -93,6 +93,11 @@ SoftwareRenderer::SoftwareRenderer(              GRALLOC_USAGE_SW_READ_NEVER | GRALLOC_USAGE_SW_WRITE_OFTEN              | GRALLOC_USAGE_HW_TEXTURE | GRALLOC_USAGE_EXTERNAL_DISP)); +    CHECK_EQ(0, +            native_window_set_scaling_mode( +            mNativeWindow.get(), +            NATIVE_WINDOW_SCALING_MODE_SCALE_TO_WINDOW)); +      // Width must be multiple of 32???      CHECK_EQ(0, native_window_set_buffers_geometry(                  mNativeWindow.get(), diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp index 0eff776..637ccd8 100644 --- a/services/camera/libcameraservice/CameraService.cpp +++ b/services/camera/libcameraservice/CameraService.cpp @@ -536,6 +536,8 @@ status_t CameraService::Client::setPreviewWindow(const sp<IBinder>& binder,      // If preview has been already started, register preview buffers now.      if (mHardware->previewEnabled()) {          if (window != 0) { +            native_window_set_scaling_mode(window.get(), +                    NATIVE_WINDOW_SCALING_MODE_SCALE_TO_WINDOW);              native_window_set_buffers_transform(window.get(), mOrientation);              result = mHardware->setPreviewWindow(window);          } @@ -642,6 +644,8 @@ status_t CameraService::Client::startPreviewMode() {      }      if (mPreviewWindow != 0) { +        native_window_set_scaling_mode(mPreviewWindow.get(), +                NATIVE_WINDOW_SCALING_MODE_SCALE_TO_WINDOW);          native_window_set_buffers_transform(mPreviewWindow.get(),                  mOrientation);      }  | 
