MCPcopy Create free account
hub / github.com/alibaba/CicadaPlayer / queueInputBuffer

Method queueInputBuffer

framework/codec/Android/jni/MediaCodec_Decoder.cpp:317–343  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

315}
316
317int MediaCodec_Decoder::queueInputBuffer(int index, void *buffer, size_t size, int64_t pts,
318 bool isConfig) {
319 JniEnv jniEnv{};
320
321 JNIEnv *env = jniEnv.getEnv();
322 if (env == nullptr) {
323 return MC_ERROR;
324 }
325
326 if (mMediaCodec == nullptr) {
327 return MC_ERROR;
328 }
329
330 jbyteArray jBuffer = nullptr;
331 if (buffer != nullptr) {
332 jBuffer = env->NewByteArray(size);
333 env->SetByteArrayRegion(jBuffer, 0, size, (jbyte *) (buffer));
334 }
335
336
337 int ret = env->CallIntMethod(mMediaCodec, jMediaCodec_queueInputBuffer, (jint) index, jBuffer,
338 (jlong) pts, (jboolean) isConfig);
339 if (jBuffer != nullptr) {
340 env->DeleteLocalRef(jBuffer);
341 }
342 return ret;
343}
344
345int MediaCodec_Decoder::queueSecureInputBuffer(int index, void *buffer, size_t size,
346 IAFPacket::EncryptionInfo *pEncryptionInfo,

Callers 1

enqueue_decoderMethod · 0.45

Calls 3

getEnvMethod · 0.80
NewByteArrayMethod · 0.45
CallIntMethodMethod · 0.45

Tested by

no test coverage detected