Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何查询Linux DVB内核解复用缓冲区中的可用数据大小?_Linux_Buffer_Polling_Dvb_V4l - Fatal编程技术网

如何查询Linux DVB内核解复用缓冲区中的可用数据大小?

如何查询Linux DVB内核解复用缓冲区中的可用数据大小?,linux,buffer,polling,dvb,v4l,Linux,Buffer,Polling,Dvb,V4l,我正在使用一对Linux DVB前端/解复用驱动程序,将一个节目流从直播TS重新推送到用户区。我使用轮询/读取组合,但是,为了将上下文切换和内核到用户空间的复制惩罚降到最低,我只想在数据大于一定大小时读取数据 我找不到任何方法来查询demux缓冲区中的可用数据大小,也找不到任何选项来指定轮询通知大小 有人知道这些功能吗?如果没有,在DVB api上有这样的功能请求是否不合理 在这方面,听起来你真的在问Linux内核的DVB子系统,它位于媒体树中,并用V4L进行维护,但实际上不是video4lin

我正在使用一对Linux DVB前端/解复用驱动程序,将一个节目流从直播TS重新推送到用户区。我使用轮询/读取组合,但是,为了将上下文切换和内核到用户空间的复制惩罚降到最低,我只想在数据大于一定大小时读取数据

我找不到任何方法来查询demux缓冲区中的可用数据大小,也找不到任何选项来指定轮询通知大小

有人知道这些功能吗?如果没有,在DVB api上有这样的功能请求是否不合理


在这方面,

听起来你真的在问Linux内核的
DVB
子系统,它位于媒体树中,并用
V4L
进行维护,但实际上不是
video4linux
本身。“直播ts”是指DVB-T广播吗?是的,您的推断是正确的,对于误用的术语表示抱歉。我的代码与内核的dvb子系统接口,它是一个dvb-t/t2前端。我正在使用的嵌入式平台的专有驱动程序只有前端和demux设备节点,但没有dvrIt。听起来你真的在问Linux内核的
DVB
子系统,它位于媒体树中并用
V4L
维护,但实际上不是
video4linux
本身。“直播ts”是指DVB-T广播吗?是的,您的推断是正确的,对于误用的术语表示抱歉。我的代码与内核的dvb子系统接口,它是一个dvb-t/t2前端。我使用的嵌入式平台的专有驱动程序只有前端和解复用设备节点,但没有dvr