diff options
author | Julian Scheel <julian@jusst.de> | 2010-04-09 18:07:07 +0200 |
---|---|---|
committer | Julian Scheel <julian@jusst.de> | 2010-04-09 18:07:07 +0200 |
commit | fc66d3d7b2375f5c56c7310f04bb941a4bbe1e65 (patch) | |
tree | 45fa99bdbb2b4f14e9640c14d631501128d47a7b | |
parent | 0fa51028db5e8c119a7f1adf6a32932a0cb7827b (diff) | |
download | xine-lib-fc66d3d7b2375f5c56c7310f04bb941a4bbe1e65.tar.gz xine-lib-fc66d3d7b2375f5c56c7310f04bb941a4bbe1e65.tar.bz2 |
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
-rw-r--r-- | src/video_dec/libvdpau/vdpau_h264.c | 7 |
1 files changed, 6 insertions, 1 deletions
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; |