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

Commit 3a7fe00b authored by Lajos Molnar's avatar Lajos Molnar Committed by Android Git Automerger
Browse files

am 44a1fd38: am ea405328: am c40da54b: Merge "Fix freed memory references" into lmp-dev

* commit '44a1fd38':
  Fix freed memory references
parents c7b7c295 44a1fd38
Loading
Loading
Loading
Loading
+8 −3
Original line number Original line Diff line number Diff line
@@ -48,7 +48,8 @@ namespace android {
class MPEG4Source : public MediaSource {
class MPEG4Source : public MediaSource {
public:
public:
    // Caller retains ownership of both "dataSource" and "sampleTable".
    // Caller retains ownership of both "dataSource" and "sampleTable".
    MPEG4Source(const sp<MetaData> &format,
    MPEG4Source(const sp<MPEG4Extractor> &owner,
                const sp<MetaData> &format,
                const sp<DataSource> &dataSource,
                const sp<DataSource> &dataSource,
                int32_t timeScale,
                int32_t timeScale,
                const sp<SampleTable> &sampleTable,
                const sp<SampleTable> &sampleTable,
@@ -70,6 +71,8 @@ protected:
private:
private:
    Mutex mLock;
    Mutex mLock;


    // keep the MPEG4Extractor around, since we're referencing its data
    sp<MPEG4Extractor> mOwner;
    sp<MetaData> mFormat;
    sp<MetaData> mFormat;
    sp<DataSource> mDataSource;
    sp<DataSource> mDataSource;
    int32_t mTimescale;
    int32_t mTimescale;
@@ -2593,7 +2596,7 @@ sp<MediaSource> MPEG4Extractor::getTrack(size_t index) {


    ALOGV("getTrack called, pssh: %zu", mPssh.size());
    ALOGV("getTrack called, pssh: %zu", mPssh.size());


    return new MPEG4Source(
    return new MPEG4Source(this,
            track->meta, mDataSource, track->timescale, track->sampleTable,
            track->meta, mDataSource, track->timescale, track->sampleTable,
            mSidxEntries, trex, mMoofOffset);
            mSidxEntries, trex, mMoofOffset);
}
}
@@ -2940,6 +2943,7 @@ status_t MPEG4Extractor::updateAudioTrackInfoFromESDS_MPEG4Audio(
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////


MPEG4Source::MPEG4Source(
MPEG4Source::MPEG4Source(
        const sp<MPEG4Extractor> &owner,
        const sp<MetaData> &format,
        const sp<MetaData> &format,
        const sp<DataSource> &dataSource,
        const sp<DataSource> &dataSource,
        int32_t timeScale,
        int32_t timeScale,
@@ -2947,7 +2951,8 @@ MPEG4Source::MPEG4Source(
        Vector<SidxEntry> &sidx,
        Vector<SidxEntry> &sidx,
        const Trex *trex,
        const Trex *trex,
        off64_t firstMoofOffset)
        off64_t firstMoofOffset)
    : mFormat(format),
    : mOwner(owner),
      mFormat(format),
      mDataSource(dataSource),
      mDataSource(dataSource),
      mTimescale(timeScale),
      mTimescale(timeScale),
      mSampleTable(sampleTable),
      mSampleTable(sampleTable),