v4l2loopback and v4l2-mem2mem framework

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi there linux-media experts,

I am working on the out-of-tree v4l2loopback module[1]. My
current goal is to implement the videobuf2 api. However,
it appears that I must use a different vbuf2_queue for the
OUTPUT and CAPTURE types. It appears that the mem2mem
framework has the ability to do just this. I came to this
conclusion while looking at the vim2m test module's code.
While trying to modify the loopback module, I have added
some code to try to call v4l2_m2m_init. You can see my very
WIP attempt at code here[2].

I have installed the kernel-devel package on Fedora, which.
Unfortunately, I get he following error messages when trying
to compile:

<errors>
ERROR: modpost: "v4l2_m2m_release" [/home/wt/projects/kernel/v4l2loopback/v4l2loopback.ko] undefined! ERROR: modpost: "v4l2_m2m_init" [/home/wt/projects/kernel/v4l2loopback/v4l2loopback.ko] undefined!
</errors>

So, I looked into it, and Module.symvers and /proc/kallsyms
don't have those symbols listed, so I think the Fedora kernel
was not compiled with those symbols exported.

Okay, so next I tried to build a custom kernel that does
export those symbols. I managed to get it done by enabling
the vim2m (VIDEO_VIM2M config option) module. The new
Module.symvers includes the symbols; and the compile succeeds,
which brings me to my final act.

I need to expose those symbols without enabling the vim2m
module since it is a testing module. I do not see a way
to do that explicitly. The config option in question
appears to be V4L2_MEM2MEM_DEV. And I haven't found a
way to enable it without enabling something that implicitly
selects it (which vim2m does). Do y'all have any suggestions
for how to get these symbols exported properly when vim2m is
not enabled?


Thanks,
Wren Turkal (wt)

[1] https://github.com/umlaeute/v4l2loopback
[2] https://github.com/wt/v4l2loopback/tree/m2m_try



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux