[mythtv-commits] [MythTV/mythtv] fdc064: V4L2 Codecs: Fix lockup when seeking

Mark Kendall noreply at github.com
Wed Nov 20 15:53:52 UTC 2019


  Branch: refs/heads/devel/2019-render
  Home:   https://github.com/MythTV/mythtv
  Commit: fdc0645aba9a9ad373888bd62ebcbc83a3feb7e5
      https://github.com/MythTV/mythtv/commit/fdc0645aba9a9ad373888bd62ebcbc83a3feb7e5
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2019-11-20 (Wed, 20 Nov 2019)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/v4l2_m2m_dec.c
    M mythtv/libs/libmythtv/decoders/mythdrmprimecontext.cpp
    M mythtv/libs/libmythtv/decoders/mythdrmprimecontext.h
    M mythtv/libs/libmythtv/decoders/mythv4l2m2mcontext.cpp
    M mythtv/libs/libmythtv/decoders/mythv4l2m2mcontext.h
    M mythtv/libs/libmythtv/opengl/mythopenglvideo.cpp

  Log Message:
  -----------
  V4L2 Codecs: Fix lockup when seeking

- the v4l2 decoder was being turned off:(
- this does however expose another issue - seek distance is completely
broken when using v4l2


  Commit: 6ff945428447ec5cc4af8a547a7ff2e6b7b104bd
      https://github.com/MythTV/mythtv/commit/6ff945428447ec5cc4af8a547a7ff2e6b7b104bd
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2019-11-20 (Wed, 20 Nov 2019)

  Changed paths:
    M mythtv/libs/libmythtv/mythcodecid.cpp
    M mythtv/libs/libmythtv/mythcodecid.h

  Log Message:
  -----------
  MythCodeID: Remove unused code


  Commit: 9f7ceacd0ae3751fbced3526b8a8365f1fde1ed9
      https://github.com/MythTV/mythtv/commit/9f7ceacd0ae3751fbced3526b8a8365f1fde1ed9
  Author: Mark Kendall <mark.kendall at gmail.com>
  Date:   2019-11-20 (Wed, 20 Nov 2019)

  Changed paths:
    M mythtv/libs/libmythtv/decoders/mythdrmprimecontext.cpp
    M mythtv/libs/libmythtv/decoders/mythmmalcontext.cpp
    M mythtv/libs/libmythtv/decoders/mythnvdeccontext.cpp
    M mythtv/libs/libmythtv/decoders/mythvaapicontext.cpp
    M mythtv/libs/libmythtv/decoders/mythvdpaucontext.cpp
    M mythtv/libs/libmythtv/decoders/mythvtbcontext.cpp
    M mythtv/libs/libmythtv/opengl/mythdrmprimeinterop.cpp
    M mythtv/libs/libmythtv/opengl/mythdrmprimeinterop.h
    M mythtv/libs/libmythtv/opengl/mythmediacodecinterop.h
    M mythtv/libs/libmythtv/opengl/mythmmalinterop.cpp
    M mythtv/libs/libmythtv/opengl/mythmmalinterop.h
    M mythtv/libs/libmythtv/opengl/mythnvdecinterop.cpp
    M mythtv/libs/libmythtv/opengl/mythnvdecinterop.h
    M mythtv/libs/libmythtv/opengl/mythopenglinterop.cpp
    M mythtv/libs/libmythtv/opengl/mythopenglinterop.h
    M mythtv/libs/libmythtv/opengl/mythvaapiinterop.cpp
    M mythtv/libs/libmythtv/opengl/mythvaapiinterop.h
    M mythtv/libs/libmythtv/opengl/mythvdpauinterop.cpp
    M mythtv/libs/libmythtv/opengl/mythvdpauinterop.h
    M mythtv/libs/libmythtv/opengl/mythvideooutopengl.cpp
    M mythtv/libs/libmythtv/opengl/mythvtbinterop.cpp
    M mythtv/libs/libmythtv/opengl/mythvtbinterop.h

  Log Message:
  -----------
  MythOpenGLInterop: Refactor interop support check

- use VideoFrameType rather than MythCodecID for the check - which is a
more sensible indicator.
- ensure subclass interop checks are protected as they do not enforce
thread safety checks.
- ensure all MythCodecContext subclasses call the 'master'
MythOpenGLInterop::GetInteropType which does enforce thread safety
- cache known supported formats in MythOpenGLInterop::GetInteropType to
speed things up a little.
- ensure all subclass constructors/destructors are protected (they are
reference counted so should not be created/deleted directly)
- don't pass the MythRenderOpenGL object to the GetInteropType
implementations.


Compare: https://github.com/MythTV/mythtv/compare/896c099c7b9b...9f7ceacd0ae3


More information about the mythtv-commits mailing list