阿里云手机做网站,门户网站建设系统,数据网站建设多少钱,信宜网站设计公司Time management
仅当管道处于PLAYING状态时#xff0c;可以刷新屏幕。如果不在PLAYING状态#xff0c;什么都不做#xff0c;因为大多数查询都会失败。
函数与知识点
GstClockTime 说明#xff1a;所需的超时时间必须以GstClockTime的形式指定。即以纳秒#xff08;ns…Time management
仅当管道处于PLAYING状态时可以刷新屏幕。如果不在PLAYING状态什么都不做因为大多数查询都会失败。
函数与知识点
GstClockTime 说明所需的超时时间必须以GstClockTime的形式指定。即以纳秒ns为单位。表示不同时间单位的数字应乘以诸如GST_SECOND或GST_MSECOND之类的宏。这使得代码更易读。gst_element_query_position() 功能查询一个元素通常是顶层pipeline或playbin元素的流位置以纳秒为单位。这将是一个介于0和流持续时间如果已知之间的值。这个查询通常只能在管道预滚即达到PAUSED或PLAYING状态后才能工作。当调用函数时应用程序将在管道总线上收到一个ASYNC_DONE消息。说明如果重复调用这个函数也可以创建一个查询并在gst_element_query()中重用它。gst_element_query (GstElement * element, GstQuery * query) 功能对给定的元素执行查询。说明对于没有实现查询处理程序的元素此函数将查询转发给随机的srcpad或该元素的随机链接的sinkpad的对等体。请注意某些查询可能需要运行中的管道才能正常工作。gst_element_query_duration() 功能查询一个元素通常是顶级pipeline或playbin元素的总流持续时间以纳秒为单位。这个查询只有在管道预滚即达到PAUSED或PLAYING状态后才能工作当调用函数时应用程序将在管道总线上收到一个ASYNC_DONE消息。说明如果出于某种原因持续时间发生变化将在管道总线上收到一个DURATION_CHANGED消息在这种情况下应该使用这个函数重新查询持续时间。GST_TIME_FORMAT() 功能一个可以在类似printf的格式字符串中使用的字符串用于以h:m:s格式显示GstClockTime值。使用GST_TIME_ARGS来构造相应的参数。GST_TIME_ARGS() 功能使用GST_TIME_FORMAT格式字符串对 t 进行格式化。注意t 将被评估多次。说明t是一个GstClockTime。gst_element_seek_simple() 功能在给定的元素上执行简单的跳转的简单API意味着它只会相对于流的起始位置跳转到给定的位置。对于更复杂的操作比如段跳转例如循环播放或更改播放速度或相对于最后配置的播放段进行跳转应该使用gst_element_seek()。说明在完全预滚的PAUSED或PLAYING管道中对可跳转的媒体类型进行跳转总是保证返回TRUE对于肯定不可跳转的媒体类型如实时流返回FALSE。一些元素允许在READY状态下进行跳转在这种情况下它们将存储跳转事件并在放入PAUSED状态时执行它。如果元素支持在READY状态下进行跳转在接收到READY状态下的事件时它将始终返回TRUE。GST_SEEK_FLAG_FLUSH 功能这会在进行跳转之前丢弃管道中的所有数据。在重新填充管道并开始显示新数据之前可能会暂停一会儿但极大地增加了应用程序的响应能力。如果不提供此标志旧的数据可能会在一段时间内显示直到新位置出现在管道末尾。GST_SEEK_FLAG_KEY_UNIT 说明对于大多数编码后的视频流不可能在任意位置进行跳转而只能在称为关键帧的特定帧之间进行跳转。当使用此标志时跳转实际上会移动到最接近的关键帧并立即开始生成数据。如果不使用此标志则管道会在内部移动到最接近的关键帧没有其他选择但数据不会显示直到到达请求的位置。这个最后的选择更准确但可能需要更长时间。GST_SEEK_FLAG_ACCURATE 说明某些媒体剪辑没有足够的索引信息这意味着在任意位置进行跳转是耗时的。在这些情况下GStreamer通常会估计要进行跳转的位置并且通常工作得很好。如果这种精度对您的情况不够好您看到的跳转时间不准确那么请提供此标志。请注意计算跳转位置可能需要更长时间非常长时间在某些文件上。gst_query_new_seeking(GstFormat format) 功能构造一个新的查询对象用于查询流的跳转属性。cleanup函数gst_query_unref。返回值一个新的GstQuery所有权转移