问题是如果我为charArray成员设置相同的值将没有错误,但如果我为数组成员提供不同的值,例如charArray [0] =“x”,charArray [1] =“y “..给了我以及下面这条消息的错误,
“程序已终止接收信号6(已中止)”
这是我使用的代码块,
char *charArray[2]; //global
static void video_add(GstElement *mixer,int top,int left,int index){
....
src = gst_element_factory_make ("filesrc", NULL);
g_object_set (G_OBJECT (src), "location", charArray[index], NULL);
...
}
void play(){
.....
charArray[0] = "/root/yu.mp4";
charArray[1] = "/root/asd.mpg";
video_add (videomixer,-300,-310,0);
video_add (videomixer,-20,-20,1);
.....
}
如果我像这样更新我的功能
static void video_add(GstElement *mixer,int top,int left,char *filePath)
,结果是一样的,
而
video_add (videomixer,-300,-310,"/root/a.mpg");
video_add (videomixer,-20,-20,1,"/root/a.mpg");
不会产生错误,
video_add (videomixer,-300,-310,"/root/a.mpg");
video_add (videomixer,-20,-20,1,"/root/b.mpg");
给出了同样的错误“程序已经终止接收信号6(已中止)”。