summaryrefslogtreecommitdiffstats
path: root/media/libstagefright
diff options
context:
space:
mode:
authorJames Dong <jdong@google.com>2010-12-07 14:37:27 -0800
committerJames Dong <jdong@google.com>2010-12-13 10:34:17 -0800
commit985f838934510983d8a887461e98dca60a6e858f (patch)
tree7b1add1b2adda17b1987fbd635a10fd7c8959cee /media/libstagefright
parenta37fe6bf720683250d7fece6ed35a447694dda1f (diff)
downloadframeworks_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/libstagefright')
-rw-r--r--media/libstagefright/MPEG4Writer.cpp2
-rw-r--r--media/libstagefright/OMXCodec.cpp3
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;