- 博客(21)
- 资源 (3)
- 收藏
- 关注
原创 Java 与 C 中动态链接库搜索规则
动态链接库搜索规则1、java 中加载 native libraryjava 中 System.loadLibrary 会调用 Runtime.loadLibary,后者调用 java/lang/ClassLoader.loadLibrary。在 ClassLoader.loadLibrary 中,会检查系统属性 java.library.path ,在其指定的目录(多个)中搜索 nat...
2019-04-30 18:00:08 234
原创 优化 Android 投屏实时性
优化编码延迟编码器延迟主要优化方式有:去除B帧,目前Android编码器基本都是 H264 Baseline 配置,没有启动B帧编码。另外Android 最新 API 多了 MediaFormat.KEY_LATENCY 编码参数,在平台上有没有用,目前资料比较少,不太清楚。优化网络延迟通过抓包发现,网络上数据包存在周期性脉冲输出流量,怀疑网络传输中存在小报文拼接批量传输的行为...
2019-04-28 15:21:01 2240
原创 Android 投屏实现纪要
在前文里介绍了Android -> Windows 多样化投屏方案这里记录具体的实现(一)屏幕截取MediaProjection/VirtualDisplay因为权限问题,不能直接创建镜像(VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR)类型的VirtualDisplay,需要通过MediaProjection 提示用户授权。 Medi...
2019-04-28 13:12:36 5766
原创 Android -> Windows 多样化投屏方案
需求投屏有两种方式:镜像屏幕和扩展屏幕,分别在两个屏幕上显示相同、不同的内容。多样化场景下,需要结合两种方式,比如:在两种方式下切换,某些页面(Activity)镜像投屏,某些需要在扩展屏另外展现不同的内容 两种方式叠加,在镜像上面显示部分不同的内容 部分区域镜像,类型PPT演讲者模式方案(一)多端互动局域网发现采用mDns相对更独立灵活一些,Android原生有AP...
2019-04-28 11:30:28 2109
原创 构建 FFMpeg (Windows MSYS2/MinGW-w64)
(一)环境准备安装 MSYS2https://github.com/msys2/msys2/wiki/MSYS2-installation安装MinGW-w64打开MSYS2 MinGW 64bit(只是一个独立环境),用 pacman 安装MinGW-w64pacman -S mingw-w64-x86_64-gccpacman -S mingw-w64-x86_...
2019-04-28 11:16:08 1042
原创 构建 Aria2 (Android share library)
搭建工具环境安装系统工具sudo apt-get install autoconf ???point docbook2x tofrodos下载NDK,android-ndk-r14b-linux-x86_64.zip,解压后,在NDK目录执行:mkdir -p /mnt/work/toolchain/android-standalone-r14bexport ANDROID_...
2019-04-28 09:28:26 2672 1
原创 WebRTC 升级接口方法调整(Windows)
WebRTC 调整1、VideoFrameBuffer 改成 I420BufferInterface,使用 ToI420 转换2、MediaFile 没有了,相关代码被注释,都是测试功能3、AudioDeviceModuleImpl::Create 接口调整4、LOG_F 没有了, RTC_LOG_F 代替5、CreatePeerConnection 接口变化(已经调整)6...
2019-04-27 11:57:49 736
原创 WebRTC构建(Windows环境)
WebRTC源码环境搭建上文https://blog.csdn.net/luansxx/article/details/89597525Windows工具准备安装 VS2017安装 python 2.7设置构建环境增加下列环境变量:PATH = %PATH%:Y:\work\webrtc\depot_toolsDEPOT_TOOLS_WIN_TOOLC...
2019-04-27 10:55:56 4222 2
原创 WebRTC源码环境搭建
获取depot_toolsWebRTC代码都是用depot_tools工具来管理,所以第一步就是要获取这个工具。在/chromium目录里面运行:git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git这样depot_tools工具就下载到了/webrtc/depot_tools目录里面,然后...
2019-04-27 09:48:15 1533
原创 基础库 - 插件体系 - 对话框异常分析
备注1:08-09 10:37:13.191 11055 11055 W DebugLog: OverlayLayoutFactory: onCreateView InflateException more cause [java.lang.NullPointerException]08-09 10:37:13.191 11055 11055 W DebugLog: java.lang.N...
2019-04-25 07:02:52 222
原创 基础库 - 网络体系 - 支持http缓冲
http cache-control 指令的设置以及意义HttpFetcher.init 配置缓存配置缓存大小缓存目录使用进程名称加 Cache("HttpFetcher-Cache-" + name)
2019-04-21 10:50:51 129
原创 播放框架 - GL渲染
1、WallpaperGLThread2、GLMediaDisplay3、GLRenderer4、GLImageRenderer5、GLVideoRenderer问题:从GL渲染切回正常渲染,会播放失败(即使刷新Surface,也被GL绑定,依赖解决)播放框架 - GLVideoRendererOpenGL 从零开始写一个Android平台下的全景视频播放器TextureVi...
2019-04-21 10:49:29 1136
原创 基础库 - 插件体系 - 使用系统预置的 odex
描述:Android系统ODEX文件格式解析Android动态加载DEX文件流程分析LOCAL_DEX_PREOPTWITH_DEXPREOPTWITH_DEXPREOPT_PIC1、 系统预置的odex,arch选择不对,比如 PposTv 只能在32 bit 下运行a) 预置的odex:/system/app/PposTv/oat/arm64/PposTv.odexb) ...
2019-04-21 10:41:58 397
原创 播放框架 - TextureView 播放
Hardware acceleration用MediaPlayer+TextureView封装一个完美实现全屏、小窗口的视频播放器存在问题:1、导致UI的文字显示成方块备注1:SurfaceTexture 创建的 stack06-04 10:28:10.678 1433 1433 D WallpaperTextureView: onSurfaceTextureAvailable...
2019-04-21 10:38:11 316
原创 播放框架 - 基于 OpenGL 的媒体播放
TextureView 播放 GL 渲染 OpenGL 渲染 TextureDisplay GPUImage 集成 OpenGL - 图像过渡滤镜 OpenGL - 渲染多个 Surface OpenGL - 图像美颜滤镜
2019-04-21 10:35:03 144
原创 发布平台对接 nexus (maven)
1、上传工具2、对接Guide to deploying 3rd party JARs to remote repositoryApache > Maven > Plugins > Apache Maven Deploy Plugin > Usagehttps://stackoverflow.com/questions/37543120/how-to-manual...
2019-04-21 10:27:05 190
原创 运行时资源覆盖(Runtime Resource Overlay)
参考: Android运行时资源替换-Runtime Resource OverlayAndroid Runtime Resource OverlayQuick Tip: Theme Android With the Runtime Resource Overlay FrameworkCustomizing Android Devices Using Runtime Resource O...
2019-04-21 10:25:30 688
原创 ExoPayer 研究、集成
参考: ExoPlayer HomeExoPlayer libraryHLS playback in ExoPlayerExoPlayer 2 - MediaSource compositionCustomizing ExoPlayer’s UI components 使用Android.mk文件导入Exoplayer包ExoPlayer浅析Google Exoplayer 之全...
2019-04-21 10:16:33 2037
原创 基础课 - 插件框架 - 没有权限 getIntentSender()
描述:07-20 15:45:50.360 14038 14038 E AndroidRuntime: FATAL EXCEPTION: main07-20 15:45:50.360 14038 14038 E AndroidRuntime: Process: com.pptv.wallpaperplayer.demo, PID: 1403807-20 15:45:50.360 14038...
2019-04-21 09:48:42 1395
原创 基础库 - 插件体系 - 插件内置so库直接加载
描述:Android6.0以上支持内置Native库,不需要解压部署到文件系统中。后续可以利用该机制节省空间。具体原理是本地库在APK中的位置是对齐到文件系统块的,并且没有压缩,可以直接映射APK中某个文件数据到内存页面。在集成到应用以及通过网络分发,插件APK是被压缩的,所以不影响应用体积和网络流量。zipalignReduce the APK sizeSource code[...
2019-04-21 09:41:39 306
WinRT 环境下缺失 Windows API 模拟实现
2013-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人