GStreamer学习笔记(四)
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(所有权转移)
相关文章:
GStreamer学习笔记(四)
Time management 仅当管道处于PLAYING状态时,可以刷新屏幕。如果不在PLAYING状态,什么都不做,因为大多数查询都会失败。 函数与知识点 GstClockTime 说明:所需的超时时间必须以GstClockTime的形式指定。即以纳秒(ns…...
DBeaver连接华为高斯数据库 DBeaver连接Gaussdb数据库 DBeaver connect Gaussdb
DBeaver连接华为高斯数据库 DBeaver连接Gaussdb数据库 DBeaver connect Gaussdb 一、概述 华为GaussDB出来已经有一段时间,最近工作中刚到Gauss数据库。作为coder,那么如何通过可视化工具来操作Gauss呢? 本文将记录使用免费、开源的DBeaver来…...
.net core 2.1 简单部署IIS运行
netcore的项目不像netFramework那么方便部署到iis还是要费点功夫的 比如我想把这个netcore2.1的项目部署到iis并运行: 按照步骤走: 一、确认自己的netcore环境 1、需要安装下面3个环境包(如果电脑已安装请忽略) 检查是否安装cmd命令:cmd&…...
提高视觉检测系统稳定性的隐藏办法——10G高速图像采集卡
提高视觉检测系统稳定性的隐藏办法——10G高速图像采集卡 目前,随着我国各方面配套基础设施建设的完善,企业技术、资金的积累,各行各业积极探索和大胆的尝试机器视觉技术,实现工业自动化、智能化。在机器视觉系统的使用过程中&am…...
注解方式实现数据库字段加密与解密
目录 前言实现步骤定义注解加密工具类定义mybatis拦截器 总结 前言 一些敏感信息存入数据需要进行加密处理,比如电话号码,身份证号码等,从数据库取出到前端展示时需要解密,如果分别在存入取出时去做处理,会很繁锁&…...
C\C++ 使用socket判断ip是否能连通
文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: 使用socket判断ip是否能联通 效果: 代码: #include <iostream> #include <cstdlib> #include <cstdio> #include &…...
数学建模-相关系数
excel基本操作:ctrl右,ctrl左,ctrlshift下/右,ctrlshift空格 题目里有数据,给出描述性统计是比较好的习惯 excel描述性统计:数据-数据分析-描述统计 MATLAB要做散点图C62个 SPSS可以直接画出两两之间的散…...
Ubuntu下安装、配置及重装CUDA教程
安装CUDA 前往Nvidia CUDA Tools官网选择对应的架构和版本下载CUDA 以如下架构和版本为例: 查看显卡驱动 nvidia-smi如果显卡驱动已经装了,那么在CUDA安装过程中不用再勾选安装driver 下载并安装CUDA wget https://developer.download.nvidia.co…...
自学网络安全(黑客)为什么火了?
网安专业从始至终都是需要学习的,大学是无法培养出合格的网安人才的。这就是为啥每年网安专业毕业生并不少,而真正从事网安岗位的人,寥寥无几的根本原因。 如果将来打算从事网安岗位,那么不断学习是你唯一的途径。 网络安全为什…...
Android S 修改关于手机的logo
1.让图片加载生效 frameworks/base/packages/SettingsLib/LayoutPreference/res/layout/preference_about_phone.xml <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android" android:id"id/entity_header" style"…...
Mysql 备份与还原
目录 一、数据备份的重要性 二、数据库备份类型 2.1 物理备份 2.2 逻辑备份 三、常见的备份方法 3.1 物理冷备 3.2 专用备份工具 mysqldump 或 mysqlhotcopy 3.3 启用二进制日志进行增量备份 3.4 第三方工具备份 四、MySQL完全备份 五、数据库完全备份分类…...
Cadence PCB 仿真Model Integrity专题
🏡《总目录》 🏡《宝典目录》 目录 1,内容概述2,内容目录 1,内容概述 本专题详细介绍Cadence的仿真建模工具 Model Integrity。 2,内容目录 Cadence PCB仿真 Model Integrity 功能详述与启动方法图文教…...
记一次阿里云被挖矿处理记录
摘要 莫名其妙的服务器就被攻击了,又被薅了羊毛,当做免费的挖矿劳动力了。 一、起因 上班(摸鱼)好好的,突然收到一条阿里云的推送短信,不看不知道,两台服务器被拉去作为苦力,挖矿去…...
Linux系统使用(超详细)
目录 Linux操作系统简介 Linux和windows区别 Linux常见命令 Linux目录结构 Linux命令提示符 常用命令 ls cd pwd touch cat echo mkdir rm cp mv vim vim的基本使用 grep netstat Linux面试题 Linux操作系统简介 Linux操作系统是和windows操作系统是并列…...
【问题总结】Docker环境下备份和恢复postgresql数据库
目录 文章目录 以从备份恢复forest_resources库为例一、备份数据库二、需要还原的数据库准备1 删除掉远程的库。2 重新创建一个空的库。可以使用sql3 找到数据库存放的路径,并将备份文件上传到对应的路径下 三、 进入docker容器内部,执行数据库恢复附录…...
《TCP IP网络编程》第六章
《TCP IP网络编程》第六章:基于 UDP 的服务端/客户端 UDP 套接字的特点: 通过寄信来说明 UDP 的工作原理,这是讲解 UDP 时使用的传统示例,它与 UDP 的特点完全相同。寄信前应先在信封上填好寄信人和收信人的地址,之后…...
如何学习java
-学习Java是一个循序渐进的过程,下面提供一些学习Java的方法,帮助您有效地掌握这门编程语言: 定义学习目标:明确您学习Java的目标和用途。是为了进入软件开发行业,还是用于特定项目或兴趣爱好?明确学习目标…...
RabbitMQ实现六类工作模式
😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: RabbitMQ实现六类工作模式 ⏱️ 创作时间: 2023年07月20日…...
all in one (群辉、软路由、win/linux)折腾日记
目录 生命不息,折腾不止名词解释硬件参数装机 生命不息,折腾不止 因自身能力有限,可能内容质量不高,欢迎志同道合的各路大神加入,共同折腾! 名词解释 ALL IN ONE :多功能一体机 OpenWrt【软路…...
【Redis】2、Redis应用之【根据 Session 和 Redis 进行登录校验和发送短信验证码】
目录 一、基于 Session 实现登录(1) 发送短信验证码① 手机号格式后端校验② 生成短信验证码 (2) 短信验证码登录、注册(3) 登录验证① 通过 SpringMVC 定义拦截器② ThreadLocal (4) 集群 Session 不共享问题 二、基于 Redis 实现共享 session 登录(1) 登录之后,缓…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
