Android Not using hardware acceleration after channel change
#1
When switching between two channels without stopping the first one, the channel after switch is not using hardware acceleration. If I stop the playback before switching to another channel, the problem does not occur. This happens consistently on a new Nvidia Shield since the automatic (Google Play) upgrade to Krypton.

The first channel plays OK, the CPU is being barely used, the codec is amc-h264 (HW).
The playback of the second channel is not smooth (the playback does not stop, but it is still noticeable), also the CPU load is at least 80%. The codec is ff-h264 (SW). The playback becomes better if I reduce the deinterlacing method (yadif=0:-1:1 instead of yadif=1:-1:1), however it is merely a workaround.

The following log captures playback of CT2 for about 20 seconds, then switching to Nova for another 20 seconds.
http://paste.ubuntu.com/23973021/

Screenshots of the codecs being used (different channels but the same effect):
http://img.djpw.cz/oqf.png
http://img.djpw.cz/pqf.png

Is this a known issue?
Reply
#2
known issue of Android platform. It cant open more than a single instance of a hardware decoder. v18 will fix this.
Reply
#3
Does that mean that I have to live with this workaround for a year? Would it be possible to make a "hack", to restart/reset the decoder on channel switch (even if it meant a short delay)?
Could some trivial resetting of the codec in DVDFactoryCodec.cpp work in my case? I understand that it is not a general solution.

Btw, the video with the reduced deinterlacing is still not great (the difference to HW accelerated playback is noticeable).
Reply
#4
we don't do such hacks. get yourself some reasonable hardware or run a dev build of v18.
Reply
#5
Is the fix already implemented on v18 dev build?
Reply

Logout Mark Read Team Forum Stats Members Help
Not using hardware acceleration after channel change0