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

Commit 4651c0ea authored by James Dong's avatar James Dong Committed by Android (Google) Code Review
Browse files

Merge "Don't call virtual functions in destructors for the writer classes"

parents 4d10ed32 c2240b12
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ struct AACWriter : public MediaWriter {
    virtual status_t addSource(const sp<MediaSource> &source);
    virtual bool reachedEOS();
    virtual status_t start(MetaData *params = NULL);
    virtual status_t stop();
    virtual status_t stop() { return reset(); }
    virtual status_t pause();

protected:
@@ -66,6 +66,7 @@ private:
    bool exceedsFileSizeLimit();
    bool exceedsFileDurationLimit();
    status_t writeAdtsHeader(uint32_t frameLength);
    status_t reset();

    DISALLOW_EVIL_CONSTRUCTORS(AACWriter);
};
+2 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ struct AMRWriter : public MediaWriter {
    virtual status_t addSource(const sp<MediaSource> &source);
    virtual bool reachedEOS();
    virtual status_t start(MetaData *params = NULL);
    virtual status_t stop();
    virtual status_t stop() { return reset(); }
    virtual status_t pause();

protected:
@@ -60,6 +60,7 @@ private:
    status_t threadFunc();
    bool exceedsFileSizeLimit();
    bool exceedsFileDurationLimit();
    status_t reset();

    AMRWriter(const AMRWriter &);
    AMRWriter &operator=(const AMRWriter &);
+2 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ struct MPEG2TSWriter : public MediaWriter {

    virtual status_t addSource(const sp<MediaSource> &source);
    virtual status_t start(MetaData *param = NULL);
    virtual status_t stop();
    virtual status_t stop() { return reset(); }
    virtual status_t pause();
    virtual bool reachedEOS();
    virtual status_t dump(int fd, const Vector<String16>& args);
@@ -78,6 +78,7 @@ private:
    void writeAccessUnit(int32_t sourceIndex, const sp<ABuffer> &buffer);

    ssize_t internalWrite(const void *data, size_t size);
    status_t reset();

    DISALLOW_EVIL_CONSTRUCTORS(MPEG2TSWriter);
};
+2 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ public:

    virtual status_t addSource(const sp<MediaSource> &source);
    virtual status_t start(MetaData *param = NULL);
    virtual status_t stop();
    virtual status_t stop() { return reset(); }
    virtual status_t pause();
    virtual bool reachedEOS();
    virtual status_t dump(int fd, const Vector<String16>& args);
@@ -184,6 +184,7 @@ private:
    void writeLongitude(int degreex10000);
    void sendSessionSummary();
    void release();
    status_t reset();

    MPEG4Writer(const MPEG4Writer &);
    MPEG4Writer &operator=(const MPEG4Writer &);
+2 −2
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ AACWriter::AACWriter(int fd)

AACWriter::~AACWriter() {
    if (mStarted) {
        stop();
        reset();
    }

    if (mFd != -1) {
@@ -152,7 +152,7 @@ status_t AACWriter::pause() {
    return OK;
}

status_t AACWriter::stop() {
status_t AACWriter::reset() {
    if (!mStarted) {
        return OK;
    }
Loading