goodman

goodman

2个粉丝

30

问答

18

专栏

17

资料

goodman  发布于  2015-01-17 10:13:58
采纳率 0%
30个问答
wooshang@126.com
4856

独立进程的数据流获取

 
使用sample_venc里面的代码写了一个程序A,程序A除了去除获取流写盘的线程代码外其他均和sample_venc一样
[code]
#if 0
    s32Ret = SAMPLE_COMM_VENC_StartGetStream(s32ChnNum);
    if (HI_SUCCESS != s32Ret)
    {
        SAMPLE_PRT("Start Venc failed!\n");
        goto END_VENC_720P_CLASSIC_5;
#endif
    }[/code]

然后移植Live555的代码,测试程序写在另外一个单独的程序B里面,使用的获取流的代码示例里面的
[code]SAMPLE_COMM_VENC_GetVencStreamProc(HI_VOID* p ) {
.....
/*******************************************************

                     step 2.3 : call mpi to get one-frame stream

                    *******************************************************/

                    stStream.u32PackCount = stStat.u32CurPacks;

                    s32Ret = HI_MPI_VENC_GetStream(i, &stStream, HI_TRUE);

                    if (HI_SUCCESS != s32Ret)

                    {

                        free(stStream.pstPack);

                        stStream.pstPack = NULL;

                        SAMPLE_PRT("HI_MPI_VENC_GetStream failed with %#x!\n", \

                               s32Ret);

                        break;

                    }
....
}
[/code]


但是测试到最后出现了问题,最总获VENC_PACK_S里面的地址是无效的地址:
u32PhyAddr[0]=0xc9875dc0, pu8Addr[0] = 0xc9875dc0, u32Len[0]=8597
一写文件就段错误。
[code]
typedef struct hiVENC_PACK_S
{
HI_U32 u32PhyAddr[2];   // 地址无效
HI_U8 *pu8Addr[2];    //地址无效
HI_U32 u32Len[2];
VENC_DATA_TYPE_U DataType;
HI_U64 u64PTS;
HI_BOOL bFieldEnd;
HI_BOOL bFrameEnd;
}VENC_PACK_S;
[/code]

分析了下原因,是因为进程B无法使用进程A申请的VB缓存地址,但是奇怪的是物理地址也无法访问(有了物理地址我们可以在本进程内做个映射就可以访问了)不知道海思内部怎么处理的。
现在问题是:
1.我如何才能在单独的进程中获取到流地址呢?(我们的Live555是单独的进程跑的)。
我来回答
回答0个
时间排序
认可量排序
易百纳技术社区暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区