[mythtv-commits] [MythTV/mythtv] f38802: Android: Add CPU load monitoring

Mark Kendall noreply at github.com
Mon Mar 4 11:07:00 UTC 2019


  Branch: refs/heads/devel/2019-render
  Home:   https://github.com/MythTV/mythtv
  Commit: f3880261288823bd33b13fe2e35e7812bf6368fd
      https://github.com/MythTV/mythtv/commit/f3880261288823bd33b13fe2e35e7812bf6368fd
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2019-03-03 (Sun, 03 Mar 2019)

  Changed paths:
    M mythtv/libs/libmythtv/jitterometer.cpp

  Log Message:
  -----------
  Android: Add CPU load monitoring

- N.B. Access to /proc/stat was restricted/revoked from API 26 onwards
so this will have a limited shelf life...


  Commit: ff8b0ca3dd941a660747473e6da1b1bb0a3bbfe1
      https://github.com/MythTV/mythtv/commit/ff8b0ca3dd941a660747473e6da1b1bb0a3bbfe1
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2019-03-03 (Sun, 03 Mar 2019)

  Changed paths:
    M mythtv/libs/libmythtv/mythvtbinterop.cpp
    M mythtv/libs/libmythtv/openglvideo.cpp
    M mythtv/libs/libmythtv/openglvideo.h
    M mythtv/libs/libmythui/mythrender_opengl.cpp
    M mythtv/libs/libmythui/mythrender_opengl.h
    M mythtv/libs/libmythui/mythrender_opengl_defs.h

  Log Message:
  -----------
  MythRenderOpenGL: Add support for TEXTURE_EXTERNAL_OES

- just another exception to the rule. Needed for Android SurfaceTexture
support.


  Commit: f23fc79b1ece43e503f2aec009066b2bdbd4426c
      https://github.com/MythTV/mythtv/commit/f23fc79b1ece43e503f2aec009066b2bdbd4426c
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2019-03-03 (Sun, 03 Mar 2019)

  Changed paths:
    M mythtv/libs/libmythtv/openglvideoshaders.h

  Log Message:
  -----------
  OpenGLVideo: Fix YV12/NV12 shaders for picky Android compilers


  Commit: b543f31fd97b4fe943ed4ac2c1eb03a97759c4eb
      https://github.com/MythTV/mythtv/commit/b543f31fd97b4fe943ed4ac2c1eb03a97759c4eb
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2019-03-04 (Mon, 04 Mar 2019)

  Changed paths:
    M mythtv/libs/libmythui/mythpainter_ogl.cpp

  Log Message:
  -----------
  MythOpenGLPainter: Fix theme painter oddities


  Commit: c4732e98af0c9ee823b954cb12ae76b0620f1a0b
      https://github.com/MythTV/mythtv/commit/c4732e98af0c9ee823b954cb12ae76b0620f1a0b
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2019-03-04 (Mon, 04 Mar 2019)

  Changed paths:
    M mythtv/libs/libmythtv/mythplayer.cpp

  Log Message:
  -----------
  MediaCodec: Add temporary workaround for exit deadlock


  Commit: a25eecde7472659a3f6f5e7169af9a3eae8251c2
      https://github.com/MythTV/mythtv/commit/a25eecde7472659a3f6f5e7169af9a3eae8251c2
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2019-03-04 (Mon, 04 Mar 2019)

  Changed paths:
    M mythtv/libs/libmythtv/avformatdecoder.cpp
    M mythtv/libs/libmythtv/libmythtv.pro
    M mythtv/libs/libmythtv/mythcodeccontext.cpp
    A mythtv/libs/libmythtv/mythmediacodeccontext.cpp
    A mythtv/libs/libmythtv/mythmediacodeccontext.h
    A mythtv/libs/libmythtv/mythmediacodecinterop.cpp
    A mythtv/libs/libmythtv/mythmediacodecinterop.h
    M mythtv/libs/libmythtv/mythopenglinterop.cpp
    M mythtv/libs/libmythtv/mythopenglinterop.h
    M mythtv/libs/libmythtv/videobuffers.cpp
    M mythtv/libs/libmythtv/videoout_opengl.cpp

  Log Message:
  -----------
  Android: Initial MediaCodec render to surface support

- there are numerous issues...
- we do not implement SurfaceTextureListener to wait for the
SurfaceTexture to be updated. This appears to lead to performance
issues.
- interlaced playback is a mess as the player is not yet made aware that
the stream has been deinterlaced and hence frame doubled.
- certain video formats with non-square pixels will display truncated
images. Need to fetch and process SurfaceTexure.getTransformMatrix to
handle properly.
- there are numerous deadlocks/crashes related to seeking/exiting/
pausing.
- some of these issues are more generic (ie. apply to VAAPI etc as
well), others are due to buffer starvation in the underlying decoder.
- the decoder appears to have a limited number of output buffers (4) and
will not return a new frame until one of those buffers has been released
by VideoOutput. This causes issues in various places - a workaround has
been added to MythPlayer to try and allow a cleaner exit.
- in some cases the decoder appears to still be trying to access the
surface texture after it has been destroyed.


Compare: https://github.com/MythTV/mythtv/compare/ac06561374a4...a25eecde7472


More information about the mythtv-commits mailing list