黑屏是因为你获取到的帧不是 I 帧,I 帧才是包含完整的数据信息,BP 帧则是依赖 I 帧的,所以没有获取到 I 帧就会出现黑屏现象,播放器应该是有处理这个问题的,就是丢掉这组不完整的 GOP 数据
IJKPlayer问题集锦之不定时更新大家吼,不知名程序猿小郭同学又冒泡啦,今天是主角是:业界知名,天朝最大异(tong)性交友平台,BILIBILI开源的视频播放器项目,基于FFMPEG的IJKPlayer<(...
重新看了下,然后理解了下源码,虽然没有看native 部分,提出几个问题
1.这个 volatile 修饰的 value变量 是不是和 valueOffset这个内存偏移地址其实是同一样变量,因为做 CAS方法传递的是valueOffset,而并非那个value变量
2.你举的例子应该是问题CAS 执行时候会有你提到的 cpu lock 住,这时候别的线程进行 CAS 操作时候,会发现其实是 lock 住的,才会进行循环操作,知道 cpu unlock
不知道我这样的理解,博主怎么看的
因为博主的这种思路,其实就是和AQS 完全一样的逻辑了,我觉得可能不太合理,因为我上一个评论按照你思路进行下去的,但是那个疑问我还是理解不了
深入浅出CAS占小狼[https://www.jianshu.com/users/90ab66c248e6/latest_articles] 转载请注明原创出处,谢谢! 前言 CAS(Co...
一个问题,一个是 volatile 关键字修饰的变量,一个是 存在 native 中的内存区的值
volatile 关键字修饰的变量具有内存可见性,也就是一个线程操作结果,其他线程也是可见,
通过你上述的例子,也就是一个线程 A修改这个volatile 关键字修饰的变量,那么线程 B 同样
可以获取到这个修改后的变量,这样进行 CAS 判断的时候就会出现volatile 关键字修饰的变量
与 native 内存区的值不一致的问题
so,什么时候会去修改 native 内存区的值?如果不修改的话,后续的 CAS 验证都是无法进行
的吧?
深入浅出CAS占小狼[https://www.jianshu.com/users/90ab66c248e6/latest_articles] 转载请注明原创出处,谢谢! 前言 CAS(Co...
这个系列写的真棒,深入简出,感谢
NDK开发基础④增量更新之客户端合并差分包接续上篇NDK开发基础③增量更新之服务器端生成差分包 前情提要 增量更新原理就是在服务器端使用bsdiff进行文件内容比较,再使用了bzip2进行文件压缩 , 在下载APP时...
@欠儿不登 keyboardHidden是获取硬键盘的相关信息,我当时的项目是需要的
关于App全屏的一二事写在前面的几句话 其实大家在开发过程中,很少会接触到从竖屏到全屏的过程,只有在关于视频播放软件相关才会设计到这个方面的知识,刚好这次的开发中就遇到这样的问题了,那么就把这次遇...
仔细看文章
关于App全屏的一二事写在前面的几句话 其实大家在开发过程中,很少会接触到从竖屏到全屏的过程,只有在关于视频播放软件相关才会设计到这个方面的知识,刚好这次的开发中就遇到这样的问题了,那么就把这次遇...
@CMD_1afb 可以的,这是一套通用的方案,安卓,ios都可以的
移动端滤镜开发(五)普通滤镜开发写在前面的话 上一篇文章对简单滤镜实现有一定的讲解,那么这一篇则是对图像处理更加深层次的说明,对于一张图片怎么处理起来效果会看起来更好呢?我想大部分人首先就会想到PS软件,确...
@CMD_1afb ColorLUT可以更简单的实现,为什么要自己写。。。
移动端滤镜开发(五)普通滤镜开发写在前面的话 上一篇文章对简单滤镜实现有一定的讲解,那么这一篇则是对图像处理更加深层次的说明,对于一张图片怎么处理起来效果会看起来更好呢?我想大部分人首先就会想到PS软件,确...
各种资料吧,有的只是简单提的,然后我去进行学习和发散的,基本上我说的方式可以涵盖大部分的滤镜需求了,当然一些特殊的滤镜还是需要通过顶点着色器与片段着色器配合去进行修改。
移动端滤镜开发(五)普通滤镜开发写在前面的话 上一篇文章对简单滤镜实现有一定的讲解,那么这一篇则是对图像处理更加深层次的说明,对于一张图片怎么处理起来效果会看起来更好呢?我想大部分人首先就会想到PS软件,确...
@祥哥说事 这个数组就是根据第二篇里面的坐标系定的,你可以根据那个坐标系理解下数组的含义,然后在试下很快就可以找到相关的规律的
移动端滤镜开发(三)OpenGL实现预览播放效果写在前面的话 上一篇文章简单介绍了OpenGl的使用,并实现了OpenGl显示图片的效果,但是滤镜的效果不仅仅只用在图片上面,一般来说现在视频和拍照取景也是会有滤镜的需求的,...
@祥哥说事 open(int cameraId) 它是用来打开特定相机时,支持多个摄像机,Camera类的这个方法可以设置为前置还是后置
移动端滤镜开发(三)OpenGL实现预览播放效果写在前面的话 上一篇文章简单介绍了OpenGl的使用,并实现了OpenGl显示图片的效果,但是滤镜的效果不仅仅只用在图片上面,一般来说现在视频和拍照取景也是会有滤镜的需求的,...
@Adley 他最早的宣传是推流库,后面接入了第三方的关于滤镜的库,所以现在我也不知道他是什么定位的,他的推流倒是自己实现的,因为整个rtmp协议流程都实现了的。
移动端直播开发(三)RTMP推流写在前面的话 前面一篇文章已经对移动端数据源采集与编码进行了说明,接下来就是将之前采集的数据上传给我们的视频服务器了,通过视频服务器的转发,可以在web端,app端观看我们采...
可以先传到顶点着色器,然后通过顶点着色器传递给片段着色器
移动端滤镜开发(四)滤镜初尝试写在前面的话 前面几个章节分别介绍了关于OpenGL实现图片显示,相机预览,视频播放这些功能,使用滤镜的载体这里我们算是造好了,接下来就是展开我的滤镜开发之旅了,然而Open...
写在前面的话 上一篇已经介绍了关于RTMP推流相关的知识,那么推完流后视频服务器就会对推流进行转发,那么这一篇主要就是介绍下,关于移动端播放与弹幕评论相关的知识。 一.播放 ...
写在前面的话 前面一篇文章已经对移动端数据源采集与编码进行了说明,接下来就是将之前采集的数据上传给我们的视频服务器了,通过视频服务器的转发,可以在web端,app端观看我们采...