Tokens {currentrecording}, {nextrecording}, {isRecording} and {devices[recording]} in displaychannel will not work anymore.
This is not true.
Tokens {currentrecording}, {nextrecording}, {isRecording} and {devices[recording]} in displaychannel will not work anymore.
This is not true.
Hey louis,
ich würde mich auch sehr freuen wenn du wieder am vdr weiter arbeiten würdest.
Habe Deine Arbeit immer sehr wertgeschätzt.
Gruß
Ich hatte mit SkinFlatPlus auch den einen oder anderen Deadlock. Das Problem war da das gleiche, dass die aktiven Timer irgendwo in SetChannel abgerufen wurden. Ich habe das Timer-Holen dann einfach in einem seperaten Thread ausgelagert.
Für Skindesigner würde das dann so ausssehen (Achtung, das ist ein völlig ungetesteter Patch, der nur zeigt, wie ich das ungefair bei SkinFlatPlus gemacht habe)
Hey louis,
ich würde mich auch sehr freuen wenn du wieder am vdr weiter arbeiten würdest.
Habe Deine Arbeit immer sehr wertgeschätzt.
Gruß
Geht mir ähnlich, hast auch immer zügig und freundlich auf sämtliche Anregungen und Probleme hinsichtlich deiner Plugins reagiert. Ich fand deinen Support und den Umgang im Forum immer sehr vorbildlich.
Vielleicht findest du den Weg ja mal wieder zurück.
Gruss
Stefan
Ich glaube, es gibt viel viel mehr Skindesigner-Nutzer, als hier mit "positiven Beiträgen" auffallen.
Mich würds auch sehr freuen, wenn du weitermachen würdest; respektiere aber deine Entscheidung.
Kann mich da nur anschließen. Ohne Skindesigner ist vdr optisch so ziemlich 90er-mässig.
Erst mit skindesigner wird daraus was anständiges.
Ich würde es auch begrüßen wenn das Plugin wenigstens funktionstüchtig gehalten wird.
Louis seine Hilfe hier war auch immer sehr anständig!
Ohne Skindesigner ist vdr optisch so ziemlich 90er-mässig.
Erst mit skindesigner wird daraus was anständiges.
Kommt halt immer darauf an, wozu man es benutzt ;-).
Als Video-Spiel ist es echt etwas eintönig, da hast du recht. Ich nehme es daher eigentlich nur zum Aufnehmen und Wiedergeben von TV-Sendungen her ;-).
Klaus
@Klaus
Das ist das Problem vom VDR und weshalb das Programm auch sein Leben als Backend für Kodi fristet.. weil der Hauptentwickler ja mit seiner 90er-Jahre-Optik zufrieden ist und auch mit Einschränkungen wie kein GIT und bloß keine großen Veränderungen.. aber das steht ja im Forum schon zur genüge..
Für die Optik gibt es ja die Plugin-Schnittstelle - wenn der Autor eines Plugins dieses nicht mehr pflegen will, dann ist das seine Sache und nicht meine Schuld. Was "kein GIT" mit der Plugin-Entwicklung zu tun hat erschließt sich mir nicht.
Klaus
was prinzipiell mit der GUI möglich ist sieht man ja im demo plugin / da ginge schon einiges ....
Display MoreGeht mir ähnlich, hast auch immer zügig und freundlich auf sämtliche Anregungen und Probleme hinsichtlich deiner Plugins reagiert. Ich fand deinen Support und den Umgang im Forum immer sehr vorbildlich.
Vielleicht findest du den Weg ja mal wieder zurück.
Gruss
Stefan
Volle Zustimmung
Ich hatte mit SkinFlatPlus auch den einen oder anderen Deadlock. Das Problem war da das gleiche, dass die aktiven Timer irgendwo in SetChannel abgerufen wurden. Ich habe das Timer-Holen dann einfach in einem seperaten Thread ausgelagert.
Für Skindesigner würde das dann so ausssehen (Achtung, das ist ein völlig ungetesteter Patch, der nur zeigt, wie ich das ungefair bei SkinFlatPlus gemacht habe)
Da die Holzhammer Variante bei mir gut läuft, habe ich deine Lösung jetzt nicht mehr getestet. Trotzdem danke für den konstruktiven Beitrag!
Here we go again, but this time epg2vdr and his timer service is involved, too
I doesn't see this kind of errors on my main vdr, only on the raspberries ...
Apr 15 18:04:37 raspberrypi vdr: [584] --- begin invalid lock sequence report
Apr 15 18:04:37 raspberrypi vdr: [584] 584 W - - - - - - - - - L
Apr 15 18:04:37 raspberrypi vdr: [584] 584 * - - - R - - - - - L
Apr 15 18:04:37 raspberrypi vdr: [584] 584 * - - - U - - - - - U
Apr 15 18:04:37 raspberrypi vdr: [584] 584 U - - - - - - - - - U
Apr 15 18:04:37 raspberrypi vdr: [584] 584 W - - - - - - - - - L
Apr 15 18:04:37 raspberrypi vdr: [584] 584 U - - - - - - - - - U
Apr 15 18:04:37 raspberrypi vdr: [584] 887 R - - - - - - - - - L
Apr 15 18:04:37 raspberrypi vdr: [584] 887 U - - - - - - - - - U
Apr 15 18:04:37 raspberrypi vdr: [584] 584 R - - - - - - - - - L
Apr 15 18:04:37 raspberrypi vdr: [584] 584 U - - - - - - - - - U
Apr 15 18:04:37 raspberrypi vdr: [584] 584 - R - - - - - - - - L
Apr 15 18:04:37 raspberrypi vdr: [584] 584 - U - - - - - - - - U
Apr 15 18:04:37 raspberrypi vdr: [584] 584 W - - - - - - - - - L
Apr 15 18:04:37 raspberrypi vdr: [584] 584 * - - - R - - - - - L
Apr 15 18:04:37 raspberrypi vdr: [584] 584 * - - - U - - - - - U
Apr 15 18:04:37 raspberrypi vdr: [584] 584 U - - - - - - - - - U
Apr 15 18:04:37 raspberrypi vdr: [584] 584 W - - - - - - - - - L
Apr 15 18:04:37 raspberrypi vdr: [584] 584 U - - - - - - - - - U
Apr 15 18:04:37 raspberrypi vdr: [584] 584 - - R - - - - - - - L
Apr 15 18:04:37 raspberrypi vdr: [584] 584 - R * - - - - - - - L
Apr 15 18:04:37 raspberrypi vdr: [584] 584 invalid lock sequence: 2 Channels
Apr 15 18:04:37 raspberrypi vdr: [584] full backtrace:
Apr 15 18:04:38 raspberrypi vdr: [584] /usr/bin/vdr cStateLock::Lock(cStateKey&, bool, int) at ??:?
Apr 15 18:04:38 raspberrypi vdr: [584] /usr/bin/vdr cChannels::GetChannelsRead(cStateKey&, int) at ??:?
Apr 15 18:04:38 raspberrypi vdr[584]: invalid lock sequence at So. 15.04. 18:04
Apr 15 18:04:38 raspberrypi vdr: [584] /usr/lib/vdr/plugins/libvdr-epg2vdr.so.2.4.0 newTimerObjectFromRow(cDbRow*, cDbRow*) at ??:?
Apr 15 18:04:38 raspberrypi vdr: [584] /usr/lib/vdr/plugins/libvdr-epg2vdr.so.2.4.0 cPluginEPG2VDR::timerService(cEpgTimer_Service_V1*) at ??:?
Apr 15 18:04:38 raspberrypi vdr: [584] /usr/lib/vdr/plugins/libvdr-epg2vdr.so.2.4.0 cPluginEPG2VDR::Service(char const*, void*) at ??:?
Apr 15 18:04:38 raspberrypi vdr: [584] /usr/lib/vdr/plugins/libvdr-skindesigner.so.2.4.0 cGlobalTimers::SetEpg2VdrTimers() at ??:?
Apr 15 18:04:38 raspberrypi vdr: [584] /usr/lib/vdr/plugins/libvdr-skindesigner.so.2.4.0 cGlobalTimers::LoadTimers() at ??:?
Apr 15 18:04:38 raspberrypi vdr: [584] /usr/lib/vdr/plugins/libvdr-skindesigner.so.2.4.0 cSDDisplayReplay::SetTimeShiftValues(cRecording const*) at ??:?
Apr 15 18:04:38 raspberrypi vdr: [584] /usr/lib/vdr/plugins/libvdr-skindesigner.so.2.4.0 cSDDisplayReplay::SetRecording(cRecording const*) at ??:?
Apr 15 18:04:38 raspberrypi vdr: [584] /usr/bin/vdr cReplayControl::ShowProgress(bool) at ??:?
Apr 15 18:04:38 raspberrypi vdr: [584] /usr/bin/vdr cReplayControl::ShowTimed(int) at ??:?
Apr 15 18:04:38 raspberrypi vdr: [584] /usr/bin/vdr cReplayControl::ProcessKey(eKeys) at ??:?
Apr 15 18:04:38 raspberrypi vdr: [584] /usr/bin/vdr main at ??:?
Apr 15 18:04:38 raspberrypi vdr: [584] /lib/arm-linux-gnueabihf/libc.so.6 __libc_start_main at libc-start.c:325
Apr 15 18:04:38 raspberrypi vdr: [584] --- end invalid lock sequence report
Apr 15 18:04:38 raspberrypi vdr: [584] --- THERE WILL BE NO FURTHER REPORTS UNTIL VDR IS RESTARTED!
Display More
And some minutes later I got this:
Apr 15 18:12:36 raspberrypi vdr: [874] timer 3@vdr (2 2213-0010 'Hard Sun') set to no event
Apr 15 18:12:36 raspberrypi vdr: [874] timer 3@vdr (2 2213-0010 'Hard Sun') set to event Mo. 16.04.2018 22:15-00:00 (VPS: 16.04. 22:15) 'Hard Sun'
Apr 15 18:12:39 raspberrypi vdr: [1430] epg data writer thread started (pid=584, tid=1430, prio=low)
Apr 15 18:12:45 raspberrypi vdr: [1430] epg data writer thread ended (pid=584, tid=1430)
Apr 15 18:13:38 raspberrypi vdr: [884] SVDRP raspberrypi < 192.168.178.101:42594 client connection accepted
Apr 15 18:13:38 raspberrypi vdr: [884] SVDRP raspberrypi > 192.168.178.101:42594 server created
Apr 15 18:13:38 raspberrypi vdr: [884] SVDRP raspberrypi < 192.168.178.101:42594 lost connection to client
Apr 15 18:13:38 raspberrypi vdr: [884] SVDRP raspberrypi < 192.168.178.101:42594 connection closed
Apr 15 18:13:38 raspberrypi vdr: [884] SVDRP raspberrypi < 192.168.178.101:42594 server destroyed
Apr 15 18:14:07 raspberrypi vdr: [884] SVDRP raspberrypi < 192.168.178.101:42600 client connection accepted
Apr 15 18:14:07 raspberrypi vdr: [884] SVDRP raspberrypi > 192.168.178.101:42600 server created
Apr 15 18:14:07 raspberrypi vdr: [884] SVDRP raspberrypi < 192.168.178.101:42600 lost connection to client
Apr 15 18:14:07 raspberrypi vdr: [884] SVDRP raspberrypi < 192.168.178.101:42600 connection closed
Apr 15 18:14:07 raspberrypi vdr: [884] SVDRP raspberrypi < 192.168.178.101:42600 server destroyed
Apr 15 18:14:10 raspberrypi vdr: [1437] epg data writer thread started (pid=584, tid=1437, prio=low)
Apr 15 18:14:12 raspberrypi vdr: [1426] i/o throttle activated, count = 1 (tid=1426)
Apr 15 18:14:13 raspberrypi vdr: [1426] buffer usage: 70% (tid=1425)
Apr 15 18:14:13 raspberrypi vdr: [1426] buffer usage: 80% (tid=1425)
Apr 15 18:14:13 raspberrypi vdr: [1426] buffer usage: 90% (tid=1425)
Apr 15 18:14:13 raspberrypi vdr: [1426] buffer usage: 100% (tid=1425)
Apr 15 18:14:14 raspberrypi vdr: [1426] buffer usage: 60% (tid=1425)
Apr 15 18:14:14 raspberrypi vdr: [1426] i/o throttle released, count = 0 (tid=1426)
Apr 15 18:14:15 raspberrypi vdr: [1425] ERROR: 1 TS packet(s) not accepted in Transfer Mode
Apr 15 18:14:15 raspberrypi vdr: [858] rpihddevice: set HDMI audio output format to 2ch PCM, 48.0kHz
Apr 15 18:14:18 raspberrypi vdr: [1437] epg data writer thread ended (pid=584, tid=1437)
Apr 15 18:14:30 raspberrypi vdr: [1438] animator thread thread started (pid=584, tid=1438, prio=high)
Apr 15 18:14:31 raspberrypi vdr: [1438] animator thread thread ended (pid=584, tid=1438)
Display More
Sad but true, skindesigner isn't usable with my raspberry anymore.
Exakt denselben Fehler hab ich hier auch (noch mit vdr-2.3.8)
Der Backtrace ist ein bisschen detaillierter:
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/bin/vdr cStateLock::Lock(cStateKey&, bool, int) calling ?? at ??:0
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/bin/vdr cListBase::Lock(cStateKey&, bool, int) const calling ?? at ??:0
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/bin/vdr cChannels::GetChannelsRead(cStateKey&, int) calling ?? at ??:0
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/bin/vdr cChannels_Lock::cChannels_Lock(bool) calling ?? at ??:0
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/lib/vdr/libvdr-epg2vdr.so.2.3.8 newTimerObjectFromRow(cDbRow*, cDbRow*) at
ttools.c:40
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/lib/vdr/libvdr-epg2vdr.so.2.3.8
cPluginEPG2VDR::timerService(cEpgTimer_Service_V1*) at
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/lib/vdr/libvdr-epg2vdr.so.2.3.8 cPluginEPG2VDR::Service(char const*, void*) at
epg2vdr
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/lib/vdr/libvdr-skindesigner.so.2.3.8 cGlobalTimers::SetEpg2VdrTimers() at
globaltimers
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/lib/vdr/libvdr-skindesigner.so.2.3.8 cGlobalTimers::LoadTimers() at
globaltimers.c:32
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/lib/vdr/libvdr-skindesigner.so.2.3.8
cSDDisplayReplay::SetTimeShiftValues(cRecording c
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/lib/vdr/libvdr-skindesigner.so.2.3.8 cSDDisplayReplay::SetRecording(cRecording
const*)
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/bin/vdr cReplayControl::ShowProgress(bool) calling ?? at ??:0
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/bin/vdr cReplayControl::ShowTimed(int) calling ?? at ??:0
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/bin/vdr cReplayControl::Show() calling ?? at ??:0
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/bin/vdr cReplayControl::ProcessKey(eKeys) calling ?? at ??:0
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/bin/vdr main calling ?? at ??:0
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /lib64/libc.so.6 __libc_start_main at ??:?
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] /usr/local/bin/vdr _start calling ?? at ??:0
Apr 23 15:50:29 vdrsrv vdr[32266]: [32266] --- end invalid lock sequence report
Display More
Wenn ich nun analog zum Patch von nanohvc diesen patch anwende:
--- displayreplay.c.org 2018-04-24 10:02:05.376011264 +0200
+++ displayreplay.c 2018-04-24 09:59:52.552007065 +0200
@@ -1,4 +1,5 @@
#include "displayreplay.h"
+#include <future>
cSDDisplayReplay::cSDDisplayReplay(cViewReplay *replayView, bool ModeOnly) {
init = true;
@@ -93,7 +94,8 @@
isTimeShift = true;
else {
cGlobalTimers globalTimers;
- globalTimers.LoadTimers();
+// globalTimers.LoadTimers();
+ std::async([this](){ globalTimers.LoadTimers(); }).get();
if (globalTimers.IsRecording(recording))
isTimeShift = true;
}
Display More
bekomme ich diesen Compile error:
displayreplay.c: In lambda function:
displayreplay.c:98:30: error: 'globalTimers' is not captured
std::async([this](){ globalTimers.LoadTimers(); }).get();
^~~~~~~~~~~~
displayreplay.c:98:25: note: the lambda has no capture-default
std::async([this](){ globalTimers.LoadTimers(); }).get();
^
displayreplay.c:96:23: note: 'cGlobalTimers globalTimers' declared here
Hat dazu jemand nen Tipp ?
Damit geht es leider ach nicht:
displayreplay.c: In member function ‘void cSDDisplayReplay::SetTimeShiftValues(const cRecording*)’:
displayreplay.c:97:7: error: ‘async’ is not a member of ‘std’
std::async([&globalTimers](){ globalTimers.LoadTimers(); }).get();
^~~~~
displayreplay.c:97:7: note: suggested alternative: ‘asinh’
std::async([&globalTimers](){ globalTimers.LoadTimers(); }).get();
^~~~~
asinh
Makefile:141: recept voor doel 'displayreplay.o' is mislukt
Welche gcc-Version verwendest du?
Don’t have an account yet? Register yourself now and be a part of our community!