我有主要功能和线程,
主函数从客户端获取命令(工作正常) 和流畅地传输视频到客户端的线程(工作正常)
我需要main函数将命令传递给传输视频的线程,线程读取该命令并做出相应的反应 - 播放\暂停。
现在,在“gst_element_set_state(pipeline,GST_STATE_PLAYING);”之后 线程将开始传输视频:
void *thread_function(void * variable)
{
...
...
...
gst_element_set_state (pipeline, GST_STATE_PLAYING);
....
....
gst_object_unref (bus);
gst_element_set_state (pipeline, GST_STATE_NULL);
gst_object_unref (pipeline);
return 0;
}
如何让线程在传输视频时从主节点听一些command_variable? 线程“卡在”“gst_element_set_state”(就像while(1))? 线程假设从main函数获取command_variable并做出相应的反应。
谢谢!
答案 0 :(得分:0)
您可以使用套接字编程在端口号上创建udp
或tcp
套接字,该端口号与您处理视频或任何其他视频的端口号不同媒体就此问题。在这个端口上你应该等待收到的消息。您可以在邮件接收过程中添加身份验证过程。
根据端口收到的消息,您可以采取其他操作,如
GST_STATE (pipeline) == GST_STATE_PAUSED
或您想要做的任何其他行动。
here您可以找到有关如何创建套接字并执行 LISTENING 操作的示例。