SDL-2.0.17 播放视频改变窗口大小后崩溃问题

解码视频流后调用SDL动态库渲染窗口,拖拽窗体改变窗口大小程序崩溃。网上找了很多方法,这里做一个汇总。 

SDL版本:SDL-2.0.17

下载地址:Simple DirectMedia Layer - SDL source snapshotshttps://www.libsdl.org/git.php

下载后打开VisualC目录下的SDL.sln后编译即可。

网上收集的三个解决办法:

1、修改SDL_OnWindowResized:

如下:

 修改SDL_OnWindowResized中的SDL_WINDOWEVENT_SIZE_CHANGED更改为SDL_WINDOWEVENT_RESIZED

然后重新编译,放入项目中。

重新播放视频拖拽窗口不再崩溃,但是拖拽后视频不能铺满窗口

2、屏蔽SDL_RendererEventWatch函数中QueueCmdSetViewport调用

如下:

屏蔽后拖拽不会崩溃,而且视频会铺满整个窗口,但是视频一直卡在最后一帧

3、屏蔽SetupWindowData函数中SetWindowLongPtr的调用

屏蔽后改变窗口大小不会崩溃,视频铺满整个窗口,视频不会卡帧,但是视频中的直边 有些扭曲

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值