How to disable OMX just for PVR?

  • Hello,

    I am using OMX acceleration, works great. But recently I am start implementing TVHeadend client / PVR. SD channels on TV are MPEG2, and they dont play fine, when OMX is checked. I've got just black screen with audio, propably because missing MPEG2 codec lincenses:

    Code
    08:01:09  46.545105 T:1571812256   ERROR: COMXCoreComponent::SetParameter - OMX.broadcom.video_decode failed with omx_err(0x80001005)
    08:01:09  46.545250 T:1571812256   ERROR: OMXPlayerVideo : Error open video output
    08:01:09  46.546589 T:1571812256 WARNING: OpenStream - Unsupported stream 0. Stream disabled.

    MMAL fallback works fine, but I dont want to use MMAL acceleration globally:

    Code
    08:01:52  89.600616 T:1571812256 WARNING: CMMALVideo::Open Codec mmal-mpeg2 is not supported
    08:01:52  89.600777 T:1571812256  NOTICE: CDVDVideoCodecFFmpeg::Open() Using codec: MPEG-2 video
    08:01:52  89.602654 T:1571812256  NOTICE: Creating video thread
    08:01:52  89.602959 T:1571812256  NOTICE: Opening stream: 2 source: 256
    08:01:52  89.603073 T:1483731872  NOTICE: running thread: video_thread
    08:01:52  89.603188 T:1571812256  NOTICE: Finding audio codec for: 86016
    08:01:52  89.603882 T:1571812256  NOTICE: Creating audio thread
    08:01:52  89.604248 T:1475343264  NOTICE: running thread: CDVDPlayerAudio::Process()


    I already tried add

    Code
    <omx>
    <omxdecodestartwithvalidframe>0</omxdecodestartwithvalidframe>
    </omx>

    with no luck.


    Is there any way (advancedsettings.xml), how to restrict(or change configuration related to) acceleration automatically, just for PVR (or MPEG streams?). The manual switching within menu is not an option for me :)

    Thanks in advance

    Edited once, last by JimmySmith (December 20, 2017 at 1:38 PM).

  • But how I can automatically trigger MMAL just for PVR streams? I think it would be possible to catch PVR (by tsmpg stream, or filename of playlist maybe?) via .xml, thats the first thing, but second would be how to change Acceleration parameters from there.

    For some reason, LE acts differently when handling mpeg stream, and mpeg recorded file.

    In case of file:

    • when both OMX and MMAL are enabled, it acts "fine": first tried OMX, then MMAL, and ends on ffmpeg.
    • when only OMX enabled: tried, and disable video stream
    • when only MMAL enabled: tried, and sucessfully fallback into ffmpeg

    Unfortunatelly, in MPEG2 stream case, there is need to be only MMAL enabled to get it work. And as I stated earlier, I dont wanna MMAL.. (A various problems and increased CPU load with it.. been there, dont wanna been there again, ugly! :-] )

  • I am not talking about developing. I am talking about my needs, please, try to understand user point of view, not developer one, and try to not force your preferences to me. What you mention seems to be workaround, not actually solution..

    I wrote down twice, that MMAL as general option is no go for me. It maybe solve a little glitch - which I still hope, its solveable just by configuration. But Ill most likelly eventually buy MPEG license, if someone didnt help me, more than change my "tuned" working configuration and start to dealing with another problems instead.. :)