每一个空间将会创建一个默认的权限。创建空间的用户将会自动具有空间管理员(space admin)的权限,这个的意思是你可以为其他用户和用户组赋予空间访问和管理的权限。在
gboolean gst_pad_peer_query (GstPad * pad, GstQuery * query) { [...] serialized = GST_QUERY_IS_SERIALIZED (query); GST_OBJECT_LOCK (pad); if (GST_PAD_IS_SRC (pad) && serialized) { /* all serialized queries on the srcpad trigger push of * sticky events */ if (check_sticky ...
首先gstreamer core会调用pad的activate方法(如果我们调用gst_pad_set_activate_function重载了的话),在这个方法中,必须最后要调用gst_pad_activate_push和gst_pad_activate_pull,来告诉gstreamer core,这个pad是使用push还是pull模式进行调度。如果我们没有重载activate函数,那么,默认的activate函数使用的是gst_pad_activa...
使用gst_pad_push_event()发送 FLUSH 事件到需要清空数据的pad上。这会清除pad上的缓冲区。例如: GstEvent*event=gst_event_new_flush_start(); gst_pad_push_event(pad,event); // 等待事件传播完成 event=gst_event_new_flush_stop(TRUE); gst_pad_push_event(pad,event); 在pipeline 中使用gst_bin_r...
地被gst_pad_set_chain_function() 进行了设置。 2)sink pad 也可以作为“抽水泵”在pipeline中工作,此时sink pad工作在PULL MODE中,但是同element中的source pad依旧要工作在PUSH MODE下, 为了能作为“抽水泵”,sink pad 内部需要启动一个 GstTask 实例 来独立运行一个线程完成抽水动作。这个时候,由GstTask 管...
gst_pad_push中调用的chainfun就是这个gst_rtp_session_chain_recv_rtp。 接下来分析rtp数据流的处理,以on-feedback-rtcp这个类型的消息为例。static GstFlowReturn gst_rtp_session_chain_recv_rtp (GstPad * pad, GstObject * parent, GstBuffer * buffer) { ret = rtp_session_process_rtp (priv->...
这些pad 模板在_class_init ()函数中使用gst_element_class_add_pad_template ()注册。 对于此函数,您需要GstPadTemplate的句柄,您可以使用gst_static_pad_template_get ()从静态pad模板创建它。 有关这方面的更多详细信息,请参见下文。 衬垫是使用gst_pad_new_from_static_template ()在元素的_init ()函数中...
GstPad*sinkpad;//sink pad gbooleansilent; }GstObtFilter; /* class struct */ typedefstruct_GstObtFilterClass { GstElementClassparent_class; }GstObtFilterClass; /* declare get_type Func, defined in G_DEFINE_TYPE */ GTypegst_obt_filter_get_type(void); ...
l视音频格式信息,这个由pad完成 1. Tag信息读取 这个是通过管道的bus来读取的。可以监听GST_MESSAGE_TAG来完成。 2. Tag写入 使用GstTagSetter来完成,而且该单元必须支持tag设置。 奇怪,怎么设置?源一般按普通文件打开的,没法设置啊。 所以必须先从管道中找到那些能设置的。通过: ...
模式。 在推送模式下,上游元件通过调用 gst_pad_push,实现把数据 “推送”给下游元件。 在拉拽模式下,下游元件通过请求调用 gst_pad_pull_range(), 从上游组件那里把数据“拉”过来。 上面提到的数据,一般是一个缓存(buffer). 用得最多的数据流模式是推送模式。拉拽模式可以用在某些特殊 情况下,如 demuxer ...