| 315 | } |
| 316 | |
| 317 | int 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 | |
| 345 | int MediaCodec_Decoder::queueSecureInputBuffer(int index, void *buffer, size_t size, |
| 346 | IAFPacket::EncryptionInfo *pEncryptionInfo, |
no test coverage detected