当前位置: 首页 > article >正文

关于ffplay在macos上运行奔溃的问题

这个问题大概是由于 MacOS 的问题引起的,奔溃的地方在 SDL2 的代码中,如果直接使用 brew 安装 SDL2就会遇到这个问题,所以需要修改 SDL2源码然后再编译安装。

我这里采用的是 origin/release-2.28.x 分支,修改部分如下:

src/video/cocoa/SDL_cocoamouse. m 文件中:

/*
把下面这个函数的函数体删除或者注释掉,让他直接返回NULL
*/
@implementation NSCursor (InvisibleCursor)
+ (NSCursor *)invisibleCursor
{static NSCursor *invisibleCursor = NULL;return invisibleCursor;
}
@end

根目录的 CMakeLists 中:

# set(SDLMAIN_SOURCES ${SDLMAIN_SOURCES} ${N3DS_MAIN_SOURCES}) 注释这一行
set(SDLMAIN_SOURCES ${SDLMAIN_SOURCES} ${N3DS_MAIN_SOURCES} # 添加下面的内容src/video/cocoa/SDL_cocoamouse.hsrc/video/cocoa/SDL_cocoamouse.m)

还有一个地方,我没有修改就可以跑了,但是最好修改一下,在 src/video/cocoa/SDL_cocoawindow. m 文件里 :

/*
把下面这个函数中的部分注释掉就可以了
*/
- (void)resetCursorRects
{/* KJSL: temp workaround for crash on Intel MacOS Sequioa 15.1.1 (24B91)//    [super resetCursorRects];
//    [self addCursorRect:[self bounds]
//                 cursor:Cocoa_GetDesiredCursor()];*/
}- (BOOL)acceptsFirstMouse:(NSEvent *)theEvent

然后重新编译,我是吧 SDL2 和 ffmpeg 全部重新编译了一遍,但我估计只要重新编译 SDL2 就可以了。

相关文章:

关于ffplay在macos上运行奔溃的问题

这个问题大概是由于 MacOS 的问题引起的,奔溃的地方在 SDL2 的代码中,如果直接使用 brew 安装 SDL2就会遇到这个问题,所以需要修改 SDL2源码然后再编译安装。 我这里采用的是 origin/release-2.28.x 分支,修改部分如下&#xff1…...

Linux531rsync定时同步 再回忆

rsync定时同步 环境配置 关闭防火墙,selinux systemctl stop firewalld systemctl disable firewall setenforce 0 cat /etc/selinux/configpei SELINUXdisable设置主机名 systemctl set-hostname code systemctl set-hostname backup设置静态IP rsync由于要设…...

Elasticsearch 分析器介绍

在 Elasticsearch 的世界里,构建高效搜索引擎的关键一环,便是透彻理解分析器(Analyzer)的工作机制。一个优秀的搜索引擎,能够精准地返回与用户查询紧密相关的文档,而这背后,正是分析器在默默发挥着核心作用。它不仅负责处理待索引的文档,还在用户发起查询时,智能评估哪…...

【KWDB 创作者计划】_探秘浪潮KWDB数据库:从时间索引到前沿技术

探秘浪潮KWDB数据库:从时间索引到前沿技术 文章目录 探秘浪潮KWDB数据库:从时间索引到前沿技术引言1.浪潮KWDB数据库时间索引深度解析1.1时间索引工作原理1.2时间索引创建与管理实践 2.浪潮KWDB数据库前沿产品技术纵览2.1多模融合存储引擎2.2就地计算技术…...

安卓逆向篇LSP 模块HOOK 添加技术绕过检测算法解密逻辑验证

前置解释: 0 、 Magisk : 是当前 Android 社区用来获取 root 权限的主流方式开源工具 1 、 LSP 框架: XPosed 框架因只支持安卓 8 及以下,故高版本应使用 MagiskLSPosed 2 、 HOOK 技术: 钩子技术&…...

【SQL】关键字

ORDER BY ORDER BY(排序) 语句可以按照一个或多个列的值进行升序(ASC)或降序(DESC)排序。 MAX / MIN MAX() 函数返回一组值中的最大值。这个函数常用于数字字段,但也可以用于文本字段来找出按字典顺序最后的元素。 …...

第一节 51单片机概述

目录 一、单片机系统组成 (一)、单片机硬件系统 (二)单片机的软件系统 二、STC89C52单片机 (1)、基本信息 (2)、命名规则 (3)、单片机内部结构图 &am…...

Google car key:安全、便捷的汽车解锁新选择

有了兼容的汽车和 Android 手机,Google car key可让您将Android 手机用作车钥匙。您可以通过兼容的 Android 手机锁定、解锁、启动汽车并执行更多功能。但是,Google car key安全吗?它是如何工作的?如果我的手机电池没电了怎么办&a…...

720全景展示:VR全景的技术原理及应用

VR720全景展示:技术原理及应用探索 720全景技术,作为当前全球范围内迅速崛起流行的视觉新技术,为用户带来了全新的真实现场感和交互式的体验。凭借全方位、无死角的视觉展示特性,在VR(虚拟现实)领域中得到…...

定制一款国密浏览器(13):预置国密根证书到浏览器

由于国密算法没有得到国外的认可,所以 Chromium、Firefox 等浏览器均不支持国密算法。即使我们修改了 Chromium 的源码,增加了国密算法的支持,但还不能在浏览器中正常使用。因为这涉及到证书的信任问题,国密证书都是国内厂商签发的,国密根证书并没有集成到系统和浏览器中。…...

PowerBI企业运营分析——线性回归销售预测

PowerBI企业运营分析——线性回归销售预测 欢迎来到Powerbi小课堂,在竞争激烈的市场环境中,企业运营分析平台成为提升竞争力的核心工具。 该平台通过整合多源数据,实现关键指标的实时监控,从而迅速洞察业务动态,精准…...

大模型运维过程中常见的一些操作

1. 模型部署与环境配置 基础设施准备:部署 GPU 集群、TPU 等专用硬件,配置分布式计算环境(如 Kubernetes)。推理服务搭建:使用 Triton Inference Server、TensorFlow Serving 等框架部署模型,优化批处理和…...

C# 关于闭包与多线程结合使用

开头先看一篇文章&#xff1a;【转】编写高质量代码改善C#程序的157个建议——建议75&#xff1a;警惕线程不会立即启动 - 指间的徘徊 - 博客园d 摘抄&#xff1a; static int _id 0; static void Main() { for (int i 0; i < 10; i, _id) { Thread t new Thread…...

LangFuse:开源LLM工程平台的革新实践

文章目录 一 架构设计与技术栈二 增强型监控能力三 提示词工程支持&#xff08;新增&#xff09;四 性能优化实践五 LangFuse部署&#xff08;docker&#xff09;和代码集成5.1 LangFuse平台部署5.2 LangFuse代码集成和检测体验 一 架构设计与技术栈 LangFuse采用模块化架构设…...

新视角!经济学顶刊QJE用文本分析探究新技术扩散

美国圣路易斯联邦储备银行Aakash Kalyani、美国斯坦福大学与国家经济研究局Nicholas Bloom、英国伦敦商学院Marcela Carvalho和其合作者们共同研究的“The Diffusion of New Technologies&#xff08;新技术的扩散&#xff09;”在顶刊The Quarterly Journal of Economics中发表…...

微信小程序返回上一页监听

本文实现的是微信小程序在返回上一页时获取通知并自定义业务。 最简单的实现&#xff1a; 使用 wx.enableAlertBeforeUnload() 优点&#xff1a;快速接入 缺点&#xff1a;手势不能识别、无法自定义弹窗内容&#xff08;仅询问&#xff09; 方法二&#xff1a; page-conta…...

5月31日day41打卡

简单CNN 知识回顾 数据增强卷积神经网络定义的写法batch归一化&#xff1a;调整一个批次的分布&#xff0c;常用与图像数据特征图&#xff1a;只有卷积操作输出的才叫特征图调度器&#xff1a;直接修改基础学习率 卷积操作常见流程如下&#xff1a; 1. 输入 → 卷积层 → Batch…...

“粽”览全局:分布式系统架构与实践深度解析(端午特别版)

第一部分&#xff1a;引言——技术世界的“端午”第二部分&#xff1a;分布式系统概述——粽子节点初探第三部分&#xff1a;核心技术详解——技术“粽子”大解构 粽叶篇&#xff1a;通信协议糯米篇&#xff1a;一致性算法馅料篇&#xff1a;任务调度与计算包扎篇&#xff1a;系…...

STM32G4 电机外设篇(一) GPIO+UART

目录 一、STM32G4 电机外设篇&#xff08;一&#xff09; GPIOUART1 GPIO1.1 STM32CUBEMX 配置以及Keil代码1.2 代码和实验现象 2 UART2.1 STM32CUBEMX 配置以及Keil代码2.2 代码和实验现象 附学习参考网址欢迎大家有问题评论交流 (* ^ ω ^) 一、STM32G4 电机外设篇&#xff0…...

代理IP在云计算中的应用:技术演进与场景实践

一、技术融合的必然性&#xff1a;代理IP与云计算的协同效应 在数字化转型的浪潮中&#xff0c;云计算已成为企业IT架构的核心底座&#xff0c;而代理IP技术则作为网络访问的关键基础设施&#xff0c;两者在技术演进路径上呈现出深度融合的趋势。云计算的弹性资源池与代理IP的…...

Lua 的速度为什么比 Python 快

Lua 的执行速度通常比 Python 快&#xff0c;主要原因在于其解释器设计轻量、虚拟机效率高、内存管理策略更为精简&#xff0c;以及语言本身对动态特性的控制较严。其中&#xff0c;Lua 使用了 register-based 的虚拟机架构&#xff0c;而 Python&#xff08;CPython&#xff0…...

【iOS】方法交换

方法交换 method-swizzling是什么相关API方法交换的风险method-swizzling使用过程中的一次性问题在当前类中进行方法交换类方法的方法交换 方法交换的应用 method-swizzling是什么 method-swizzling的含义是方法交换&#xff0c;他的主要作用是在运行的时候将一个方法的实现替…...

跑步相关术语解释

老婆一直问我PB是啥意思&#xff0c;写个文章解释下。 1. 成绩类 PB &#xff08;Personal Best&#xff09;&#xff1a;个人最好成绩&#xff0c;指在特定距离&#xff08;如10K、全马&#xff09;中的最快完赛时间 。PW &#xff08;Personal Worst&#xff09;&#xff1…...

数据结构:线性表的基本操作与链式表达

个人主页 文章专栏 成名之作——赛博算命之梅花易数的Java实现 陆续回三中&#xff0c;忘回漏回滴滴~感谢各位大佬的支持 一.线性表的定义和基本操作 1.1定义 线性表是具有相同数据类型的n个数据元素的有序数列&#xff0c;n为表长 第一个元素叫表头元素&#xff0c;除了他…...

C++:设计模式--工厂模式

更多内容&#xff1a;XiaoJ的知识星球 目录 1.简单工厂模式1.1 简单工厂1.2 实现步骤1.3 实现代码1.4 优缺点 2.工厂模式2.1 工厂模式2.2 实现步骤2.3 实现代码2.4 优缺点 3.抽象工厂模式3.1 抽象工厂模式3.2 实现步骤3.3 实现代码3.4 优缺点 1.简单工厂模式 . 1.1 简单工厂 …...

【前端优化】使用speed-measure-webpack-plugin分析前端运行、打包耗时,优化项目

记录下 项目安装speed-measure-webpack-plugin 打包分析&#xff1a; 修改vue.config.js文件 speed-measure-webpack-plugin进行构建速度分析&#xff0c;需要包裹整个 configureWebpack 配置 const originalConfig {publicPath: /,assetsDir: assets,parallel: true,devS…...

国产化Excel处理组件Spire.XLS教程:如何使用 C# 将 Excel(XLS 或 XLSX)文件转换为 PDF

Excel 是常见的数据处理与呈现工具&#xff0c;但直接共享 Excel 文件可能面临格式错乱、兼容性不足或数据泄露的风险。为了保证文档在不同平台和终端上的稳定展示&#xff0c;开发者常常需要将 Excel 文件转换为 PDF 格式。 本文将详细介绍如何使用 C#和.NET Excel 库——Spi…...

B3623 枚举排列(递归实现排列型枚举)

B3623 枚举排列&#xff08;递归实现排列型枚举&#xff09; - 洛谷 题目描述 今有 n 名学生&#xff0c;要从中选出 k 人排成一列拍照。 请按字典序输出所有可能的排列方式。 输入格式 仅一行&#xff0c;两个正整数 n,k。 输出格式 若干行&#xff0c;每行 k 个正整数…...

vue-08(使用slot进行灵活的组件渲染)

使用slot进行灵活的组件渲染 作用域slot是 Vue.js 中的一种强大机制&#xff0c;它允许父组件自定义子组件内容的呈现。与仅向下传递数据的常规 props 不同&#xff0c;作用域 slot 为父级提供了一个模板&#xff0c;然后子级可以填充数据。这提供了高度的灵活性和可重用性&am…...

Fine Pruned Tiled Light Lists(精细删减的分块光照列表)

概括 在这篇文章&#xff0c; 我将介绍一种Tiled Light 变体&#xff0c;主要针对AMD Graphics Core Next&#xff08;GCN&#xff09;架构进行优化&#xff0c;我们的方法应用于游戏 古墓丽影:崛起 中&#xff0c;特别是我们在通过光列表生成和阴影贴图渲染之间交错进行异步计…...