From fc66d3d7b2375f5c56c7310f04bb941a4bbe1e65 Mon Sep 17 00:00:00 2001 From: Julian Scheel Date: Fri, 9 Apr 2010 18:07:07 +0200 Subject: fix freeze on discontinuities/seeking completely reinitialise the h264 parser to avoid messup in the dpb which causes unnecessarily long img-locks, that might cause freezes --- src/video_dec/libvdpau/vdpau_h264.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/video_dec/libvdpau/vdpau_h264.c b/src/video_dec/libvdpau/vdpau_h264.c index 32821223f..4cda672ec 100644 --- a/src/video_dec/libvdpau/vdpau_h264.c +++ b/src/video_dec/libvdpau/vdpau_h264.c @@ -733,7 +733,12 @@ static void vdpau_h264_reset (video_decoder_t *this_gen) { this->decoder = VDP_INVALID_HANDLE; } - reset_parser(this->nal_parser); + // Doing a full parser reinit here works more reliable than + // resetting + + //reset_parser(this->nal_parser); + free_parser(this->nal_parser); + this->nal_parser = init_parser(this->xine); this->color_standard = VDP_COLOR_STANDARD_ITUR_BT_601; this->wait_for_bottom_field = 0; -- cgit v1.2.3