summaryrefslogtreecommitdiff
path: root/codec.c
diff options
context:
space:
mode:
authorJohns <johns98@gmx.net>2012-03-09 21:47:06 +0100
committerJohns <johns98@gmx.net>2012-03-09 21:47:06 +0100
commit1acdeee91389cf7f355edda5ad298bb89217f86f (patch)
tree6e5a7f6265fad039ba83d5af910476cf4b397611 /codec.c
parentc2938c7ef3942b281ac1fc3dc5975e18ac397559 (diff)
downloadvdr-plugin-softhddevice-1acdeee91389cf7f355edda5ad298bb89217f86f.tar.gz
vdr-plugin-softhddevice-1acdeee91389cf7f355edda5ad298bb89217f86f.tar.bz2
Adds ffmpeg 0.8.7 bug workaround:
Single nal end seq aren't consumed and an endless loop entered.
Diffstat (limited to 'codec.c')
-rw-r--r--codec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/codec.c b/codec.c
index 8585862..0630874 100644
--- a/codec.c
+++ b/codec.c
@@ -558,6 +558,11 @@ void CodecVideoDecode(VideoDecoder * decoder, const AVPacket * avpkt)
video_ctx->frame_number, used);
}
if (used != pkt->size) {
+ // ffmpeg 0.8.7 dislikes our seq_end_h264 and enters endless loop here
+ if (used == 0 && pkt->size == 5 && pkt->data[4] == 0x0A) {
+ Warning("codec: ffmpeg 0.8.x workaround used\n");
+ return;
+ }
if (used >= 0 && used < pkt->size) {
// some tv channels, produce this
Debug(4,