SDL渲染窗口变暗,图像黑白

我在ubuntu 虚拟机上 用SDL 渲染YUV,刚开始显示正常,过一会后,整个窗口变暗,画面变为黑白色

img

img

 我的代码sdl渲染部分:

img

开始显示正常,过一会后,整个窗口变暗,画面变为黑白色。 我将每一帧YUV都保存下来,然后用工具看,所有yuv数据都彩色,正常的。 求指点

我自己解决了。是因为sdl 进入休眠了。
需要在初始化SDL线程里面开启事件循环(SDL_WaitEvent或者SDL_PollEvent),或者直接调用SDL_PumpEvents。其实SDL_WaitEvent和SDL_PollEvent 也隐式调用了SDL_PumpEvents。如果不调用,SDL认为无操作,休眠了