memcpy(avctx->extradata, pkt->data, avctx->extradata_size);
memset(avctx->extradata + i, 0, FF_INPUT_BUFFER_PADDING_SIZE);
} else {
- av_free_packet(pkt);
+ av_packet_unref(pkt);
continue;
}
pkt->data, pkt->size, pkt->flags & AV_PKT_FLAG_KEY);
if (ret < 0 ||!outbuf_size) {
- av_free_packet(pkt);
+ av_packet_unref(pkt);
continue;
}
if (outbuf && outbuf != pkt->data) {
}
if (mDefersToCreateAudioTrack) {
if (avctx->extradata_size <= 0) {
- av_free_packet(pkt);
+ av_packet_unref(pkt);
continue;
}
stream_component_open(mAudioStreamIdx);
} else if (pkt->stream_index == mVideoStreamIdx) {
packet_queue_put(&mVideoQ, pkt);
} else {
- av_free_packet(pkt);
+ av_packet_unref(pkt);
}
}
if (seeking) {
if (pkt.data != mQueue->flush_pkt.data) {
- av_free_packet(&pkt);
+ av_packet_unref(&pkt);
goto retry;
} else {
seeking = false;
if (pkt.data == mQueue->flush_pkt.data) {
ALOGV("read %s flush pkt", av_get_media_type_string(mMediaType));
- av_free_packet(&pkt);
+ av_packet_unref(&pkt);
mFirstKeyPktTimestamp = AV_NOPTS_VALUE;
goto retry;
} else if (pkt.data == NULL && pkt.size == 0) {
ALOGD("read %s eos pkt", av_get_media_type_string(mMediaType));
- av_free_packet(&pkt);
+ av_packet_unref(&pkt);
mExtractor->reachedEOS(mMediaType);
return ERROR_END_OF_STREAM;
}
if (waitKeyPkt) {
if (!key) {
ALOGV("drop the non-key packet");
- av_free_packet(&pkt);
+ av_packet_unref(&pkt);
goto retry;
} else {
ALOGV("~~~~~~ got the key packet");
ALOGE("convertNal2AnnexB failed");
mediaBuffer->release();
mediaBuffer = NULL;
- av_free_packet(&pkt);
+ av_packet_unref(&pkt);
return ERROR_MALFORMED;
}
} else {
, timeUs, startTimeUs, pkt.dts, pkt.pts);
mediaBuffer->release();
mediaBuffer = NULL;
- av_free_packet(&pkt);
+ av_packet_unref(&pkt);
return ERROR_MALFORMED;
}
*buffer = mediaBuffer;
- av_free_packet(&pkt);
+ av_packet_unref(&pkt);
return OK;
}
Mutex::Autolock autoLock(q->lock);
for (pkt = q->first_pkt; pkt != NULL; pkt = pkt1) {
pkt1 = pkt->next;
- av_free_packet(&pkt->pkt);
+ av_packet_unref(&pkt->pkt);
av_freep(&pkt);
}
q->last_pkt = NULL;
q->lock.unlock();
if (pkt != &q->flush_pkt && ret < 0)
- av_free_packet(pkt);
+ av_packet_unref(pkt);
return ret;
}