Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 506266 Details for
Bug 638690
>=media-video/ffmpeg-3.4 bug causing media-plugins/gst-plugins-libav to hang
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
0003-lavc-reset-codec-on-receiving-packet-after-EOF-in-co.patch
0003-lavc-reset-codec-on-receiving-packet-after-EOF-in-co.patch (text/plain), 1.56 KB, created by
Fin Christensen
on 2017-11-24 14:22:33 UTC
(
hide
)
Description:
0003-lavc-reset-codec-on-receiving-packet-after-EOF-in-co.patch
Filename:
MIME Type:
Creator:
Fin Christensen
Created:
2017-11-24 14:22:33 UTC
Size:
1.56 KB
patch
obsolete
>From 3b888315248e53021995e6db46096616eb36a597 Mon Sep 17 00:00:00 2001 >From: James Cowgill <jcowgill@debian.org> >Date: Thu, 9 Nov 2017 09:07:50 +0000 >Subject: [PATCH] lavc: reset codec on receiving packet after EOF in > compat_decode > >In commit 061a0c14bb57 ("decode: restructure the core decoding code"), the >deprecated avcodec_decode_* APIs were reworked so that they called into the >new avcodec_send_packet / avcodec_receive_frame API. This had the side effect >of prohibiting sending new packets containing data after a drain >packet, but in previous versions of FFmpeg this "worked" and some >applications relied on it. > >To restore some compatibility, reset the codec if we receive a new non-drain >packet using the old API after draining has completed. While this does >not give the same behaviour as the old API did, in the majority of cases >it works and it does not require changes to any other part of the decoding >code. > >Fixes ticket #6775 >Signed-off-by: James Cowgill <jcowgill@debian.org> >--- > libavcodec/decode.c | 5 +++++ > 1 file changed, 5 insertions(+) > >diff --git a/libavcodec/decode.c b/libavcodec/decode.c >index 86fe5aef52..2f1932fa85 100644 >--- a/libavcodec/decode.c >+++ b/libavcodec/decode.c >@@ -726,6 +726,11 @@ static int compat_decode(AVCodecContext *avctx, AVFrame *frame, > > av_assert0(avci->compat_decode_consumed == 0); > >+ if (avci->draining_done && pkt && pkt->size != 0) { >+ av_log(avctx, AV_LOG_WARNING, "Got unexpected packet after EOF\n"); >+ avcodec_flush_buffers(avctx); >+ } >+ > *got_frame = 0; > avci->compat_decode = 1; > >-- >2.15.0 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 638690
: 506266