mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
Merge commit 'a5d42043093a39636a1f4021a37dd9c612479f6f'
* commit 'a5d42043093a39636a1f4021a37dd9c612479f6f': avformat: Always return ref-counted AVPacket Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
This commit is contained in:
commit
856b19d593
1
ffmpeg.c
1
ffmpeg.c
@ -3507,7 +3507,6 @@ static void *input_thread(void *arg)
|
||||
av_thread_message_queue_set_err_recv(f->in_thread_queue, ret);
|
||||
break;
|
||||
}
|
||||
av_dup_packet(&pkt);
|
||||
ret = av_thread_message_queue_send(f->in_thread_queue, &pkt, flags);
|
||||
if (flags && ret == AVERROR(EAGAIN)) {
|
||||
flags = 0;
|
||||
|
4
ffplay.c
4
ffplay.c
@ -427,10 +427,6 @@ static int packet_queue_put(PacketQueue *q, AVPacket *pkt)
|
||||
{
|
||||
int ret;
|
||||
|
||||
/* duplicate the packet */
|
||||
if (pkt != &flush_pkt && av_dup_packet(pkt) < 0)
|
||||
return -1;
|
||||
|
||||
SDL_LockMutex(q->mutex);
|
||||
ret = packet_queue_put_private(q, pkt);
|
||||
SDL_UnlockMutex(q->mutex);
|
||||
|
@ -683,6 +683,14 @@ int ff_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!pkt->buf) {
|
||||
AVPacket tmp = { 0 };
|
||||
ret = av_packet_ref(&tmp, pkt);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
*pkt = tmp;
|
||||
}
|
||||
|
||||
if ((s->flags & AVFMT_FLAG_DISCARD_CORRUPT) &&
|
||||
(pkt->flags & AV_PKT_FLAG_CORRUPT)) {
|
||||
av_log(s, AV_LOG_WARNING,
|
||||
|
Loading…
Reference in New Issue
Block a user