summaryrefslogtreecommitdiff
path: root/codec.c
diff options
context:
space:
mode:
authorJohns <johns98@gmx.net>2012-01-27 21:08:37 +0100
committerJohns <johns98@gmx.net>2012-01-27 21:08:37 +0100
commitf8d198636b5291f4328d5b3f572cc084b68bda87 (patch)
tree4260766f22c6722712bc7f6ac32acf8e6d7af012 /codec.c
parentbcf6ecabc1ca83d8f6de578ee2d25ad162518981 (diff)
downloadvdr-plugin-softhddevice-f8d198636b5291f4328d5b3f572cc084b68bda87.tar.gz
vdr-plugin-softhddevice-f8d198636b5291f4328d5b3f572cc084b68bda87.tar.bz2
Video bug fix.
Made video_test working again. Disabled VA-API Intel vaAssociateSubpicture workaround. Fix bug: Must release lock for VideoPollEvent. Allow faster video and audio sync. Fix bug: Software decoder use vaPutImage with Intel backend. Fix bug: Artefacts are shown after mpeg2 channel switch. Fix bug: VideoReleaseSurface called after VideoExit.
Diffstat (limited to 'codec.c')
-rw-r--r--codec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/codec.c b/codec.c
index fcd3bc3..9f4c976 100644
--- a/codec.c
+++ b/codec.c
@@ -561,13 +561,13 @@ void CodecVideoDecode(VideoDecoder * decoder, const AVPacket * avpkt)
video_ctx->frame_number, used);
}
if (used != pkt->size) {
- if (used >= 0) {
+ if (used >= 0 && used < pkt->size) {
// some tv channels, produce this
Debug(4,
"codec: ooops didn't use complete video packet used %d of %d\n",
used, pkt->size);
- pkt->data += used;
pkt->size -= used;
+ pkt->data += used;
goto next_part;
}
Debug(3, "codec: bad frame %d\n", used);