Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc328067 authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Promotion of av-aosp.lnx.2.0-00008.

CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
1055951   I48ba34b3df9c9a896d4b18c3f48e41744b7dab54   Fix build
1059552   Ief63edb78bdcf845a5b1ed1fe05cc012a466afff   MediaRecorderClient: Fix binder dereference while connec
1055949   Iba1011e9af942a6dff7f659af769a51e3f5ba66f   omx: prevent input port enable/disable for software code
1044665   Ia171cfa6a45ad315beb55340651abb8066566b26   MediaRecorder: Handle 24-hour timelapse duration
1058677   Ib54ca1726ff3994bb7289c3b95ca04fe2c483d08   audio: add support to return unreleased frames
1054413   I84a8914b470a0aadec0e02692296b1915a6c776e   stagefright: Enhance MPEG4 writer/extractor to store/ret
1055952   I9bb8c659d3fc97a8e748451d82d0f3448faa242b   fix build
1054413   Ic81f305aaaa2da6b0084bf59d499fde2e4b43d54   stagefright: ACodec: Enable temporal layered encoding
1055951   I70c9e33269d16bf8c163815706ac24e18e34fe97   SoftMP3: memset safely
1055951   I96a9c437eec53a285ac96794cc1ad0c8954b27e0   Fix build
1060835   I80f442982f7e66efb59b639a7ca9424745dbd70a   audiopolicy: Avoid spurious routing in APM::stopSource
1055952   I25d4cf54a5df22c2130c37e95c7c7f75063111f3   SoftVPX: fix nFilledLen overflow
1056027   I953bea9fe0590268cf27376740f582dc88563d42   Impose a size bound for dynamically allocated tables in
1056027   If449d3e30a0bf2ebea5317f41813bfed094f7408   DO NOT MERGE - stagefright: fix integer overflow error
1054413   I39a470114a16936e7481f411af8a74881b59d7b7   stagefright: Enable layered encoding for HFR
1066286   Iec12eababdc8d5d3ff0cda7f09ed39372e006a2b   Revert "Revert "mediacodec: minijail: disable exporting
1055946   Ifdc3e7435f2225214c053b13f3bfe71c7d0ff506   stagefright: fix possible stack overflow in AVCC reassem
1054413   I824c699f3c2b80bb516c1b44493eda72239291ac   NuPlayer: drop temporal-layers to achieve smooth fast-pl
1054413   I434c5252098faca99c0ee18e6bc5f43a67718eba   MPEG4Writer: Handle writing multiple NAL units in a vide
1058637   Icbccb8475e87376f599d3047f8bf7d204a83d3af   Revert "mediacodec: minijail: disable exporting policy f
1055958   Id6a5120c2d08a6fbbd47deffb680ecf82015f4f6   Fix corruption via buffer overflow in mediaserver

Change-Id: I97dbd66dc5ab5239318a6173b0ec47b11b335727
CRs-Fixed: 1056027, 1055952, 1055951, 1055958, 1055949, 1060835, 1066286, 1058677, 1054413, 1058637, 1059552, 1044665, 1055946
parents 40327423 ec26dd12
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -481,6 +481,9 @@ protected:
    status_t setOperatingRate(float rateFloat, bool isVideo);
    status_t getIntraRefreshPeriod(uint32_t *intraRefreshPeriod);
    status_t setIntraRefreshPeriod(uint32_t intraRefreshPeriod, bool inConfigure);
    status_t configureTemporalLayers(
            uint32_t numLayers, uint32_t numBLayers, bool inConfigure,
            sp<AMessage> &outputFormat);

    status_t setMinBufferSize(OMX_U32 portIndex, size_t size);

+2 −0
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@ public:

    status_t setGeoData(int latitudex10000, int longitudex10000);
    status_t setCaptureRate(float captureFps);
    status_t setTemporalLayerCount(uint32_t layerCount);
    virtual void setStartTimeOffsetMs(int ms) { mStartTimeOffsetMs = ms; }
    virtual int32_t getStartTimeOffsetMs() const { return mStartTimeOffsetMs; }

