- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了这个 generic question on Adaptive Playback在 Android
Kitkat
中。但是,我有一些具体的问题如下:
我能够理解对 codec
和相关框架的影响。但是,有一点我无法完全理解。
在自适应播放的情况下,编解码器在其输出端口上使用了一个元数据
,它基本上抽象并打包了一个底层缓冲区句柄(很可能是一个gralloc
句柄)。如果分辨率发生变化,我假设 codec
直接更新 gralloc
句柄属性并将缓冲区发送回 OMX
客户端,而无需更改端口设置.
我的第一个问题是:我的理解和假设是否正确?
如果是这样,Surfaceflinger
/SurfaceTexture
如何知道传入的有效载荷是 metadata
格式以及它如何检索 width
和 height
来自底层 gralloc
实现?
能否请您指出相关资源以帮助我更好地理解这个问题?
非常感谢。
最佳答案
sendFormatChange=>kWhatOutputFormatChange=>MEDIA_SET_VIDEO_SIZE=> ... =>native_window_set_buffers_dimensions
只是澄清一下,让我们使用 QC 示例,组件识别裁剪变化 - 在此处查找 OMX_IndexConfigCommonOutputCrop
omx_vdec , 然后 ACodec 清除 mSentFormat
这使得 ACodec 调用 sendFormatChange
发送 kWhatOutputFormatChange
事件到 NuPlayer 发送 MEDIA_SET_VIDEO_SIZE
到媒体播放器。在棍子的第二面,您将获得 native_window_set_buffers_geometry
,它会强制 Surface::setBuffersDimensions
。
虽然使用 OMXCodec OMX_IndexConfigCommonOutputCrop
收到设置 mOutputPortSettingsHaveChanged
,最近调用 OMXCodec::read
将返回 INFO_FORMAT_CHANGED
AwesomePlayer 中的这个将使 notifyVideoSize_l
被调用并且这个发送到监听器 MEDIA_SET_VIDEO_SIZE
关于安卓奇巧 4.4.2 : Adaptive Playback impact on SurfaceFlinger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21507591/
我想将从 NFC 读卡器获取的 APDU 路由到 SIM 卡。根据HCE documentation我认为只需创建一个带有相应路由条目的 OffHostApduService 即可(我这样做了)。 遗
我有一个服务,我需要检查它是否在一段时间后仍在静态上下文中运行。[我注意到这只发生在 Android KitKat 上] 我做了什么: 我的服务: public class Servizio exte
我的应用程序没有进行轮询更新。它显示一个简单的 map ,只需调用“getMap().setMyLocationEnabled(true);” 在 Nexus 5 android 4.4.2 上 -
我是一名优秀的程序员,十分优秀!