在电视机系统的开发中,经常会用到模拟的信源(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的影响相关推荐

  1. Android MediaCodec 解码H264码流播放

    视频编解码,编的是什么码?解的又是什么码?有没有想过?现在主流的就是H264码流,Android 采集摄像头原始帧数据 这篇博客讲解的是如何从摄像头从提取YUV画面色值,然后由MediaCodec进行 ...

  2. 对h.264压缩视频码流中i帧的提取(firstime)

    这个问题要说清楚还是有点复杂:首先判断 NALU 类型是否是 5,如果是,那么以后连续出现的 NALU 类型为 5 的 NALU 就属于 IDR 帧(一种特殊的 I 帧):如果 NALU 不是 5,则 ...

  3. H.264码流结构及JM8.6中码流的产生步骤

    整理自:http://www.cnblogs.com/xkfz007/archive/2012/08/12/2612931.html H.264中的码流结构 H.264码流结构示意图: NALU第一字 ...

  4. 使用代码从抓包文件中提取H264码流

    1 从抓包文件中过滤出包含单条流的RTP包 使用ssrc 或者 payload type过滤皆可,具体如下图: 2 使用wireshark可以提前分析下本条码流到底有没有丢包 这样就可以预先知道这条流 ...

  5. 项目记录: HEVC单帧码流硬解渲染

    HEVC单帧码流硬解渲染 项目里面需要使用读取每一帧单帧码流进行渲染.特此记录一下. 硬解码 硬解码使用的MediaCodec . 一般它与 MediaExtractor 配合使用. MediaExt ...

  6. H.264 媒体流 AnnexB 和 AVCC 格式分析 及 FFmpeg 解析mp4的H.264码流方法

    H264码流分两种组织方式,一种是AnnexB格式,一种是AVCC格式. 作者:码农小明 来源:https://blog.csdn.net/shaosunrise/article/details/12 ...

  7. 码流格式: Annex-B, AVCC(H.264)与HVCC(H.265), extradata详解

    1.前言 介绍H.264结构的文章铺天盖地,无责任翻译.无责任转载以及部分经验之谈(目前搜索最靠前的一篇实际是对stackoverflow上答案的翻译..链接后面给出了),所以缺的不是资料,是叙述准确 ...

  8. 音视频开发——H265码流解析

    概述 H.265技术的应用 编码技术主要运用于视频播放设备.软件应用以及拍摄.录制视频的设备.人们最熟悉的莫过于PPS网络视频播放器.在PC屏客户端产品上面,PPS已经于2013年初推出了基于H.26 ...

  9. TR101-290码流三级错误监测

     TR101-290码流三级错误监测 1.第一优先级别: 1). 同步丢失(TS_sync_loss)      检测:连续检测到5个正常的同步字节(0x47)视为TS码流同步,连续检测到2个以上 ...

最新文章

  1. python第三方开发软件_python开发者的必备工具(一)
  2. JSP中的九个内置对象
  3. 后盾网lavarel视频项目---lavarel使用模型进行增删改查操作
  4. 2019牛客网暑假多校训练第四场 K —number
  5. Java基础:动态代理
  6. 在cds学到的(非技术)
  7. Java 命令行编译项目
  8. 开源的DevOps开发工具箱
  9. java多个事件_window.onload绑定多个事件的两种解决方案
  10. 树:求二叉树的高度和叶子结点数量
  11. 广西河池计算机考试考什么,2021上半年广西壮族自治区河池市计算机等级考试时间...
  12. 并查集——关押罪犯(洛谷 P1525)
  13. mysql 根据子查询的结果查询朱标_Python - MySQL数据库操作
  14. [面试] 算法(七)—— 逆序输出链表
  15. 黑马程序猿————OC在Foundation框架结构和字符串
  16. windows sqlmap 安装教程
  17. oracle碎片整理
  18. Pycharm远程调试踩坑:[Errno 2] No such file or directory Process finished with exit code 2
  19. 详谈双亲委派机制(面试常问)
  20. 菜鸡解析CSS(cascading style sheet)

热门文章

  1. 【TensorFlow】im2txt — 将图像转为叙述文本
  2. 幻月大陆辅助多开挂机攻略
  3. 学习《Redis设计与实现》Chapter2
  4. 「黑科技」无人机的新用法:替警察蜀黍追击偷盗者
  5. 2.4gwifi最高下载速度_2.4gwifi最高下载速度
  6. 数字人民币APP上架,跨境交易将进入新境界
  7. Mixly第26课~第28课,内容抢先看 | Mixly米思齐纯干货系列
  8. 孤岛惊魂5 for Android,孤岛惊魂5手机版
  9. 公司辞退了一名员工,虽然他是元老级别
  10. 利用JS中的循环语句来实现正方形、长方形、平行四边形、三角形、菱形、空心菱形。