树莓派 共享内存 控制 Omxpalyer

Omxpalyer 

一款具有 GPU 优化的树莓派播放软件。

命令行操作:

阻塞性

切换:

聚焦于当前,并强制终止。

线程,共享内存。

线程:

使得播放与接收命令不相互阻塞,保证可以接受到数据与正常播放视频。

共享内存

切换视频,需要知道,什么时候切换,切换到哪一个。

可以单独开辟一片空间 malloc 作为信息的存储。

运行的程序必定有进程。当丢失焦点时,可以通过杀死进程结束进程。killall -9

收到切换信息,保存到共享内存。

播放线程读取共享内存,数据比对得操作。

Coding:


// thread
while(1)
{
    int index = *((int*)msg);
    system("sudo killall -9 /usr/bin/omxplayer.bin");    			
    int index_old = *((int *)msg);
    if(index_old == index)
    {
    	system(keep_show);
    }
    else {}
}

// main
int index = 0;
res = pthread_create(&sound,NULL,thread,&index);
pthread_detach(sound);

//Makefile
serial : serial_ama.o
	gcc -o serial serial_ama.o -lpthread
serial_ama.o : serial_ama.c serial_ama.h
	gcc -c serial_ama.c 
clean :
	rm serial serial_ama.o