diff options
author | James Dong <jdong@google.com> | 2010-08-12 09:32:18 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-08-12 09:32:18 -0700 |
commit | aa56ede87936f28f368e14e3b08d31de4005bb30 (patch) | |
tree | b11efe0a00f616a178111ff9e48ccdf60a7b24cb | |
parent | 2c46b6d2b168b08cea9bc28a25e1e74bd5684778 (diff) | |
parent | 0386d04b19619b03b6bce830010e11d31d3f8a5c (diff) | |
download | frameworks_base-aa56ede87936f28f368e14e3b08d31de4005bb30.zip frameworks_base-aa56ede87936f28f368e14e3b08d31de4005bb30.tar.gz frameworks_base-aa56ede87936f28f368e14e3b08d31de4005bb30.tar.bz2 |
am 0386d04b: am 581581fe: Merge "Fix all fd leaks in authoring engine" into gingerbread
Merge commit '0386d04b19619b03b6bce830010e11d31d3f8a5c'
* commit '0386d04b19619b03b6bce830010e11d31d3f8a5c':
Fix all fd leaks in authoring engine
-rw-r--r-- | media/libmedia/IMediaRecorder.cpp | 2 | ||||
-rw-r--r-- | media/libmediaplayerservice/StagefrightRecorder.cpp | 10 |
2 files changed, 7 insertions, 5 deletions
diff --git a/media/libmedia/IMediaRecorder.cpp b/media/libmedia/IMediaRecorder.cpp index 4eb63e8..947ff34 100644 --- a/media/libmedia/IMediaRecorder.cpp +++ b/media/libmedia/IMediaRecorder.cpp @@ -23,6 +23,7 @@ #include <camera/ICamera.h> #include <media/IMediaRecorderClient.h> #include <media/IMediaRecorder.h> +#include <unistd.h> namespace android { @@ -373,6 +374,7 @@ status_t BnMediaRecorder::onTransact( int64_t offset = data.readInt64(); int64_t length = data.readInt64(); reply->writeInt32(setOutputFile(fd, offset, length)); + ::close(fd); return NO_ERROR; } break; case SET_VIDEO_SIZE: { diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp index 5756e53..daa20a8 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.cpp +++ b/media/libmediaplayerservice/StagefrightRecorder.cpp @@ -56,11 +56,6 @@ StagefrightRecorder::StagefrightRecorder() StagefrightRecorder::~StagefrightRecorder() { LOGV("Destructor"); stop(); - - if (mOutputFd >= 0) { - ::close(mOutputFd); - mOutputFd = -1; - } } status_t StagefrightRecorder::init() { @@ -1158,6 +1153,11 @@ status_t StagefrightRecorder::stop() { mFlags = 0; } + if (mOutputFd >= 0) { + ::close(mOutputFd); + mOutputFd = -1; + } + return OK; } |