Mediacodec API'leriyle kodlamayı test etmek için Nexus kullanmaya çalışıyorum. Enkoder tarafından sağlanan inputBuffer'ların 119040 olduğunu görebiliyorum (inputBuffers.capacity giriş yaparak). Ancak çerçevenin boyutu, yani giriş, 460800'dür. inputBuffer.put
numaralı telefondan buffer overflow
ile hata mesajı aldım. Bu yüzden giriş arabelleğini 460800 olarak ayarlamak üzereydim. Bulabildiğim API BufferInfo.set
. Ancak, bu ayarı kodlayıcıya eklemenin bir yolunu bulamıyorum. Birisi yardım edebilir mi? Teşekkürler!!!MediaCodec tarafından oluşturulmuş kodlayıcı arabellek boyutu nasıl ayarlanır
encoder = MediaCodec.createByCodecName(codecInfo.getName());
ByteBuffer[] inputBuffers = encoder.getInputBuffers();
if (inputBufferIndex >= 0) {
ByteBuffer inputBuffer = inputBuffers[inputBufferIndex];
inputBuffer.clear();
inputBuffer.put(input);
encoder.queueInputBuffer(inputBufferIndex, 0, input.length, 0, 0);}
: Ben tampon değiştirmek için doğru yolu MAX_INPUT_SIZE gibi bir şey ayarlamak olacağını düşünüyorum Android MediaCodec Documentation! –