Loading media/libmediaplayerservice/StagefrightRecorder.cpp +1 −2 Original line number Diff line number Diff line Loading @@ -402,12 +402,11 @@ status_t StagefrightRecorder::setNextOutputFile(int fd) { // start with a clean, empty file ftruncate(fd, 0); int nextFd = dup(fd); if (mWriter == NULL) { ALOGE("setNextOutputFile failed. Writer has been freed"); return INVALID_OPERATION; } return mWriter->setNextFd(nextFd); return mWriter->setNextFd(fd); } // Attempt to parse an float literal optionally surrounded by whitespace, Loading media/libstagefright/MPEG4Writer.cpp +8 −4 Original line number Diff line number Diff line Loading @@ -460,7 +460,7 @@ private: }; MPEG4Writer::MPEG4Writer(int fd) { initInternal(fd, true /*isFirstSession*/); initInternal(dup(fd), true /*isFirstSession*/); } MPEG4Writer::~MPEG4Writer() { Loading @@ -481,7 +481,7 @@ MPEG4Writer::~MPEG4Writer() { void MPEG4Writer::initInternal(int fd, bool isFirstSession) { ALOGV("initInternal"); mFd = dup(fd); mFd = fd; mNextFd = -1; mInitCheck = mFd < 0? NO_INIT: OK; Loading Loading @@ -1044,6 +1044,10 @@ void MPEG4Writer::writeCompositionMatrix(int degrees) { void MPEG4Writer::release() { close(mFd); mFd = -1; if (mNextFd != -1) { close(mNextFd); mNextFd = -1; } mInitCheck = NO_INIT; mStarted = false; free(mInMemoryCache); Loading Loading @@ -1981,7 +1985,7 @@ status_t MPEG4Writer::setNextFd(int fd) { // No need to set a new FD yet. return INVALID_OPERATION; } mNextFd = fd; mNextFd = dup(fd); return OK; } Loading Loading @@ -2180,11 +2184,11 @@ void MPEG4Writer::onMessageReceived(const sp<AMessage> &msg) { switch (msg->what()) { case kWhatSwitch: { finishCurrentSession(); mLock.lock(); int fd = mNextFd; mNextFd = -1; mLock.unlock(); finishCurrentSession(); initInternal(fd, false /*isFirstSession*/); start(mStartMeta.get()); mSwitchPending = false; Loading Loading
media/libmediaplayerservice/StagefrightRecorder.cpp +1 −2 Original line number Diff line number Diff line Loading @@ -402,12 +402,11 @@ status_t StagefrightRecorder::setNextOutputFile(int fd) { // start with a clean, empty file ftruncate(fd, 0); int nextFd = dup(fd); if (mWriter == NULL) { ALOGE("setNextOutputFile failed. Writer has been freed"); return INVALID_OPERATION; } return mWriter->setNextFd(nextFd); return mWriter->setNextFd(fd); } // Attempt to parse an float literal optionally surrounded by whitespace, Loading
media/libstagefright/MPEG4Writer.cpp +8 −4 Original line number Diff line number Diff line Loading @@ -460,7 +460,7 @@ private: }; MPEG4Writer::MPEG4Writer(int fd) { initInternal(fd, true /*isFirstSession*/); initInternal(dup(fd), true /*isFirstSession*/); } MPEG4Writer::~MPEG4Writer() { Loading @@ -481,7 +481,7 @@ MPEG4Writer::~MPEG4Writer() { void MPEG4Writer::initInternal(int fd, bool isFirstSession) { ALOGV("initInternal"); mFd = dup(fd); mFd = fd; mNextFd = -1; mInitCheck = mFd < 0? NO_INIT: OK; Loading Loading @@ -1044,6 +1044,10 @@ void MPEG4Writer::writeCompositionMatrix(int degrees) { void MPEG4Writer::release() { close(mFd); mFd = -1; if (mNextFd != -1) { close(mNextFd); mNextFd = -1; } mInitCheck = NO_INIT; mStarted = false; free(mInMemoryCache); Loading Loading @@ -1981,7 +1985,7 @@ status_t MPEG4Writer::setNextFd(int fd) { // No need to set a new FD yet. return INVALID_OPERATION; } mNextFd = fd; mNextFd = dup(fd); return OK; } Loading Loading @@ -2180,11 +2184,11 @@ void MPEG4Writer::onMessageReceived(const sp<AMessage> &msg) { switch (msg->what()) { case kWhatSwitch: { finishCurrentSession(); mLock.lock(); int fd = mNextFd; mNextFd = -1; mLock.unlock(); finishCurrentSession(); initInternal(fd, false /*isFirstSession*/); start(mStartMeta.get()); mSwitchPending = false; Loading