Android 硬解碼 MediaCodec 遇到的(部分手機綠屏)API21
阿新 • • 發佈:2019-02-05
inputBufferId = mCodec.dequeueInputBuffer(timeoutUs);
if (inputBufferId >= 0) {
inputBuffer = mCodec.getInputBuffer(inputBufferId);
inputBuffer.clear();
inputBuffer.put(buf, offset, length);
mCodec.queueInputBuffer(inputBufferId, 0, length, mCount
* TIME_INTERNAL, 0);
mCount++;
}
outputBufferId = mCodec.dequeueOutputBuffer(bufferInfo, timeoutUs);
while (outputBufferId >= 0) {
mCodec.releaseOutputBuffer(outputBufferId, true);
outputBufferId = mCodec.dequeueOutputBuffer(bufferInfo, timeoutUs);
}
if (inputBufferId >= 0) {
inputBuffer = mCodec.getInputBuffer(inputBufferId);
inputBuffer.clear();
inputBuffer.put(buf, offset, length);
mCodec.queueInputBuffer(inputBufferId, 0, length, mCount
* TIME_INTERNAL, 0);
mCount++;
}
outputBufferId = mCodec.dequeueOutputBuffer(bufferInfo, timeoutUs);
while (outputBufferId >= 0) {
mCodec.releaseOutputBuffer(outputBufferId, true);
outputBufferId = mCodec.dequeueOutputBuffer(bufferInfo, timeoutUs);
}