Video streaming 传输视频时收听变量

Video streaming 传输视频时收听变量,video-streaming,gstreamer,Video Streaming,Gstreamer,我有主功能和线程 从客户端获取命令的主要功能工作正常 将视频流畅地传输到客户端的线程工作正常 我需要的主要功能将传递th命令与传输视频线程,线程读取该命令,并作出相应的反应-播放\暂停 现在,在gst_元素_设置_状态管道之后,gst_状态_播放; 线程将开始传输视频: void *thread_function(void * variable) { ... ... ... gst_element_set_state (pipeline, GST_STATE_PLAYING

我有主功能和线程

从客户端获取命令的主要功能工作正常 将视频流畅地传输到客户端的线程工作正常

我需要的主要功能将传递th命令与传输视频线程,线程读取该命令,并作出相应的反应-播放\暂停

现在,在gst_元素_设置_状态管道之后,gst_状态_播放; 线程将开始传输视频:

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;
}

如何使线程在传输视频时从main中侦听某个命令变量? 线程是否像while1一样卡在gst\u元素\u set\u状态上? 线程假设从主函数中获取该命令变量,并做出相应的反应

谢谢

您可以使用套接字编程在端口号上创建udp或tcp套接字,该端口号与处理视频或任何其他媒体的端口号不同。在此端口上,您应该等待传入消息。您可以将身份验证过程添加到邮件接收过程中。 根据端口上接收到的消息,您可以执行其他操作,如

GST_STATE (pipeline) == GST_STATE_PAUSED 
或者你想做的任何其他动作

您可以找到一些关于如何创建套接字和执行侦听操作的示例