Opened 6 years ago
Last modified 6 years ago
#13228 closed Developer Task
Miscellaneous Android fixes and improvements — at Version 4
Reported by: | Peter Bennett | Owned by: | Peter Bennett |
---|---|---|---|
Priority: | minor | Milestone: | 30.0 |
Component: | Ports - Android | Version: | Master Head |
Severity: | medium | Keywords: | |
Cc: | Mark Spieth, gigem, jpoet | Ticket locked: | no |
Description (last modified by )
Android support is taking shape. Here is a list of issues to look into, with emphasis on Nvidia Shield / Android TV:
- Exit from frontend causes a SEGFAULT.
- The first startup hangs on white screen. Needs a splash screen?
- Second startup hangs trying to locate the Myth Backend. Perhaps UPNP is not working? I solved it by manually creating the config.xml file. Check what is going on and if necessary set up the best way of doing this.
- The shield remote does not have enough buttons. Add appropriate OSDs or menus to support all functions with the limited buttons available. Fix the bahaviour of the back button.
- Support for Game controller buttons does not work correctly.
- Green line at the bottom of the screen when watching video.
- Digital audio is not working. There is only one audio device in the list, OpenSLES and setting up digital audio causes strange behavior.
- When MythTV goes into the background, it should enter standby mode.
- Remove Xvideo playback profiles that will not work.
- Ensure default theme painter uses OpenGL.
- Support hardware accelerated decode.
- I noticed a white flash sometimes when navigating screens. Maybe the default background should be black not white.
- If Android needs to terminate the app while it is in the background, make sure that is handled cleanly.
- Make the real MythTV version known to Android. Currently, Android thinks the app is version 1.0.
Issues for Android Tablet and phone support:
- better tablet/touchscreen support.
- My screen map probably should have a transient overlay guide
- better gesture support.
- proper list flick scrolling
Change History (6)
comment:1 Changed 6 years ago by
Changed 6 years ago by
Attachment: | 20180227_1059_android_segfault_workaround.patch added |
---|
Workaround for segfault
comment:2 Changed 6 years ago by
Green line at the bottom of the screen when watching video
Actually there is a green line at the bottom and side on some videos. I notice it on 720p or 480p videos when watching on a 1808p display.
The green line only occurs if it is using texture format YV12. There are two texture formats used for most systems - YV12 and UYVY. The logic for choosing which to use is rather obscure. It is choosing UYVU on regular Linux and choosing YV12 on Android. Testing shows that both formats work for Linux as well as for Android, but YV12 is causing the green line on Android. It seems to be a problem with the resizing algorithm. Changing to use UYVU on Android seems to solve the problem. See attached patch for the workaround (20180227_1100_android_greenline_workaround.patch)
Changed 6 years ago by
Attachment: | 20180227_1100_android_greenline_workaround.patch added |
---|
Workaround for green line
comment:3 Changed 6 years ago by
Status: | new → accepted |
---|
Exit from frontend causes a SEGFAULT
The destructor for the main window hits a segfault due to a null pointer, many levels deep in the destructor of QWidget. The destructor is not called twice. I cannot find a solution, so the workaround for now is bypass that on Android. This leaves a memory leak which is preferable to a Seg Fault. Note that even with bypassing the destructor, the Android log still contains messages about the window having died. See attached patch for the workaround (20180227_1059_android_segfault_workaround.patch). Next step in fixing this is to implement the correct Android method of closing an application, which may avoid the problem.