关于电视机中DTV码流对android的Timer的影响
在电视机系统的开发中,经常会用到模拟的信源(ATV/DTV)。最近在测试的时候发现,在DTV信源下,某个计时用的Timer突然就暂停了,百度一下这个Timer,大部分问的是怎么停止Timer的运行,而没有提到怎么让他不停止,囧。
在挣扎了一段时间后,测试发现在DTV信源下才会出现该BUG,而在别的信源下不出现,推断是跟DTV信源有关。而在做数字电视的一个很大的特点在于,基本上都会拿DTV码流中的时间写到系统时间中,以确保系统时间和码流时间一致。到这里可能很多人都想到了,那就是Timer这个类本身的特点——Timer计时用的是绝对时间,简单来说就是跟系统时间相关的,一旦系统时间出现修改,那就很有可能影响Timer的计时——DTV码流中的时间如果和系统本身的时间不一致的话,那么可想而知Timer的计时将会因为码流的时间写入系统而出现错误。而在测试信源中,码流的信息往往都是不正确的,与当前系统的时间(一般来说会是网络获取的时间)肯定不一致,如果获取的这个时间是在一天前、一个月前甚至一年前,Timer也就出现了被终止的假象——实际上它一直在运行只是计时混乱了。
解决的方法很简单,使用基于相对时间的类ScheduledExecutorService就可以了~具体用法可以自己百度一下,该类与系统时间不挂钩,所以可以随意使用,据说在高版本SDK中这个类其实已经完全可以取代Timer的地位了,连用法基本都是一致的。
转载于:https://www.cnblogs.com/blairsProgrammer/p/4220878.html
关于电视机中DTV码流对android的Timer的影响相关推荐
- Android MediaCodec 解码H264码流播放
视频编解码,编的是什么码?解的又是什么码?有没有想过?现在主流的就是H264码流,Android 采集摄像头原始帧数据 这篇博客讲解的是如何从摄像头从提取YUV画面色值,然后由MediaCodec进行 ...
- 对h.264压缩视频码流中i帧的提取(firstime)
这个问题要说清楚还是有点复杂:首先判断 NALU 类型是否是 5,如果是,那么以后连续出现的 NALU 类型为 5 的 NALU 就属于 IDR 帧(一种特殊的 I 帧):如果 NALU 不是 5,则 ...
- H.264码流结构及JM8.6中码流的产生步骤
整理自:http://www.cnblogs.com/xkfz007/archive/2012/08/12/2612931.html H.264中的码流结构 H.264码流结构示意图: NALU第一字 ...
- 使用代码从抓包文件中提取H264码流
1 从抓包文件中过滤出包含单条流的RTP包 使用ssrc 或者 payload type过滤皆可,具体如下图: 2 使用wireshark可以提前分析下本条码流到底有没有丢包 这样就可以预先知道这条流 ...
- 项目记录: HEVC单帧码流硬解渲染
HEVC单帧码流硬解渲染 项目里面需要使用读取每一帧单帧码流进行渲染.特此记录一下. 硬解码 硬解码使用的MediaCodec . 一般它与 MediaExtractor 配合使用. MediaExt ...
- H.264 媒体流 AnnexB 和 AVCC 格式分析 及 FFmpeg 解析mp4的H.264码流方法
H264码流分两种组织方式,一种是AnnexB格式,一种是AVCC格式. 作者:码农小明 来源:https://blog.csdn.net/shaosunrise/article/details/12 ...
- 码流格式: Annex-B, AVCC(H.264)与HVCC(H.265), extradata详解
1.前言 介绍H.264结构的文章铺天盖地,无责任翻译.无责任转载以及部分经验之谈(目前搜索最靠前的一篇实际是对stackoverflow上答案的翻译..链接后面给出了),所以缺的不是资料,是叙述准确 ...
- 音视频开发——H265码流解析
概述 H.265技术的应用 编码技术主要运用于视频播放设备.软件应用以及拍摄.录制视频的设备.人们最熟悉的莫过于PPS网络视频播放器.在PC屏客户端产品上面,PPS已经于2013年初推出了基于H.26 ...
- TR101-290码流三级错误监测
TR101-290码流三级错误监测 1.第一优先级别: 1). 同步丢失(TS_sync_loss) 检测:连续检测到5个正常的同步字节(0x47)视为TS码流同步,连续检测到2个以上 ...
最新文章
- python第三方开发软件_python开发者的必备工具(一)
- JSP中的九个内置对象
- 后盾网lavarel视频项目---lavarel使用模型进行增删改查操作
- 2019牛客网暑假多校训练第四场 K —number
- Java基础:动态代理
- 在cds学到的(非技术)
- Java 命令行编译项目
- 开源的DevOps开发工具箱
- java多个事件_window.onload绑定多个事件的两种解决方案
- 树:求二叉树的高度和叶子结点数量
- 广西河池计算机考试考什么,2021上半年广西壮族自治区河池市计算机等级考试时间...
- 并查集——关押罪犯(洛谷 P1525)
- mysql 根据子查询的结果查询朱标_Python - MySQL数据库操作
- [面试] 算法(七)—— 逆序输出链表
- 黑马程序猿————OC在Foundation框架结构和字符串
- windows sqlmap 安装教程
- oracle碎片整理
- Pycharm远程调试踩坑:[Errno 2] No such file or directory Process finished with exit code 2
- 详谈双亲委派机制(面试常问)
- 菜鸡解析CSS(cascading style sheet)