[softhddevice-drm-gles] Raspberry 4 und 5

  • Probably no one notices but the last two gits of gles crash if we also have the radio or Iptv plugin active configured with ples instead of still picture either on Raspberry P4 or Pi5. In any case no images on background

    So I'm continuing to use Iptv (by Zabrimus) and an old version of gles by Rellla (1.4.2) with background image (listening radio streams) trough a patched vlcinput showing info about title musicians title etc

    Can you specify this? What do you mean with "the last two gits of gles"? What kind of crash? Segfault? Abort? Where does it "crash"? Can you provide a log?

    I don't use radio or iptv plugin. How could i reproduce this?

    Meine VDRs

    (SatIP Server) --- Kathrein Exip 418 ---
    (Server) --- HW: RPI5 --- SW: RPiOs, VDR 2.7.7 mit streamdev, satip/vtuner-ng, live, epgsearch, markad ---
    (Client 1) --- HW: RPI4 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (Client 2) --- HW: Radxa Rock 4 Plus - RK3399 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (WIP) --- Tanix TX6, RPi5, RPi4, Odroid N2+, WetekPlay2 --- SW: VDR*ELEC mit softhddevice-drm-gles --

  • Would be glad, if you can specify the first bad commit and can provide a log... There was one commit yesterday and the others are 4 and 5 days old.

    Which ffmpeg version do you use?

    Did you test with https://github.com/rellla/vdr-plu…2835e346517b18a?

    Meine VDRs

    (SatIP Server) --- Kathrein Exip 418 ---
    (Server) --- HW: RPI5 --- SW: RPiOs, VDR 2.7.7 mit streamdev, satip/vtuner-ng, live, epgsearch, markad ---
    (Client 1) --- HW: RPI4 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (Client 2) --- HW: Radxa Rock 4 Plus - RK3399 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (WIP) --- Tanix TX6, RPi5, RPi4, Odroid N2+, WetekPlay2 --- SW: VDR*ELEC mit softhddevice-drm-gles --

  • Thanks. I have a guess, what could be wrong. I'll try to reproduce and fix it.

    Meine VDRs

    (SatIP Server) --- Kathrein Exip 418 ---
    (Server) --- HW: RPI5 --- SW: RPiOs, VDR 2.7.7 mit streamdev, satip/vtuner-ng, live, epgsearch, markad ---
    (Client 1) --- HW: RPI4 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (Client 2) --- HW: Radxa Rock 4 Plus - RK3399 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (WIP) --- Tanix TX6, RPi5, RPi4, Odroid N2+, WetekPlay2 --- SW: VDR*ELEC mit softhddevice-drm-gles --

  • Ok. So we may have different problems here.

    1) Imho, the StillPicture-variant of the radio-plugin is wrong. StillPicture wants either a TS or PES stream (https://git.tvdr.de/?p=vdr.git;a=b…ea;hb=HEAD#l790). But in fact the mpg files are ES data. This is something, which should be fixed in the radio plugin and not worked around in the output plugin. Maybe the other can handle that, softhddevice-drm-gles doesn't.

    2) The pes-variant should work, but there is some issue (i guess sync) in softhddevice-drm-gles, which i have to look into.

    3) The abort could come from the changes, how filters are handled for ffmpeg8 now. This does only occur, when pes is selected. Honestly i did not test the new code with ffmpeg < 8.0 (blame on me) and i don't have such a setup anymore. So I would be glad, if someone could give some debug logs here, to find out, what goes wrong. This should be a problem with normal playback, too - as soon as a filter steps in (deinterlace_v4l2m2m, bwdif or scale).

    I will try to do some changes in the radio plugin for testing and try to find out, whats going on when selecting pes.

    Meine VDRs

    (SatIP Server) --- Kathrein Exip 418 ---
    (Server) --- HW: RPI5 --- SW: RPiOs, VDR 2.7.7 mit streamdev, satip/vtuner-ng, live, epgsearch, markad ---
    (Client 1) --- HW: RPI4 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (Client 2) --- HW: Radxa Rock 4 Plus - RK3399 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (WIP) --- Tanix TX6, RPi5, RPi4, Odroid N2+, WetekPlay2 --- SW: VDR*ELEC mit softhddevice-drm-gles --

  • Can you give me logs to solve that?

    Meine VDRs

    (SatIP Server) --- Kathrein Exip 418 ---
    (Server) --- HW: RPI5 --- SW: RPiOs, VDR 2.7.7 mit streamdev, satip/vtuner-ng, live, epgsearch, markad ---
    (Client 1) --- HW: RPI4 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (Client 2) --- HW: Radxa Rock 4 Plus - RK3399 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (WIP) --- Tanix TX6, RPi5, RPi4, Odroid N2+, WetekPlay2 --- SW: VDR*ELEC mit softhddevice-drm-gles --

  • Again, I can't help without debug logs.

    Meine VDRs

    (SatIP Server) --- Kathrein Exip 418 ---
    (Server) --- HW: RPI5 --- SW: RPiOs, VDR 2.7.7 mit streamdev, satip/vtuner-ng, live, epgsearch, markad ---
    (Client 1) --- HW: RPI4 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (Client 2) --- HW: Radxa Rock 4 Plus - RK3399 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (WIP) --- Tanix TX6, RPi5, RPi4, Odroid N2+, WetekPlay2 --- SW: VDR*ELEC mit softhddevice-drm-gles --

  • I specify that the same prob is using iptv without radio plugin.

    The plugin uses exactly the same mechanism as the the radio plugin. And i don't really understand the creation of the PES picture.

    The plugins allows 3 different setups of the still picture:
    1. no still picture at all
    2. Use StillPicture function (uses cDevice::PrimaryDevice()->StillPicture)
    3. Use PlayPes Function (uses cDevice::PrimaryDevice()->PlayPes)

  • Hi,

    You could test the graphtft-ng-Plugin. I remember darkly there is another method inside to create the picture for it.

    Regards Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    http://www.easy-vdr.de

  • I tried this with VDR*Elec from 1 or 2 weeks ago (softhddevice-drm-gles (1.4.2-4f52dbcfd9-dirty)) on Raspi 4.

    Using a Internet radio channel with iptv-plugin I get

    Code
    Jan 05 12:03:31 LibreELEC vdr[11290]: [11310] [softhddevice] device: HandleStillPicture: invalid PES packet
    Jan 05 12:03:32 LibreELEC start_vdr.sh[11238]: Segmentation fault (core dumped)

    Where does LibreElec store the corefile?

    Zabrimus: How do i choose the folder with the image and the mpeg file? I can't find any information in README or iptv.conf

    Using the radio-plugin (not radio-ng) I needed to change the path in radio.conf to /storage/.config/vdropt/plugins/radio/mpegstill
    With PlayPes I get no picture and log errors, but no crash

    With radio plugin configured to StillImage I the same crash as with iptv.

    So my experience is the opposite to fiveten_59 - it is not PlayPes what is crashing, but StillImage

    VDR1: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • It's on the way... I can get the picture with StillPicture now, but softhddevice-drm-gles needs some bits to work still. I reworked the stillpicture part of the radio plugin to do a right stillpicture now, it is wrong atm. Stay tuned, will still take some time ;)

    Meine VDRs

    (SatIP Server) --- Kathrein Exip 418 ---
    (Server) --- HW: RPI5 --- SW: RPiOs, VDR 2.7.7 mit streamdev, satip/vtuner-ng, live, epgsearch, markad ---
    (Client 1) --- HW: RPI4 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (Client 2) --- HW: Radxa Rock 4 Plus - RK3399 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (WIP) --- Tanix TX6, RPi5, RPi4, Odroid N2+, WetekPlay2 --- SW: VDR*ELEC mit softhddevice-drm-gles --

  • Zabrimus: How do i choose the folder with the image and the mpeg file? I can't find any information in README or iptv.conf

    The iptv plugin first checks if the radio plugin is installed. If it is installed, then the radio plugin handles the still image and the iptv Plugin does nothing.

    If the plugin is not installed, then again a choice takes place depending on the setup entry:
    - StillImage: Read the image from plugin resource directory/radio.mpg
    cDevice::PrimaryDevice()->StillPicture(buffer, sp.size);
    radio.mpg: MPEG sequence, v2, MP@ML progressive Y'CbCr 4:2:0 video, HD-TV 1920P, 25 fps

    - PrintPES: Create a PES packet internally and send the packet to
    cDevice::PrimaryDevice()->PlayPes

    I currently discover that the PES handling is very inefficient. Is it really needed or can i remove it completely?

  • If I remember right, the PES handling was improved in radio-ng. Did you use this code in iptv?

    The still image always looked a bit flickering on my screen. I prefer PkayPes. This may even be necessary for perfect fast forward and rewind in radio recordings. Different output plugins have a different behaviour when playing audio-only.

    VDR1: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • Switching to german again:

    Stillpicture im radio plugin sollte meiner Meinung nach folgendermaßen implementiert werden:
    https://github.com/rellla/vdr-plu…342367643386c3b

    Das ist dann ein vernünftiger PES und das kann softhddevice-drm-gles mit cDevice::StillPicture auch ohne workarounds darstellen. Grundsätzlich klappt es schon, aber ich muss noch ein paar Tests fahren und nachjustieren, damit StillPicture in softhddevice-drm-gles sowohl für audio-only als auch im normalen Betrieb funktioniert. War doch nicht so einfach wie gedacht. PlayPES habe ich noch nicht angesehen. Das scheitert im Plugin aktuell daran, dass es einen A/V-Sync machen will, weil es denkt, da kommt ein "normaler" AV Stream. DAs klappt natürlich wegen des utopischen video PTS nicht.

    Vielleicht kann ja jemand den Patch von oben mit einer anderen softhddevice Version mal testen...

    EDIT: Grundsätzlich sollte man send_still_picture auch ohne pts implementieren können, aber das macht es in softhdevice-drm-gles noch etwas komplizierter...

    Meine VDRs

    (SatIP Server) --- Kathrein Exip 418 ---
    (Server) --- HW: RPI5 --- SW: RPiOs, VDR 2.7.7 mit streamdev, satip/vtuner-ng, live, epgsearch, markad ---
    (Client 1) --- HW: RPI4 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (Client 2) --- HW: Radxa Rock 4 Plus - RK3399 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (WIP) --- Tanix TX6, RPi5, RPi4, Odroid N2+, WetekPlay2 --- SW: VDR*ELEC mit softhddevice-drm-gles --

  • Wie ich jetzt erst sehe, sind die Patches des leider verstorbenen HelmutB aus seinem git inzwischen von M-Reimer auch auf vdr-projects übernommen worden, so dass Zabrimus das Plugin radio-ng dann m.E. aus seinem 'Sortiment' entfernen könnte.

    Ich kann den Patch leider nicht in Verbindung mit softhddevice-drm-gles testen, weil ich da nur ein Fertig-Image von VDR*Elec habe. Für softhdodroid habe ich aber eine Entwicklungsumgebung in chroot und werde das heute oder morgen testen. Beide Methoden (StillImage und PlayPes) funktionierten ansonsten mit softhddevice (kann ich mangels Hardware leider auch nicht mehr testen) und softhdodroid bislang ohne Probleme. Ob und welche Verrenkungen in beiden Plugins dafür notwendig waren,weiß ich allerdings nicht.

    VDR1: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • Für softhdodroid habe ich aber eine Entwicklungsumgebung in chroot und werde das heute oder morgen testen. Beide Methoden (StillImage und PlayPes) funktionierten ansonsten mit softhddevice (kann ich mangels Hardware leider auch nicht mehr testen) und softhdodroid bislang ohne Probleme. Ob und welche Verrenkungen in beiden Plugins dafür notwendig waren,weiß ich allerdings nicht.

    Das wäre super, danke! softhddevice-drm-gles kann ich natürlich selber testen. Das geht soweit prinzipiell mit https://github.com/rellla/vdr-plu…m-gles/pull/155, aber der patch ist noch nicht fertig.

    Meine VDRs

    (SatIP Server) --- Kathrein Exip 418 ---
    (Server) --- HW: RPI5 --- SW: RPiOs, VDR 2.7.7 mit streamdev, satip/vtuner-ng, live, epgsearch, markad ---
    (Client 1) --- HW: RPI4 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (Client 2) --- HW: Radxa Rock 4 Plus - RK3399 --- SW: VDR*ELEC mit softhddevice-drm-gles ---
    (WIP) --- Tanix TX6, RPi5, RPi4, Odroid N2+, WetekPlay2 --- SW: VDR*ELEC mit softhddevice-drm-gles --

Participate now!

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