@@ -196,6 +197,7 @@ private:
protected:
    static void StripStartcode(MediaBuffer *buffer);
    virtual off64_t addLengthPrefixedSample_l(MediaBuffer *buffer);
    off64_t addMultipleLengthPrefixedSamples_l(MediaBuffer *buffer);

private:
    bool exceedsFileSizeLimit();
+2 −0
Original line number Diff line number Diff line
@@ -204,6 +204,8 @@ enum {
                                   // transfer Function, value defined by ColorAspects.Transfer.
    kKeyColorMatrix      = 'cMtx', // int32_t,
                                   // color Matrix, value defined by ColorAspects.MatrixCoeffs.
    kKeyTemporalLayerId  = 'iLyr', // int32_t, temporal layer-id. 0-based (0 => base layer)
    kKeyTemporalLayerCount = 'cLyr', // int32_t, number of temporal layers encoded
};

enum {
+10 −0
Original line number Diff line number Diff line
@@ -371,11 +371,21 @@ status_t MediaRecorderClient::setListener(const sp<IMediaRecorderClient>& listen

    sp<IServiceManager> sm = defaultServiceManager();
    sp<IBinder> binder = sm->getService(String16("media.camera"));
    if (binder == NULL) {
        ALOGE("Unable to connect to camera service");
        return NO_INIT;
    }

    mCameraDeathListener = new ServiceDeathNotifier(binder, listener,
            MediaPlayerService::CAMERA_PROCESS_DEATH);
    binder->linkToDeath(mCameraDeathListener);

    binder = sm->getService(String16("media.codec"));
    if (binder == NULL) {
        ALOGE("Unable to connect to media codec service");
        return NO_INIT;
    }

    mCodecDeathListener = new ServiceDeathNotifier(binder, listener,
            MediaPlayerService::MEDIACODEC_PROCESS_DEATH);
    binder->linkToDeath(mCodecDeathListener);
+13 −2
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@
#include <sys/types.h>
#include <ctype.h>
#include <unistd.h>
#include <math.h>

#include <system/audio.h>

@@ -588,7 +589,7 @@ status_t StagefrightRecorder::setParamCaptureFpsEnable(int32_t captureFpsEnable)
status_t StagefrightRecorder::setParamCaptureFps(float fps) {
    ALOGV("setParamCaptureFps: %.2f", fps);

    int64_t timeUs = (int64_t) (1000000.0 / fps + 0.5f);
    int64_t timeUs = (int64_t) (1000000.0f / fps + 0.5f);

    // Not allowing time more than a day
    if (timeUs <= 0 || timeUs > 86400*1E6) {
@@ -1586,6 +1587,16 @@ status_t StagefrightRecorder::setupVideoEncoder(
    format->setInt32("priority", 0 /* realtime */);
    if (mCaptureFpsEnable) {
        format->setFloat("operating-rate", mCaptureFps);

        // Enable layers if capture-rate > 60
        // Number of layers will be based on the ratio wrt 30fps
        float speed = mCaptureFps / mFrameRate;
        if (mCaptureFps > 60.0 && speed > 2.0) {
            int32_t numLayers = (int32_t)log2f(speed) + 1;
            ALOGI("Enabling %d layers for capture-rate(%f) / fps(%u)",
                    numLayers, mCaptureFps, mFrameRate);
            format->setInt32("num-temporal-layers", numLayers);
        }
    }

    if (mMetaDataStoredInVideoBuffers != kMetadataBufferTypeInvalid) {
@@ -1663,7 +1674,7 @@ status_t StagefrightRecorder::setupMPEG4orWEBMRecording() {
    if (mOutputFormat == OUTPUT_FORMAT_WEBM) {
        writer = new WebmWriter(mOutputFd);
    } else {
        writer = mp4writer = AVFactory::get()->CreateMPEG4Writer(mOutputFd);
        writer = mp4writer = new MPEG4Writer(mOutputFd);
    }

    if (mVideoSource < VIDEO_SOURCE_LIST_END) {
Loading