Posts by hopsi

    So, hat jetzt funktioniert ohne den Link auf die includes. Dafür habe ich in Make.config das INCDIR auf mein VDRDIR/includes gesetzt und mittels

    CFLAGS += -I$(INCDIR)

    CXXFLAGS += -I$(INCDIR)

    übergeben. Eigentlich sollte das ja auch ohne funktionieren. Aber so klappt's. Übrigens auch mit scraper2vdr, der hat auch die includes nicht im VDRDIR verwendet.

    Mir fehlen die Kenntnisse, das weiter zu untersuchen, für mich kompiliert es so.


    Christian

    Danke für die Antwort. Ich hatte hier auch immer ein korrektes '-I/usr/local/src/vdr-2.4.6/include' drin.

    Irgendwas war da wohl verwurschtelt. Jetzt läuft es ja. Ich kann's nicht mehr nachvollziehen.

    Wobei mir einfällt: wenn ich den Link auf die includes von /usr/local/include mittels

    ln -s /usr/local/src/VDR/include/vdr/ .

    nicht gesetzt habe, läuft zwar das make korrekt durch, nicht aber das make install. Da werden die fehlenden .h-Dateien reklamiert von markad.


    Christian

    - gibt es vielleicht noch alte VDR Sourcen auf dem Rechner (find -name plugin.h) ?

    Das war's. Ich hatte unter /usr/local/include/ Dateien aus 2017 liegen. Die hat markad verwendet, andere Plugins hatten sich nie daran gestört.

    Gelöscht und ein

    ln -s /usr/local/src/VDR/libsi/ .

    ln -s /usr/local/src/VDR/include/vdr/ .

    in /usr/local/include hat das Problem behoben.

    Bleibt nur die Frage, warum markad die includes von dort verwendet und die anderen Plugins unterhalb VDRDIR suchen.


    Christian

    alles nochmal mit make clean und make clean-plugins geputzt. Neu kompiliert, installiert, gestartet.

    Keine Änderung, weiterhin kommt die Meldung. Die Pfade passen so.

    -rwxr-xr-x 1 root root 310680 17. Jan 12:40 /usr/local/src/VDR/PLUGINS/lib/libvdr-markad.so.2.4.6


    Bis heute morgen hatte ich ja auch noch gar kein 2.4.6 auf Platte.


    Christian

    Guten Morgen,

    ich habe auf vdr-2.4.6 upgedatet und markad aus dem git aktualisiert.

    Beim Start erhalte ich


    Jan 17 11:19:15 vdr64 vdr[3183778]: [3183778] plugin /usr/local/src/VDR/PLUGINS/lib/libvdr-markad.so.2.4.6: missing symbol VDRPluginDestroyer(), please rebuild

    [...]

    Jan 17 11:19:15 vdr64 vdr[3183778]: [3183778] initializing plugin: markad (2.5.3 (0637192)): Markiere Werbung


    Ist das kritisch? Rebuild hat mich nicht wirklich weitergebracht.

    Christian

    Hier auch. Im laufenden Bild sehe ich kurz Klötzchen. Beim Setzen einer Schnittmarke und Schieben mit 4 / 6 komme ich zum angehängten Screenshot.


    Christian



    Trotzdem schade, dass wieder ein Plugin mehr kaputt ist, wie so viele andere vor ihnen...

    Weiß nicht. Live läuft bei mir für meine Zwecke ohne Probleme.


    VDR-2.2.0 wurde Februar 2015 released. Vielleicht schaust Du lieber mal, ob Du nicht irgendwann mal auf eine aktuelle Version umsteigst.

    Die wenigen User, die sich die Zeit nehmen, die Plugins hier am Laufen zu halten, haben meist eine zeitgemäße Version von vdr am Start. Weiß nicht, wie groß die Nutzerbasis von 2.2.0 noch ist.


    Christian

    This is a bug in estuary4vdr-skin, OSD parameters exceed the allocated memory area.

    I prevented the plugin from crashing, but this may result in OSD corruption.

    new version works fine, 'Ok'-button will no more trigger a crash and shows the progress-bar.


    Can also confirm that the OSD gets corrupted, but that is the same as before. When leaving a mpv-video the skin gets corrupted. Some backgrounds and icons seem to be gone until the next vdr-restart.

    This is cosmetic and not important for me. As kamel5 said, the skin is broken. But well... I like it anyway.


    Thanks for your help!


    Christian

    OK, changed to cuda and now we are 'Using hardware decoding (cuda).'.

    No change in crash.


    I tracked it down to louis skindesigner-plugin with the estuary4vdr-skin. metrixhd of same plugin works as expected, as well as LCARS with skindesigner disabled.

    So you are right, there is some conflict.


    Christian

    /tmp is writable by vdr and gets used by other plugins. EDIT: 0.0.6-GIT443be36 didn't help.


    /var/log/mpv.txt is attached


    BTW: compiler throws a warning:

    Code
    1. control.c: In Elementfunktion »void cMpvControl::ShowProgress()«:
    2. control.c:88:42: Warnung: Ausgabe der »%d«-Direktive könnte abgeschnitten sein, beim Schreiben von 1 bis 11 Bytes in eine Region der Größe 8 [-Wformat-truncation=]
    3. 88 | snprintf (buffer, sizeof(buffer), " (%d/%d)", Player->CurrentChapter(), Player->NumChapters());
    4. | ^~
    5. control.c:88:39: Anmerkung: Direktiven-Argument im Bereich [-2147483647, 2147483647]
    6. 88 | snprintf (buffer, sizeof(buffer), " (%d/%d)", Player->CurrentChapter(), Player->NumChapters());
    7. | ^~~~~~~~~~

    Since it is in ShowProgress: could that be a problem or can it be ignored? I'm no coder...


    Christian

    tried

    -h gpu [as recommended]

    -h cuda

    without change


    Code
    1. mpv:
    2. [ebuild R ] media-video/mpv-0.32.0-r1::gentoo USE="X alsa cli cuda dvd egl iconv jpeg libass libmpv lua opengl uchardet xv zlib (-aqua) -archive -bluray -cdda (-coreaudio) -cplugins -debug (-doc) -drm -dvb -gamepad -gbm -jack -javascript -lcms -libcaca -luajit -openal -oss -pulseaudio (-raspberry-pi) -rubberband -samba -sdl (-selinux) -test -tools -vaapi -vdpau -vulkan -wayland -zimg" PYTHON_TARGETS="python3_7 -python3_6 -python3_8" 0 KiB


    Christian

    Habe seit gestern das mpv-Plugin installiert [mpv (0.0.6-GIT331e328): mpv player plugin] , Quelle: https://github.com/ua0lnj/vdr-plugin-mpv


    Start mit '--plugin=mpv -a alsa -v gpu -b /video/movies -g'. Als Ausgabedevice nutze ich das softhdcuvid-Plugin. VDR ist handkompiliert auf einem gentoo-System.


    Video läuft, Ton kommt. Springen kann ich und mit Back komme ich zurück zum VDR. Fast perfekt also, wenn da nicht das OSD-Problem wäre.

    Beim Druck auf 'Ok' sollte ja vermutlich ein Fortschritts-Balken kommen. Kommt leider nicht, sondern vdr schmiert ab.


    Vielleicht habe ich etwas vergessen einzukompilieren. Bin für Hinweise dankbar.

    Christian


    Code
    1. Aug 07 14:28:54 vdr vdr[15625]: [15867] animator thread thread started (pid=15625, tid=15867, prio=high)
    2. Aug 07 14:28:54 vdr kernel: vdr[15625]: segfault at 7fa0087fd000 ip 00007fa0d78c45cf sp 00007ffcbc2fc0e0 error 6 in libvdr-mpv.so.2.4.3[7fa0d78b8000+10000]
    3. Aug 07 14:28:54 vdr kernel: Code: d2 66 2e 0f 1f 84 00 00 00 00 00 4c 89 d1 4c 89 d8 66 2e 0f 1f 84 00 00 00 00 00 44 0f b6 00 48 8b bb e8 00 00 00 48 83 c0 04 <44> 88 04 0f 44 0f b6 40 fd 48 8b bb e8 00 00 00 44 88 44 0f 01 44
    4. Aug 07 14:28:55 vdr systemd[1]: vdr.service: Main process exited, code=dumped, status=11/SEGV
    5. Aug 07 14:28:55 vdr systemd[1]: vdr.service: Failed with result 'core-dump'.


    Backtrace:


    Code
    1. (gdb) bt
    2. #0 0x00007fa0d78c45cf in cMpvOsd::WriteToMpv(int, int, int, int, int, int, unsigned char const*)
    3. (argb=<optimized out>, h=<optimized out>, w=<optimized out>, y=<optimized out>, x=<optimized out>, sh=<optimized out>, sw=<optimized out>, this=<optimized out>) at osd.c:91
    4. #1 cMpvOsd::WriteToMpv(int, int, int, int, int, int, unsigned char const*) (this=0x55988a55e7f0, sw=1878, sh=1059, x=<optimized out>, y=<optimized out>, w=<optimized out>, h=1296, argb=0x55988a62c300 "") at osd.c:77
    5. #2 0x00007fa0d78c477b in cMpvOsd::Flush() (this=0x55988a55e7f0) at /usr/local/src/vdr-2.4.4/include/vdr/osd.h:694
    6. #3 0x00007fa0d78bd083 in cMpvControl::ShowProgress() (this=0x559886097c40) at control.c:103
    7. #4 0x00007fa0d78bdd37 in cMpvControl::ProcessKey(eKeys) (this=0x559886097c40, key=<optimized out>) at control.c:240
    8. #5 0x00005598743e20e4 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at vdr.c:1413
    9. (gdb)

    Im EPGSearch plugin hatte ich einen Suchbegriff wie "(Hawaii Five-0) | (Hawaii Fünf-Null)" - Also entweder exakt das erste ODER exakt das zweite. Der Test in EPGd liefert keine Ergebnisse.

    Nimm die Leerzeichen um das '|' raus, dann matcht es auch: "(Hawaii Five-0)|(Hawaii Fünf-Null)"


    Christian

    Anders gefragt: gibt es irgendeinen wichtigen Grund, warum vdr einen 'Ordner' löschen können sollte?


    Ich fände es ausreichend, einzelne Aufnahmen mit der Fernbedienung löschen zu können. Wusste gar nicht, dass vdr da auch gleich ganze 'Ordner' auf einmal wegputzen kann.

    Wenn ich ein komplettes Verzeichnis schreddern möchte, würde ich das instinktiv auf der commandline erledigen.


    Habe das noch nie mit der Fernbedienung probiert. Vielleicht wäre es sinnvoll, wenn vdr hier eine weitere Sicherheitsabfrage bringen würde: "Order 'Reportagen' mit insgesamt 155 Aufnahmen wirklich löschen?" Das macht man ja nicht täglich.


    Christian