Dann belästige ich dich auch nicht mehr
Scherzkeks. Am besten ich beschwere mich jetzt noch das du mir hilfst.
meld dich wenn es was zum testen gibt
jetzt noch mit 0xf
Dann belästige ich dich auch nicht mehr
Scherzkeks. Am besten ich beschwere mich jetzt noch das du mir hilfst.
meld dich wenn es was zum testen gibt
jetzt noch mit 0xf
So jetzt nochmal mit debug gestartet
Sollte drin sein, ansonsten mach es gerne nochmal
yep jetzt geht es
Jetzt aber
ich bin gerade zu blöd, das passt doch oder ?
#
# Makefile for a Video Disk Recorder plugin
#
# $Id: 038a2570d1911514cb82185bd39e715cb1b16089 $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
PLUGIN = softhddevice-drm
### Configuration (edit this for your needs)
# enable this for MMAL (RaspberryPi 2)
MMAL ?= 0
# Use OpenGL/ES for OSD? Disable autodetection by setting GLES=1 or GLES=0 with make command
GLES ?= $(shell pkg-config --exists glesv2 egl gbm && echo 1)
CONFIG := -DDEBUG # enable debug output+functions
#CONFIG += -DAV_SYNC_DEBUG # enable debug messages AV_SYNC
#CONFIG += -DSOUND_DEBUG # enable debug messages SOUND
#CONFIG += -DOSD_DEBUG # enable debug messages OSD
CONFIG += -DDRM_DEBUG # enable debug messages in drm configuration
#CONFIG += -DCODEC_DEBUG # enable debug messages in codec configuration
#CONFIG += -DSTILL_DEBUG # still picture debug
#CONFIG += -DMEDIA_DEBUG # media player debug
Alles anzeigen
Bitte sehr, ich hoffe das passt
[softhddev]CreateOsd:
[softhddev]cSoftOsd:
Frame2Display: page flip failed (22): Das Argument ist ungültig
Thread 18 "vdr" received signal SIGABRT, Aborted.
[Switching to Thread 0x9c2fc400 (LWP 4609)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt full
#0 0xb6aeef14 in __GI_raise (sig=sig@entry=6)
at ../sysdeps/unix/sysv/linux/raise.c:50
set =
{__val = {0, 0, 2620374056, 68, 160, 3, 0, 16, 1, 2620374056, 262037 3936, 2620373936, 3064924136, 4825136, 16, 5, 2620374056, 1920, 160, 5, 5, 48251 36, 5, 2620374056, 4825136, 160, 3064923684, 4825056, 16, 10, 2620374056, 68}}
pid = <optimized out>
tid = <optimized out>
#1 0xb6ada230 in __GI_abort () at abort.c:79
save_stage = 1
act =
{__sigaction_handler = {sa_handler = 0xffffffea, sa_sigaction = 0xffff ffea}, sa_mask = {__val = {3479656, 4864920, 5510836, 89, 3033666860, 3058065408 , 3070224744, 4864848, 1, 0, 2620374160, 1, 1, 4898768, 0, 3479656, 0, 5510800, 2158000896, 4864848, 3070224744, 2620376064, 3070187840, 338, 2158000896, 262037 6064, 2158000896, 2620376064, 3066092784, 2620376064, 3070187840, 338}}, sa_flag s = -1090523070, sa_restorer = 0x9c2fc400}
sigs = {__val = {32, 0 <repeats 31 times>}}
#2 0xb64479fc in Frame2Display (render=0x493870) at video_drm.c:1261
buf = 0x0
frame = 0x0
primedata = 0x0
audio_pts = 144637512956
--Type <RET> for more, q to quit, c to continue without paging--
Alles anzeigen
Nov 26 13:24:06 raspberrypi vdr: [4573] [softhddev]SetPlayMode: 0
Nov 26 13:24:06 raspberrypi vdr: audio: wait on start condition
Nov 26 13:24:06 raspberrypi vdr: audio/alsa: flush state RUNNING
Nov 26 13:24:06 raspberrypi vdr: [4573] [softhddev]SetVideoDisplayFormat: 1
Nov 26 13:24:06 raspberrypi vdr: [4573] [softhddev]GetSpuDecoder:
Nov 26 13:24:06 raspberrypi vdr: [4573] replay /usr/video/Serien/Die_Rosenheim-Cops/Staffel_10/28._-_Erbschaft_mit_Folgen/2021-10-21$
Nov 26 13:24:06 raspberrypi vdr: [4573] playing '/usr/video/Serien/Die_Rosenheim-Cops/Staffel_10/28._-_Erbschaft_mit_Folgen/2021-10-$
Nov 26 13:24:06 raspberrypi vdr: [4605] device 2 receiver thread ended (pid=4573, tid=4605)
Nov 26 13:24:06 raspberrypi vdr: [4573] loading /usr/video/Serien/Die_Rosenheim-Cops/Staffel_10/28._-_Erbschaft_mit_Folgen/2021-10-2$
Nov 26 13:25:07 raspberrypi lircd[632]: lircd-0.10.1[632]: Info: removed client
Nov 26 13:25:07 raspberrypi lircd[632]: lircd-0.10.1[632]: Info: closing '/dev/input/event0'
Nov 26 13:25:07 raspberrypi lircd-0.10.1[632]: Info: removed client
Nov 26 13:25:07 raspberrypi lircd-0.10.1[632]: Info: closing '/dev/input/event0'
Alles anzeigen
Wenn ich eine Aufnahme starte kommt folgender Fehler
Frame2Display: page flip failed (22): Das Argument ist ungültig
Thread 18 "vdr" received signal SIGABRT, Aborted.
[Switching to Thread 0x9c3fc400 (LWP 7146)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt full
#0 0xb6aeef14 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
set =
{__val = {0, 0, 2621422632, 68, 160, 3, 0, 16, 1, 2621422632, 2621422512, 2621422512, 3064924136, 2912060880, 16, 5, 2621422632, 1920, 160, 5, 5, 2912060880, 5, 2621422632, 2912060880, 160, 3064923684, 2912060800, 16, 10, 2621422632, 68}}
pid = <optimized out>
tid = <optimized out>
#1 0xb6ada230 in __GI_abort () at abort.c:79
save_stage = 1
act =
{__sigaction_handler = {sa_handler = 0xffffffea, sa_sigaction = 0xffffffea}, sa_mask = {__val = {2606555400, 2912005480, 2912010572, 89, 3033 675052, 3058065408, 3070224744, 2912005408, 1, 0, 2621422736, 1, 1, 2606481032, 0, 2606555400, 0, 2912010536, 2272972032, 2912005408, 3070224744, 26214 24640, 3070187840, 338, 2272972032, 2621424640, 2272972032, 2621424640, 3066092784, 2621424640, 3070187840, 338}}, sa_flags = -1090523054, sa_restorer = 0x9c3fc400}
sigs = {__val = {32, 0 <repeats 31 times>}}
#2 0xb6448e20 in Frame2Display (render=0x493ba0) at video_drm.c:1261
buf = 0x0
frame = 0x0
primedata = 0x0
audio_pts = -5277990062211215764
video_pts = -5260229203958169584
i = -1673542656
ModeReq = 0x9b5c8be0
flags = 1
diff = -1393557436
DispWidth = 13134290919593341010
DispHeight = 4294967296
DispX = 13134361388212289536
DispY = 0
PicWidth = 13183138112022249472
PicHeight = 13091025222356680068
#3 0xb6448f18 in DisplayHandlerThread (arg=0x493ba0) at video_drm.c:1289
render = 0x493ba0
#4 0xb6f37494 in start_thread (arg=0x9c3fc400) at pthread_create.c:486
ret = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
Alles anzeigen
Aktuell nicht
Also, wenn ich bei den Einstellungen habe -> pause bei springen < Ja > , habe ich keinen Fehler.
Wenn keine Pause eingestellt ist kommt nach einer gewissen Zeit folgendes Problem
[New Thread 0x9a47d400 (LWP 19115)]
[New Thread 0x9ac7e400 (LWP 19116)]
[New Thread 0x9b47f400 (LWP 19117)]
Thread 1 "vdr" received signal SIGSEGV, Segmentation fault.
decode_receive_frame_internal (avctx=avctx@entry=0x4508e0, frame=frame@entry=0x0) at libavcodec/decode.c:548
548 AVCodecInternal *avci = avctx->internal;
(gdb) bt full
#0 0xb5255d7c in decode_receive_frame_internal (avctx=avctx@entry=0x4508e0, frame=frame@entry=0x0) at libavcodec/decode.c:548
avci = <optimized out>
ret = <optimized out>
#1 0xb5256e2c in avcodec_receive_frame (avctx=0x4508e0, frame=0x0) at libavcodec/decode.c:662
avci = 0x4bc160
ret = <optimized out>
changed = <optimized out>
#2 0xb6450714 in CodecVideoReceiveFrame (decoder=0x48cba8, no_deint=1) at codec.c:356
ret = -876746752
#3 0xb6444cbc in StillPicture (data=0x57f070 "", size=185374) at softhddev.c:1329
avpkt = 0xb6466950 <MyVideoStream+32>
pos = 0x5ac48e ""
size_rest = 0
codec = 27
i = 0
pes_length = 54319
head_length = 9
#4 0xb643bff8 in cSoftHdDevice::StillPicture(unsigned char const*, int) (this=0x416908, data=0x57f070 "", length=185374) at softhddevice-drm.cpp:982
__FUNCTION__ = "StillPicture"
#5 0x000b8434 in cDevice::StillPicture(unsigned char const*, int) (this=0x416908, Data=0xbef312c8 "", Length=0) at device.c:1326
TsToPes = {data = 0x551c60 "", size = 185356, length = 185356, offset = 185356, lastData = 0x571c3d "", lastLength = 54319, repeatLast = false}
buf = 0x57f070 ""
Size = 185374
l = 54319
#6 0xb643bf7c in cSoftHdDevice::StillPicture(unsigned char const*, int) (this=0x416908, data=0xbeeff0d8 "G@", length=205296) at softhddevice-drm.cpp:972
__FUNCTION__ = "StillPicture"
#7 0x000d55a4 in cPlayer::DeviceStillPicture(unsigned char const*, int) (this=0x44d828, Data=0xbeeff0d8 "G@", Length=205296) at player.h:36
#8 0x000d43ec in cDvbPlayer::Goto(int, bool) (this=0x44d828, Index=19333, Still=true) at dvbplayer.c:913
b = Python Exception <class 'gdb.error'> value requires 1048476 bytes, which is more than max-value-size:
#9 0x000d4ec4 in cDvbPlayerControl::Goto(int, bool) (this=0xaa306710, Position=19333, Still=true) at dvbplayer.c:1074
#10 0x00122798 in cReplayControl::MarkJump(bool) (this=0xaa306710, Forward=false) at menu.c:6851
m = 0x549160
Current = 80590
Total = 209907
#11 0x001236e8 in cReplayControl::ProcessKey(eKeys) (this=0xaa306710, Key=k7) at menu.c:7025
DisplayedFrames = false
DoShowMode = false
#12 0x001d22c8 in main(int, char**) (argc=14, argv=0xbefff6a4) at vdr.c:1413
state = osUnknown
key = k7
Interact = 0xaa306710
Control = 0xaa306710
Now = 1636482296
NeedsFastResponse = true
ControlMutexLock = {mutex = 0x2891a8 <cControl::mutex>, locked = true}
NewPrimaryDVB = 1
PreviousChannelIndex = 0
LastChannelChanged = 1636482244
IsInfoMenu = false
OldPrimaryDVB = 1
Menu = 0x0
LastChannel = 1
LastTimerChannel = -1
--Type <RET> for more, q to quit, c to continue without paging--
Alles anzeigen
rell Das 4:3 Problem scheint gelöst zu sein .
Leider kann ich jetzt keine Aufnahmen mehr anschauen da der VDR abstürtzt
CodecVideoFlushBuffers: VideoCtx 0x9be14340
CodecVideoClose: VideoCtx 0x9be14340
[softhddev]GetSpuDecoder:
[Thread 0xadaca400 (LWP 10983) exited]
[softhddev]CreateOsd:
[softhddev]cSoftOsd:
Frame2Display: page flip failed (22): Das Argument ist ungültig
Thread 18 "vdr" received signal SIGABRT, Aborted.
[Switching to Thread 0x9ccfc400 (LWP 10987)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt full
#0 0xb6aeef14 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
set =
{__val = {0, 0, 2630859808, 68, 160, 3, 0, 16, 1, 2630859808, 2630859688, 2630859688, 3064924136, 4862448, 16, 5, 2630859808, 1920, 160, 5, 5, 4862448, 5, 2630859808, 4862448, 160, 3064923684, 4862368, 16, 10, 2630859808, 68}}
pid = <optimized out>
tid = <optimized out>
#1 0xb6ada230 in __GI_abort () at abort.c:79
save_stage = 1
act =
{__sigaction_handler = {sa_handler = 0xffffffea, sa_sigaction = 0xffffffea}, sa_mask = {__val = {4982184, 5511584, 4951964, 89, 3033666860, 3058065408, 3070224744, 5511512, 1, 0, 2630859912, 1, 1, 4835016, 0, 4982184, 0, 4951928, 2707628032, 5511512, 3070224744, 2630861824, 3070187840, 338, 2707628032, 2630861824, 2707628032, 2630861824, 3066092784, 2630861824, 3070187840, 338}}, sa_flags = -1090523070, sa_restorer = 0x9ccfc400}
sigs = {__val = {32, 0 <repeats 31 times>}}
#2 0xb6447a4c in Frame2Display (render=0x492100) at video_drm.c:1268
buf = 0x0
frame = 0xb6c0b6d8 <_IO_helper_jumps>
primedata = 0x0
audio_pts = 144350078364
video_pts = 141733920801
i = -1224779456
ModeReq = 0x4b83a8
flags = 1
diff = -1678809952
DispWidth = 11299465497432973312
DispHeight = 13164589986516828160
DispX = 13168731039364808737
DispY = 13133952971182178305
PicWidth = 144800013552
PicHeight = 13164788417063890084
#3 0xb6447b60 in DisplayHandlerThread (arg=0x492100) at video_drm.c:1296
render = 0x492100
#4 0xb6f37494 in start_thread (arg=0x9ccfc400) at pthread_create.c:486
ret = <optimized out>
pd = 0x9ccfc400
unwind_buf =
{cancel_jmp_buf = {{jmp_buf = {205622831, 645743743, -1224742552, -1664105472, -1224779456, 338, -1090523070, -1664105472, 0, -1664106692, 0 <repeats 54 times>}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#5 0xb6b9a568 in () at ../sysdeps/unix/sysv/linux/arm/clone.S:73
(gdb)
Alles anzeigen
Wenn ich jetzt die direkt Aufnahme, und drücken der Pause Taste auf dem Server als Timer anlegen möchte, kann ich da auch deinen patch verwenden.
Ich verwende einen Raspi als Client und würde ungern einen HD auf die SD Karte speichern
sieht sehr gut
Im Make.config von vdr oder im Makefile von softhddevice-drm?
softhddevice-drm
Ok ich fasse noch mal zusammen:
Ziller Code:
Bei jedem Umschalten kommt der Fehler.
rella Code:
Fehler kommt nur beim Umschalten von HD nach HD. Wenn ich den Debug modus im Makefile aktiviere ist das Problem weg.
Raspberry 4: RaspberryOS aktuell
VDR: git clone --branch stable/2.4 git://git.tvdr.de/vdr.git/
Make.config: siehe Anhang Make.txt
DRM Makefile: unverändert
Wenn ich dich unterstützen kann, lass es mich wissen. Ich tu was ich kann
Anbei das Log
gdb:
CodecVideoReceiveFrame: receive_frame ret: Die Ressource ist zur Zeit nicht verfügbar
CodecVideoReceiveFrame: receive_frame ret: Die Ressource ist zur Zeit nicht verfügbar
CodecVideoReceiveFrame: receive_frame ret: Die Ressource ist zur Zeit nicht verfügbar
VideoFilterInit: filter bwdif=1:-1:0
[New Thread 0x948fc400 (LWP 15747)]
[New Thread 0x940fb400 (LWP 15748)]
[New Thread 0x938fa400 (LWP 15749)]
[New Thread 0x930f9400 (LWP 15750)]
[New Thread 0x928f8400 (LWP 15751)]
Frame2Display: start PTS 8:13:42.771
AudioPlayHandlerThread: nach pthread_cond_wait ----> 454ms start
[softhddev]~cSoftOsd:
[softhddev]CreateOsd:
[softhddev]cSoftOsd:
[softhddev]SetPlayMode: 0
SetPlayMode: play_mode 0
VideoSetClosing: buffers 5 StartCounter 1073
VideoSetClosing: pthread_cond_wait
Frame2Display: set a black FB
Thread 18 "vdr" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x98efc400 (LWP 15737)]
0xb6447c50 in Frame2Display (render=0x5d8610) at video_drm.c:905
905 PicWidth = render->mode.vdisplay * av_q2d(frame->sample_aspect_ratio) *
(gdb) bt full
#0 0xb6447c50 in Frame2Display (render=0x5d8610) at video_drm.c:905
buf = 0x5d9434
frame = 0x152
primedata = 0x0
audio_pts = -7085115178552091348
video_pts = -4683760852464041646
i = -1649632208
diff = -1649632208
ModeReq = 0x5fd208
flags = 1
PicWidth = 1920
#1 0xb6447f70 in DisplayHandlerThread (arg=0x5d8610) at video_drm.c:952
render = 0x5d8610
#2 0xb6f3c494 in start_thread (arg=0x98efc400) at pthread_create.c:486
ret = <optimized out>
pd = 0x98efc400
unwind_buf =
{cancel_jmp_buf = {{jmp_buf = {1486724130, 1988224626, -1224742552, -1729117184, -1224779456, 338, -1090523054, -1729117184, 0, -1729118404, 0 <repeats 54 times>}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#3 0xb6b9f568 in () at ../sysdeps/unix/sysv/linux/arm/clone.S:73
(gdb)
Alles anzeigen
LOG:
ct 30 10:07:51 raspberrypi vdr: audio: start? in Rb 406ms to skip 0ms
Oct 30 10:07:51 raspberrypi vdr: audio: start? in Rb 430ms to skip 0ms
Oct 30 10:07:51 raspberrypi vdr: audio: start? in Rb 454ms to skip 0ms
Oct 30 10:07:51 raspberrypi vdr: audio: ----> 454ms start
Oct 30 10:08:12 raspberrypi vdr: [15697] [softhddev]SetPlayMode: 0
Oct 30 10:09:05 raspberrypi lircd[647]: lircd-0.10.1[647]: Info: removed client
Oct 30 10:09:05 raspberrypi lircd[647]: lircd-0.10.1[647]: Info: closing '/dev/input/event0'
so jetzt nochmal zur Vervollständigung die Stelle wo ich in rellas code hängenbleibe:
Hier ist es aber nur der Fall beim Umschalten von HD-Kanälen, und wenn ich den debug Modus im Plugin aktiviere ist es ganz weg
Thread 18 "vdr" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x98efc400 (LWP 3515)]
0xb6448a00 in Frame2Display (render=0x5d8670) at video_drm.c:1192
1192 PicWidth = render->mode.vdisplay * av_q2d(frame->sample_aspect_ratio) *
(gdb) bt full
#0 0xb6448a00 in Frame2Display (render=0x5d8670) at video_drm.c:1192
PicWidth = 1920
PicHeight = 1080
buf = 0x5d953c
frame = 0x30
primedata = 0x0
audio_pts = 3201150041437676668
video_pts = -7737567339624791726
i = -1729118716
diff = -1801542784
ModeReq = 0x9aaea278
flags = 1
#1 0xb6448ff0 in DisplayHandlerThread (arg=0x5d8670) at video_drm.c:1290
render = 0x5d8670
#2 0xb6f3c494 in start_thread (arg=0x98efc400) at pthread_create.c:486
ret = <optimized out>
pd = 0x98efc400
unwind_buf =
{cancel_jmp_buf = {{jmp_buf = {1723049046, 1219485190, -1224742552, -1729117184, -1224779456, 338, -1090523038, -1729117184, 0, -1729118404, 0 <repeats 54 times>}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#3 0xb6b9f568 in () at ../sysdeps/unix/sysv/linux/arm/clone.S:73
(gdb)
Alles anzeigen
War wohl doch zu spät und zu schnell
hier jetzt nochmal mit deinem Code
Thread 18 "vdr" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x98ffc400 (LWP 14454)]
0xb644906c in Frame2Display (render=0x5d84d0) at video_drm.c:905
905 PicWidth = render->mode.vdisplay * av_q2d(frame->sample_aspect_ratio) *
(gdb) bt full
#0 0xb644906c in Frame2Display (render=0x5d84d0) at video_drm.c:905
buf = 0x5d92f4
frame = 0x152
primedata = 0x0
audio_pts = -5984391270230709316
video_pts = -4683760715025088174
i = -1393349952
diff = -1393349952
ModeReq = 0x9a905900
flags = 1
PicWidth = 1920
#1 0xb6449384 in DisplayHandlerThread (arg=0x5d84d0) at video_drm.c:952
render = 0x5d84d0
#2 0xb6f3c494 in start_thread (arg=0x98ffc400) at pthread_create.c:486
ret = <optimized out>
pd = 0x98ffc400
unwind_buf =
{cancel_jmp_buf = {{jmp_buf = {101357366, 671542630, -1224742552, -1728068608, -1224779456, 338, -1090523022, -1728068608, 0, -1728069828, 0 <repeats 54 times>}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#3 0xb6b9f568 in () at ../sysdeps/unix/sysv/linux/arm/clone.S:73
Alles anzeigen