Loading apex/manifest.json +1 −1 Original line number Diff line number Diff line { "name": "com.android.media", "version": 330100000, "version": 330090000, "requireNativeLibs": [ "libandroid.so", "libbinder_ndk.so", Loading apex/manifest_codec.json +1 −1 Original line number Diff line number Diff line { "name": "com.android.media.swcodec", "version": 330100000, "version": 330090000, "requireNativeLibs": [ ":sphal" ] Loading media/libaudioclient/ToneGenerator.cpp +5 −2 Original line number Diff line number Diff line Loading @@ -1485,8 +1485,11 @@ size_t ToneGenerator::onMoreData(const AudioTrack::Buffer& buffer) { } // Update next segment transition position. No harm to do it also for last segment as // mNextSegSmp won't be used any more mNextSegSmp += (mpToneDesc->segments[mCurSegment].duration * mSamplingRate) / 1000; // mNextSegSmp won't be used any more. // Handle 32 bit wraparound gracefully. const uint64_t res = static_cast<uint64_t>(mNextSegSmp) + (mpToneDesc->segments[mCurSegment].duration * mSamplingRate) / 1000; mNextSegSmp = static_cast<uint32_t>(std::min<uint64_t>(TONEGEN_INF, res)); } else { // Inside a segment keep tone ON or OFF Loading media/ndk/NdkImage.cpp +2 −3 Original line number Diff line number Diff line Loading @@ -25,7 +25,6 @@ #include <android_media_Utils.h> #include <private/android/AHardwareBufferHelpers.h> #include <utils/Log.h> #include "hardware/camera3.h" using namespace android; Loading Loading @@ -375,8 +374,8 @@ AImage::getJpegSize() const { uint8_t* jpegBuffer = mLockedBuffer->data; // First check for JPEG transport header at the end of the buffer uint8_t* header = jpegBuffer + (width - sizeof(struct camera3_jpeg_blob)); struct camera3_jpeg_blob* blob = (struct camera3_jpeg_blob*)(header); uint8_t* header = jpegBuffer + (width - sizeof(struct camera3_jpeg_blob_v2)); struct camera3_jpeg_blob_v2* blob = (struct camera3_jpeg_blob_v2*)(header); if (blob->jpeg_blob_id == CAMERA3_JPEG_BLOB_ID) { size = blob->jpeg_size; ALOGV("%s: Jpeg size = %d", __FUNCTION__, size); Loading services/audioflinger/AudioStreamOut.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ AudioStreamOut::AudioStreamOut(AudioHwDevice *dev, audio_output_flags_t flags) , mRateMultiplier(1) , mHalFormatHasProportionalFrames(false) , mHalFrameSize(0) , mExpectRetrograde(false) { } Loading Loading @@ -69,8 +70,12 @@ status_t AudioStreamOut::getRenderPosition(uint64_t *frames) const uint32_t truncatedPosition = (uint32_t)mRenderPosition; int32_t deltaHalPosition; // initialization not needed, overwitten by __builtin_sub_overflow() (void) __builtin_sub_overflow(halPosition, truncatedPosition, &deltaHalPosition); if (deltaHalPosition > 0) { mRenderPosition += deltaHalPosition; } else if (mExpectRetrograde) { mExpectRetrograde = false; mRenderPosition -= static_cast<uint64_t>(-deltaHalPosition); } // Scale from HAL sample rate to application rate. *frames = mRenderPosition / mRateMultiplier; Loading Loading @@ -187,6 +192,7 @@ audio_config_base_t AudioStreamOut::getAudioProperties() const int AudioStreamOut::flush() { mRenderPosition = 0; mExpectRetrograde = false; mFramesWritten = 0; mFramesWrittenAtStandby = 0; status_t result = stream->flush(); Loading @@ -196,6 +202,7 @@ int AudioStreamOut::flush() int AudioStreamOut::standby() { mRenderPosition = 0; mExpectRetrograde = false; mFramesWrittenAtStandby = mFramesWritten; return stream->standby(); } Loading Loading
apex/manifest.json +1 −1 Original line number Diff line number Diff line { "name": "com.android.media", "version": 330100000, "version": 330090000, "requireNativeLibs": [ "libandroid.so", "libbinder_ndk.so", Loading
apex/manifest_codec.json +1 −1 Original line number Diff line number Diff line { "name": "com.android.media.swcodec", "version": 330100000, "version": 330090000, "requireNativeLibs": [ ":sphal" ] Loading
media/libaudioclient/ToneGenerator.cpp +5 −2 Original line number Diff line number Diff line Loading @@ -1485,8 +1485,11 @@ size_t ToneGenerator::onMoreData(const AudioTrack::Buffer& buffer) { } // Update next segment transition position. No harm to do it also for last segment as // mNextSegSmp won't be used any more mNextSegSmp += (mpToneDesc->segments[mCurSegment].duration * mSamplingRate) / 1000; // mNextSegSmp won't be used any more. // Handle 32 bit wraparound gracefully. const uint64_t res = static_cast<uint64_t>(mNextSegSmp) + (mpToneDesc->segments[mCurSegment].duration * mSamplingRate) / 1000; mNextSegSmp = static_cast<uint32_t>(std::min<uint64_t>(TONEGEN_INF, res)); } else { // Inside a segment keep tone ON or OFF Loading
media/ndk/NdkImage.cpp +2 −3 Original line number Diff line number Diff line Loading @@ -25,7 +25,6 @@ #include <android_media_Utils.h> #include <private/android/AHardwareBufferHelpers.h> #include <utils/Log.h> #include "hardware/camera3.h" using namespace android; Loading Loading @@ -375,8 +374,8 @@ AImage::getJpegSize() const { uint8_t* jpegBuffer = mLockedBuffer->data; // First check for JPEG transport header at the end of the buffer uint8_t* header = jpegBuffer + (width - sizeof(struct camera3_jpeg_blob)); struct camera3_jpeg_blob* blob = (struct camera3_jpeg_blob*)(header); uint8_t* header = jpegBuffer + (width - sizeof(struct camera3_jpeg_blob_v2)); struct camera3_jpeg_blob_v2* blob = (struct camera3_jpeg_blob_v2*)(header); if (blob->jpeg_blob_id == CAMERA3_JPEG_BLOB_ID) { size = blob->jpeg_size; ALOGV("%s: Jpeg size = %d", __FUNCTION__, size); Loading
services/audioflinger/AudioStreamOut.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ AudioStreamOut::AudioStreamOut(AudioHwDevice *dev, audio_output_flags_t flags) , mRateMultiplier(1) , mHalFormatHasProportionalFrames(false) , mHalFrameSize(0) , mExpectRetrograde(false) { } Loading Loading @@ -69,8 +70,12 @@ status_t AudioStreamOut::getRenderPosition(uint64_t *frames) const uint32_t truncatedPosition = (uint32_t)mRenderPosition; int32_t deltaHalPosition; // initialization not needed, overwitten by __builtin_sub_overflow() (void) __builtin_sub_overflow(halPosition, truncatedPosition, &deltaHalPosition); if (deltaHalPosition > 0) { mRenderPosition += deltaHalPosition; } else if (mExpectRetrograde) { mExpectRetrograde = false; mRenderPosition -= static_cast<uint64_t>(-deltaHalPosition); } // Scale from HAL sample rate to application rate. *frames = mRenderPosition / mRateMultiplier; Loading Loading @@ -187,6 +192,7 @@ audio_config_base_t AudioStreamOut::getAudioProperties() const int AudioStreamOut::flush() { mRenderPosition = 0; mExpectRetrograde = false; mFramesWritten = 0; mFramesWrittenAtStandby = 0; status_t result = stream->flush(); Loading @@ -196,6 +202,7 @@ int AudioStreamOut::flush() int AudioStreamOut::standby() { mRenderPosition = 0; mExpectRetrograde = false; mFramesWrittenAtStandby = mFramesWritten; return stream->standby(); } Loading