Upgrade of Hyperion.NG in CoreELEC

  • Hi,


    I have done some PR on Github to fix compiling on Amlogic CE as Kodi Addon.
    It is running right now but crashing. Also the video get ugly after a few seconds.
    Only a reboot of the box does help.


    When hyperion is starting the effect get showed on the LEDs (Rainbow) so RS232 should work.
    But then nothing is happening. No change if in FB or VPU mode.


    This version is including the last 2 pull requests #537 & #538. I will try again tomorrow with out these PR.
    But I think it will also fail because this changes are working for https://github.com/hyperion-pr…6a13396e1430f5687a6ef703f.


    Here is the log:

  • @Paulchen-Panther


    Is in the Amlogic grabber the Flatbuffer connection missing?
    Like in the hyperion-gt.cpp:

    Code
    // Create the Flabuf-connection
                FlatBufferConnection flatbuf("Qt Standalone", address, argPriority.getInt(parser), parser.isSet(argSkipReply));
    
    
                // Connect the screen capturing to flatbuf connection processing
                QObject::connect(&grabber, SIGNAL(sig_screenshot(const Image<ColorRgb> &)), &flatbuf, SLOT(setImage(Image<ColorRgb>)));
  • I implemented some more debug info. It looks like the frame is getting grabed but not forwarded:

  • Here a gdb log, not realy usefull:

  • I will check!


    I think I found the crash on stopping hyperiond:
    Fatal Python error: PyInterpreterState_Delete: remaining subinterpreters


    https://github.com/hyperion-pr…on/PythonInit.cpp#L26-L31


    But I don't know how to fix it...


    Log when stopping hyperiond:

    Code
    [hyperiond MAIN] <INFO> Application closed with code 0
    [hyperiond FLATBUFSERVER] <INFO> Stopped
    [hyperiond WEBSERVER] <INFO> Stopped Hyperion Webserver
    [hyperiond AmLogic] <DEBUG> <GrabberWrapper.cpp:36:~GrabberWrapper()> Close grabber: AmLogic
    QThread: Destroyed while thread is still running
    QWaitCondition::wakeAll(): mutex lock failure: Invalid argument
    [hyperiond DAEMON] <DEBUG> <PythonInit.cpp:28:~PythonInit()> Cleaning up Python interpreter
    Fatal Python error: PyInterpreterState_Delete: remaining subinterpreters



    EDIT:
    The new flatbuffers. The server is is starting on port 19400. Is than a FlatBufferConnection needed to transfer the image data? The log does not show anything about "Connecting to Hyperion:"


    Is this for Amlogic and local device needed:

    Code
    "forwarder" :
        {
            "enable" : false,
            "proto"  : ["127.0.0.1:19400"]
        },


    I had before:

    Code
    "forwarder": {
            "json": [
            ]
        },


    Log:

    Code
    [hyperiond DAEMON] <INFO> AMLOGIC grabber created
    [hyperiond JSONSERVER] <DEBUG> <JsonServer.cpp:23:JsonServer()> Created instance
    [hyperiond JSONSERVER] <INFO> Started on port 19444
    [hyperiond FLATBUFSERVER] <INFO> Started on port 19400


    Right now:

    Code
    "forwarder" :
        {
            "enable" : false,
            "proto"  : ["127.0.0.1:19400"]
        },


    Log:

    Code
    [hyperiond DAEMON] <INFO> AMLOGIC grabber created
    [hyperiond JSONSERVER] <DEBUG> <JsonServer.cpp:23:JsonServer()> Created instance
    [hyperiond JSONSERVER] <INFO> Started on port 19444
    [hyperiond FLATBUFSERVER] <INFO> Started on port 19400
    [hyperiond FLATBUFSERVER] <DEBUG> <FlatBufferServer.cpp:61:newConnection()> New connection from ::ffff:127.0.0.1
  • I only can check if it is compiling as I never used that feature. I will check it.


    What about the "instCapture" parameter?
    Can you add a default enable when it is missing in the config!?


    The last used version in Coreelec amlogic is from 1.12.2017 and there this parameter doesn't exist.


    The upgrade should work without the need to modify the config.

  • This will fix the PR #539 with CE Amlogic. As the cmake variables are case sensitve and the package is named "Protobuf" the vars have to be "Protobuf_....":


    When this get merged and the fix for instCapture get included I can update the CoreELEC repo:
    https://github.com/hyperion-pr…/CaptureCont.cpp#L97-L116


    This "systemEnable" have to be set as default to "true" if missing in the config file!

  • Hello everyone!


    Thanks to Portisch's great efforts (which i really appreciate), AML-users now can enjoy the ambient lighting stuff without "slowdown issue" :)


    But since he switched to another grabbing method (instCapture?) i've noticed the strange behavior of smoothing processing. It has correct duration, but output (smoothed) FPS seems not to be correct. On Portisch's build color transitions looks much more "stepped", especially it is noticeable on fadings. This issue impacts either video and UI. I recorded the slow-mo videos which demonstrate the problem pretty obviously, please look in (don't look at PWM shimmers, i'm talking about another thing).


    Portisch's build commit is 714b4d2c547f2c6aea5124fab8c4e3539f9cf081, if it matters. Many thanks in advance! :)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!