проблема в том, что если я установлю одинаковые значения для членов 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 (Прервано)».