Android手机中解析SDL窗口/纹理的问题

时间:2014-02-24 10:45:36

标签: android sdl

我正在尝试在Android手机中通过RTSP协议传输视频。我创建了一个通过RTSP协议接收数据包的应用程序,使用FFMPEG进行解码,并使用SDL 2.0将其呈现给窗口。在该应用程序中,创建SDL窗口和SDL纹理如下所示:

screen = SDL_CreateWindow ("Test ffmpeg",SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 1280, 720, SDL_WINDOW_SHOWN|SDL_WINDOW_FULLSCREEN ); 

bmp = SDL_CreateTexture  (renderer, SDL_PIXELFORMAT_IYUV, SDL_TEXTUREACCESS_STREAMING, 1280, 720);

这个应用程序在三星Galaxy S3上运行顺畅(没有任何闪烁或扭曲)(但带有红色叠加),但在HTC感觉xe,三星galaxy grand,sony xperia S上,有很多闪烁和扭曲。当我试图降低上述两种功能的分辨率时(即)创建纹理和创建窗口(HTC感觉xe中的640 * 360和三星galaxy grand中的800 * 480),应用程序运行顺畅。现在我有两个问题

  1. 为什么除了三星galaxy s3之外的手机(在上面提到的所有手机中)无法播放更高分辨率的视频(1280 * 720)?
  2. 在所有三星Galaxy s3手机上,我可以看到红色的叠加层。任何人都知道红色叠加的原因是什么?

1 个答案:

答案 0 :(得分:2)

Re 2,我通过禁用开发人员选项菜单中的硬件覆盖选项解决了三星galaxy s3手机上的红色显示问题(设置 - >开发者选项 - >检查“禁用硬件覆盖”复选框)