[mythtv] 20180705 Android Observations

Peter Bennett pb.mythtv at gmail.com
Fri Jul 6 17:50:08 UTC 2018

On 07/05/2018 10:54 PM, David Engel wrote:
> Peter,
> Here are my initial observations using your 20180705 patch.
> With my Mecool M8S Pro:
> =======================
> Amlogic S912 box running 32-bit Nougat.
> Both 720p and 1080i played reasonably well.  Video was slightly
> stuttery at 1x speed and much more noticeably at any higher speeds.
> Skips were okay.  Fast forward and rewind were very sluggish causing
> the actual speed to be well below the intended speed, but otherwise
> worked.
> All 3 jellyfish versions (250 mbps h.264, 250 mbps hevc and 400 mbps
> hevc) played, but were stuttery and slower than normal speed.
> With my Nvidia Shield:
> ======================
> Running 64-bit Oreo.
> 720p played mostly great.  Video was smooth at 1x and very good at any
> speed up to and including 2x.  Skips were very quick.  Fast forward
> and rewind were very good except I had one case where playback timed
> out and exited back to watch recordings during one extended rewind.
> 1080i played fairly well.  Video was slightly stuttery at 1x and more
> noticeably at all faster speeds up to and including 2x.  Skips were a
> little slower than hoped for but still okay.  The main problem with
> skips was there was almost always a brief flicker of what looked to be
> a misaligned frame.  Fast forward and rewind were very good except for
> another playback timeout.  Strangely, fast forward and rewind did not
> show the same flickering as with skips.
> All versions of jellyfish played great when I started playback from a
> bookmark.  All versions crashed and exited back to the Android home
> screen when I started playback from the beginning.  That's a strange
> one.
> I'm going to go do some real TV watching with this version now and
> will report any other problems I see.  Also, I'll be able to do some
> more detailed testing and collect logs and whatnot this weekend.
> David
The jerkiness is likely due to the reduced buffers. However I did try 
one 1080i recording that has a scrolling row of text and that seems 
perfectly smooth. I find that with a scrolling text it is easy to see if 
the speed is not smooth, jerks are very visible.

A log when ff or rew has a timeout would be helpful. For the crash on 
jellyfish, running with gdb will give the reason. If the reason is not 
Kill, you can get a back trace. I did FF through an entire 1 hour 
program successfully, so I do not seem to get your timeout situation.

I am wondering what to do about the buffers. There are currently 
hardcoded numbers for each video output method (OpenGL, VDPAU, etc.). It 
is fine on most linux systems to grab 300MB for buffers, but android 
tends to kill the application if it thinks it is using too much memory. 
I think it will need some way of dynamically setting the number of 
buffers based on things like the amount of available memory, framerate, 
picture size, operating system.

Another thing is there seems to be too much copying of frames from one 
place in memory to another. For multi-megabyte frames that can take a 
significant amount of time on a low end cpu.


More information about the mythtv-dev mailing list