主题 : 视频ioctl问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 47097
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
综合积分: 22 分
注册时间: 2011-05-19
最后登录: 2011-05-31
楼主  发表于: 2011-05-19 10:44

 视频ioctl问题

用ioctl去获取ring或line buffer地址的时候,buffer的大小为什么是0.
用6440所配的dvd中三星的参考代码测试时也这样。
请求解答。
    // get input buffer address in ring buffer mode
    // When below ioctl function is called for the first time, It returns double buffer size.
    // So, Input buffer will be filled as 2 part unit size
    get_buf_addr.in_usr_data = (int)addr;

    printf("get ring buffer address before\n");
    
    ioctl(mfc_fd, IOCTL_MFC_GET_RING_BUF_ADDR, &get_buf_addr);

    printf("input buffer address : 0x%X\n", get_buf_addr.out_buf_addr);
    printf("input buffer size : %d\n", get_buf_addr.out_buf_size);
    printf("input buffer return code : %d\n", get_buf_addr.ret_code);
运行的结果是:
input buffer address : 0x40238B60
input buffer size : 0
input buffer return code : 34492
级别: 新手上路
UID: 47097
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
综合积分: 22 分
注册时间: 2011-05-19
最后登录: 2011-05-31
1楼  发表于: 2011-05-20 08:56
请高手及客服解答