ezequielg: the zoran driver is too complicated for being started from scratch, lot of part I dont understand (videocodec) Hello guys, I get a full crash after a certain amount of time (20sec - 40min) of my gstreamer pipeline which is using the v4l2h264dec element. Error is related to the buffer allocator. The output produced until then is perfectly fine. The error is related to buffer allocator of v4l2.: Pipeline: https://bpaste.net/UWBQ Explicit error message: https://bpaste.net/UVJA Full debug log: https://termbin.com/k8jjw matthias_arch: any specific bitstream? ezequielg: can you please be more specific? I'm having an rtsp input stream ah, matthias_arch that's a raspberrypi? yes hm, i don't think that driver is upstream, is it? yes it was included by default, didn't have to install anything hm, right. but it's not in upstream (aka mainline) linux. it's something raspberry folks provide you. so we can't really debug it, fix it or anything. uff that sounds bad, unfortunately for gstreamer questions you might ask https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel ezequielg: I've already been in their IRC but they don't seem to be very interested I guess I'll try the mailing list have you tried some raspberry specific forum? ezequielg: yes I did, I'm on this problem since friday. I also tried omx as an hardware decoder but it is not even starting up the pure v4l pipeline is producing perfect results but it is sadly not stable with regards to this buffer issue hverkuil: ping for "[PATCH v7 3/6] media: v4l2: Extend VIDIOC_ENUM_FMT to support MC-centric devices" :-) pinchartl: that patch is fine. \o/ thanks I like that change, it makes a lot of sense. tfiga: whether or not capabilities are known in v4l2_requestbuffers is driver dependent. There are still non-vb2 drivers and those won't set capabilities, regardless of the kernel version. hverkuil: would you be able to reply with a Reviewed-by ? hverkuil: oh, I thought everything in V4L2 was converted to vb2 still, I wonder if it isn't confusing to userspace developers hello what means the error v4l2-compliance.cpp(671): dcaps & output_caps montjoie: device_caps as reported by QUERTCAP has both input and output capabilities. That should not happen. hverkuil: if we broken a downstream driver with the ORPHANING, is that considered an ABI break ? https://github.com/raspberrypi/linux/issues/3560 hverkuil: thanks ndufresne: No. Out-of-tree drivers are on their own. Not our responsibility, and also the reason why you should upstream drivers :-) hverkuil: ok, make sense, it's also dead simple to fix, just need to clear that flag right ? I don't think RPi have any bad intention there though, they wrote all this while changing the firmware interface, and until the firmware is stable they were worried of upstreaming ndufresne: what would it take to fix the problem while keeping the buffer orphaning flag ? ndufresne: I doubt it is related to orphaned buffers: vb2 sets that flag since it is vb2 that takes care of that, not the driver. I thought it was mostly a feature that drivers got for free from vb2 huh, great minds think alike :-) It looks like stop_streaming doesn't properly call vb2_buffer_done for outstanding buffers. That's causing the trace. is there a good way to indicate that more data was recieved for a frame than what fits into the frame memory? larsc: there is a patch (https://patchwork.linuxtv.org/patch/60244/) that adds support for that, but only in the context of stateful encoders. For video receivers (i.e. for raw video) this does not make sense. pinchartl: that's a question for the firmware engineer at RPi the firmware is designed around d'OMX, and OMX is designed to have this limitation hverkuil: dmabuf in that case are proxied on the firmware side, so I guess they have some OMX design around how to keep both side in sync hverkuil: thanks