diff options
author | James Dong <jdong@google.com> | 2010-12-07 14:37:27 -0800 |
---|---|---|
committer | James Dong <jdong@google.com> | 2010-12-13 10:34:17 -0800 |
commit | 985f838934510983d8a887461e98dca60a6e858f (patch) | |
tree | 7b1add1b2adda17b1987fbd635a10fd7c8959cee /media | |
parent | a37fe6bf720683250d7fece6ed35a447694dda1f (diff) | |
download | frameworks_av-985f838934510983d8a887461e98dca60a6e858f.zip frameworks_av-985f838934510983d8a887461e98dca60a6e858f.tar.gz frameworks_av-985f838934510983d8a887461e98dca60a6e858f.tar.bz2 |
Yield the omx threads so that file writer threads have a chance to retrieve the output buffers once they become ready
bug - 3252228
Change-Id: Iab7cf1c9a87cce7b814c63b42b21fcd6a7314b36
Diffstat (limited to 'media')
-rw-r--r-- | media/libstagefright/MPEG4Writer.cpp | 2 | ||||
-rw-r--r-- | media/libstagefright/OMXCodec.cpp | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/media/libstagefright/MPEG4Writer.cpp b/media/libstagefright/MPEG4Writer.cpp index 602aa9f..06c4c98 100644 --- a/media/libstagefright/MPEG4Writer.cpp +++ b/media/libstagefright/MPEG4Writer.cpp @@ -1734,6 +1734,8 @@ status_t MPEG4Writer::Track::threadEntry() { } else { prctl(PR_SET_NAME, (unsigned long)"VideoTrackEncoding", 0, 0, 0); } + setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_AUDIO); + sp<MetaData> meta_data; mNumSamples = 0; diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp index b954be7..43e4e97 100644 --- a/media/libstagefright/OMXCodec.cpp +++ b/media/libstagefright/OMXCodec.cpp @@ -2029,6 +2029,9 @@ void OMXCodec::on_message(const omx_message &msg) { mFilledBuffers.push_back(i); mBufferFilled.signal(); + if (mIsEncoder) { + sched_yield(); + } } break; |