[cores] RenderManager::GetStats - now returns queue and discard separately. DVDPlayer...
authorAnton Fedchin <afedchin@ruswizards.com>
Fri, 18 Sep 2015 11:53:23 +0000 (14:53 +0300)
committerAnton Fedchin <afedchin@ruswizards.com>
Fri, 18 Sep 2015 11:59:09 +0000 (14:59 +0300)
commitff02e016da63d126709a32ddaef6edc423e759d8
tree1e496bb895ac269a45423eab575e890d4466b070
parentc91d65b76b39010e5dc1fe1740518d4fdc39bd47
[cores] RenderManager::GetStats - now returns queue and discard separately. DVDPlayerVideo - ignore discard stats for dropping frame on rewind.

The main problem is:
1) The DXVA processor allows (and requires for de-interlacing) a set of past frames. This causes the bufferLevel greater than 0.
3) DVDPlayerVideo drops any frame if bufferLevel is greater than 0 on rewind, so the renderer doesn't receive any new frame which causes freezing picture when DXVA processor is used.

This changes behavior DVDPlayerVideo to do not consider the discard queue before dropping frame on rewind.
xbmc/cores/VideoRenderers/RenderManager.cpp
xbmc/cores/VideoRenderers/RenderManager.h
xbmc/cores/dvdplayer/DVDPlayerVideo.cpp