Hallo,
ich hatte erst softhdodroid im Verdacht, aber aktuell denke ich eher an das vdr-plugin-easyvdr.
Folgende Situation: VDR (nur mit easyvdr, softhdodroid, satip) wird über systemd oder Console gestartet und läuft. Jedoch beim Stoppen sieht das Log so aus:
Apr 20 17:20:18 CoreELEC systemd[1]: Stopping VDR Client...
Apr 20 17:20:19 CoreELEC vdr[5807]: [5855] SVDRP client handler thread ended (pid=5807, tid=5855)
Apr 20 17:20:20 CoreELEC vdr[5807]: [5854] SVDRP server handler thread ended (pid=5807, tid=5854)
Apr 20 17:20:20 CoreELEC vdr[5807]: [5807] saving /storage/.cache/vdr/cam.data
Apr 20 17:20:20 CoreELEC vdr[5807]: [5807] stopping plugin: softhdodroid
Apr 20 17:20:20 CoreELEC vdr[5807]: [5807] stopping plugin: satip
Apr 20 17:20:20 CoreELEC vdr[5807]: [5812] SATIP discover thread ended (pid=5807, tid=5812)
Apr 20 17:20:20 CoreELEC vdr[5807]: [5811] SATIP poller thread ended (pid=5807, tid=5811)
Apr 20 17:20:20 CoreELEC vdr[5807]: [5807] stopping plugin: control
Apr 20 17:20:20 CoreELEC vdr[5807]: [5807] stopping plugin: easyvdr
Apr 20 17:20:20 CoreELEC vdr[5807]: [5807] [softhddev]SetPlayMode: 0
Apr 20 17:20:20 CoreELEC vdr[5807]: [5807] [softhddev]SetVolumeDevice: 55
Apr 20 17:20:20 CoreELEC vdr[5807]: Set Playmode 0
Apr 20 17:20:20 CoreELEC vdr[5807]: video: reset start
Apr 20 17:20:20 CoreELEC vdr[5807]: video: new stream start
Apr 20 17:20:20 CoreELEC vdr[5807]: [5807] [softhddev]SetVideoDisplayFormat: 1
Apr 20 17:20:20 CoreELEC vdr[5807]: [5807] [softhddev]GetSpuDecoder:
Apr 20 17:20:20 CoreELEC kernel: asoc-aml-card auge_sound: S/PDIF[1] Playback disable
Apr 20 17:20:48 CoreELEC systemd[1]: vdropt.service: State 'final-sigterm' timed out. Killing.
Apr 20 17:20:48 CoreELEC systemd[1]: vdropt.service: Killing process 5807 (vdr) with signal SIGKILL.
Apr 20 17:20:48 CoreELEC systemd[1]: vdropt.service: Failed with result 'timeout'.
Apr 20 17:20:48 CoreELEC systemd[1]: vdropt.service: Unit process 5807 (vdr) remains running after unit stopped.
Apr 20 17:20:48 CoreELEC systemd[1]: Stopped VDR Client.
Display More
systemd muss irgendwann nach einem Timeout härter durchgreifen um den VDR wirklich zu stoppen. Auf der Console muss ich auch zweimal ctrl+c drücken um wieder auf die Shell zu kommen.
Starte ich den VDR jedoch auf konventionelle Art und Weise ohne easyvdr, dann beendet sich der VDR relativ schnell und das Log sieht anders aus. softhdodroid wird anscheinend auch dazu angehalten ein wenig mehr aufzuräumen um z.B. Threads zu beenden:
Apr 20 18:05:27 CoreELEC vdr[28198]: [28240] SVDRP client handler thread ended (pid=28198, tid=28240)
Apr 20 18:05:28 CoreELEC vdr[28198]: [28239] SVDRP server handler thread ended (pid=28198, tid=28239)
Apr 20 18:05:28 CoreELEC vdr[28198]: [28198] saving /storage/.cache/vdr/cam.data
Apr 20 18:05:28 CoreELEC vdr[28198]: [28198] stopping plugin: satip
Apr 20 18:05:28 CoreELEC vdr[28198]: [28201] SATIP poller thread ended (pid=28198, tid=28201)
Apr 20 18:05:28 CoreELEC vdr[28198]: [28198] stopping plugin: softhdodroid
Apr 20 18:05:28 CoreELEC vdr[28198]: [28198] [softhddev]SetPlayMode: 0
Apr 20 18:05:28 CoreELEC vdr[28198]: [28198] [softhddev]SetVolumeDevice: 55
Apr 20 18:05:28 CoreELEC vdr[28198]: Set Playmode 0
Apr 20 18:05:28 CoreELEC vdr[28198]: video: reset start
Apr 20 18:05:28 CoreELEC vdr[28198]: video: new stream start
Apr 20 18:05:28 CoreELEC vdr[28198]: [28198] [softhddev]SetVideoDisplayFormat: 1
Apr 20 18:05:28 CoreELEC vdr[28198]: [28198] [softhddev]GetSpuDecoder:
Apr 20 18:05:28 CoreELEC vdr[28198]: [28198] [softhddev]stopping OpenGL Worker Thread
Apr 20 18:05:28 CoreELEC vdr[28198]: [28238] device 2 receiver thread ended (pid=28198, tid=28238)
Apr 20 18:05:28 CoreELEC vdr[28198]: video/Odroid: closing eof
Apr 20 18:05:28 CoreELEC vdr[28198]: [28242] [softhddev]Cleaning up OpenGL stuff
Apr 20 18:05:28 CoreELEC vdr[28198]: [28242] [softhddev]OglThread cleanup
Apr 20 18:05:28 CoreELEC kernel: fb: clear: osd 0
Apr 20 18:05:28 CoreELEC vdr[28198]: [28242] [softhddev]OpenGL Worker Thread Ended
Apr 20 18:05:28 CoreELEC vdr[28198]: [28242] oglThread thread ended (pid=28198, tid=28242)
Apr 20 18:05:28 CoreELEC vdr[28198]: [28198] [softhddev]OpenGL Worker Thread stopped
Apr 20 18:05:28 CoreELEC vdr[28198]: [28237] KBD remote control thread ended (pid=28198, tid=28237)
Apr 20 18:05:28 CoreELEC vdr[28198]: [28198] saved setup to /storage/.config/vdropt/setup.conf
Apr 20 18:05:28 CoreELEC vdr[28198]: [28204] device 2 section handler thread ended (pid=28198, tid=28204)
Apr 20 18:05:28 CoreELEC vdr[28198]: [28203] SATIP#0 section handler thread ended (pid=28198, tid=28203)
Apr 20 18:05:29 CoreELEC vdr[28198]: [28202] SATIP#0 tuner thread ended (pid=28198, tid=28202)
Apr 20 18:05:29 CoreELEC kernel: asoc-aml-card auge_sound: S/PDIF[1] Playback disable
Apr 20 18:05:29 CoreELEC vdr[28198]: [28198] deleting plugin: satip
Apr 20 18:05:29 CoreELEC vdr[28198]: [28198] deleting plugin: softhdodroid
Apr 20 18:05:29 CoreELEC vdr[28198]: VideoStreamClose
Apr 20 18:05:29 CoreELEC vdr[28198]: CodecVideoClose Pip 0 Handle 48
Apr 20 18:05:29 CoreELEC kernel: spdif_b keep clk continuous
Apr 20 18:05:29 CoreELEC kernel: audio_ddr_mngr: frddrs[1] released by device ff660000.audiobus:spdif@1
Apr 20 18:05:29 CoreELEC kernel: vframe_rate_uevent: sent uevent FRAME_RATE_HINT=0
Apr 20 18:05:29 CoreELEC kernel: PPMGRVPP: info: task: quit
Apr 20 18:05:29 CoreELEC kernel: ppmgr local_init
Apr 20 18:05:29 CoreELEC kernel: dim:ch[0]:di_receiver_event_fun,1:_UNREG
Apr 20 18:05:29 CoreELEC kernel: disabled amvideo on vd1 for next before free keep buffer!
Apr 20 18:05:29 CoreELEC kernel: VID: VD1 off
Apr 20 18:05:29 CoreELEC kernel: keep exit is skip current
Apr 20 18:05:29 CoreELEC kernel: video_vf_unreg_provider: vd1 used: true, vd2 used: false, keep_ret:0, black_out:1, cur_dispbuf:000000002aa1fc9d
Apr 20 18:05:29 CoreELEC kernel: video first pts = 0
Apr 20 18:05:29 CoreELEC kernel: keep frame skip, disable video again.
Apr 20 18:05:29 CoreELEC kernel: disabled amvideo on vd1 for next before free keep buffer!
Apr 20 18:05:29 CoreELEC kernel: VID: VD1 off
Apr 20 18:05:29 CoreELEC kernel: VD1 AFBC 0x0.
Apr 20 18:05:29 CoreELEC kernel: dim:unreg:2keep[0], msk:[0x0,0x0]
Apr 20 18:05:29 CoreELEC kernel: dim:unreg:use[11]ms
Apr 20 18:05:29 CoreELEC kernel: vdec_disable_DMC input->target= 0x0
Apr 20 18:05:29 CoreELEC kernel: 0: vh264_stop
Apr 20 18:05:29 CoreELEC kernel: vdec_release instance 000000004f8115c8, total 1 id = 0
Apr 20 18:05:29 CoreELEC kernel: the clk_vdec_mux clock off, ref cnt: 0
Apr 20 18:05:29 CoreELEC kernel: the vdec clock off, ref cnt: 0
Apr 20 18:05:29 CoreELEC kernel: the parser_top clock off, ref cnt: 0
Apr 20 18:05:29 CoreELEC kernel: the demux clock off, ref cnt: 0
Apr 20 18:05:29 CoreELEC kernel: vfm_map_store:rm pip0
Apr 20 18:05:29 CoreELEC vdr[28198]: internal close pip 0
Apr 20 18:05:29 CoreELEC vdr[28198]: VideoExit
Apr 20 18:05:29 CoreELEC vdr[28198]: video: video thread canceled
Apr 20 18:05:29 CoreELEC vdr[28198]: decoder thread exit
Apr 20 18:05:30 CoreELEC vdr[28198]: DelHWDecoder PIP 0
Apr 20 18:05:30 CoreELEC kernel: fb: osd[0] canvas.idx =0x40
Apr 20 18:05:30 CoreELEC kernel: fb: osd[0] canvas.addr=0xed800000
Apr 20 18:05:30 CoreELEC kernel: fb: osd[0] canvas.width=7680
Apr 20 18:05:30 CoreELEC kernel: fb: osd[0] canvas.height=2160
Apr 20 18:05:30 CoreELEC kernel: fb: osd[0] frame.width=1920
Apr 20 18:05:30 CoreELEC kernel: fb: osd[0] frame.height=1079
Apr 20 18:05:30 CoreELEC kernel: fb: osd[0] out_addr_id =0x1
Apr 20 18:05:30 CoreELEC kernel: vfm_map_store:rm all
Apr 20 18:05:30 CoreELEC kernel: vfm_map_store:add default decoder amvideo
Apr 20 18:05:30 CoreELEC kernel: vfm_map_store:add default_amlvideo2 vdin1 amlvideo2.1
Apr 20 18:05:30 CoreELEC kernel: vfm_map_store:add dvblpath dvbldec amvideo
Apr 20 18:05:30 CoreELEC kernel: vfm_map_store:add dvelpath dveldec dvel
Apr 20 18:05:30 CoreELEC kernel: vfm_map_store:add dvhdmiin dv_vdin amvideo
Apr 20 18:05:30 CoreELEC kernel: audio_dsp: IEC958_mode_codec= 0, IEC958 type 2 CH PCM
Apr 20 18:05:30 CoreELEC kernel: audio_dsp: last mode 0,now 0
Apr 20 18:05:30 CoreELEC vdr[28198]: [28198] caught signal 2
Apr 20 18:05:30 CoreELEC vdr[28198]: [28198] exiting, exit code 0
Apr 20 18:05:30 CoreELEC kernel: fb: osd_release now.index=0,open_count=1
Apr 20 18:05:30 CoreELEC kernel: fb: osd_release now.index=1,open_count=1
Apr 20 18:05:30 CoreELEC kernel: fb: osd_release now.index=2,open_count=1
Apr 20 18:05:30 CoreELEC kernel: fb: osd_release now.index=3,open_count=1
Display More
Gibt es dazu eine Idee? Liege ich mit meinem Verdacht (easyvdr) überhaupt richtig?
Die Idee hinter easyvdr finde ich ziemlich gut (auch gerade mit control) und würde es gerne beibehalten. Aber aktuell ist es einfach langweilig, auf den Timeout zu warten.
Zabrimus