sdl

一步步实现windows版ijkplayer系列文章之三——Ijkplayer播放器源码分析之音视频输出——音频篇

こ雲淡風輕ζ 提交于 2020-04-20 15:19:05
一步步实现windows版ijkplayer系列文章之一——Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二——Ijkplayer播放器源码分析之音视频输出——视频篇 一步步实现windows版ijkplayer系列文章之三——Ijkplayer播放器源码分析之音视频输出——音频篇 一步步实现windows版ijkplayer系列文章之四——windows下编译ijkplyer版ffmpeg 一步步实现windows版ijkplayer系列文章之五——使用automake一步步生成makefile 一步步实现windows版ijkplayer系列文章之六——SDL2源码分析之OpenGL ES在windows上的渲染过程 一步步实现windows版ijkplayer系列文章之七——终结篇(附源码) #一步步实现windows版ijkplayer系列文章之三——Ijkplayer播放器源码分析之音视频输出——音频篇 这篇文章的ijkplayer音频源码研究我们还是选择Android平台,它的音频解码是不支持硬解的,音频播放使用的API是OpenSL ES或AudioTrack。 OpenSL ES & AudioTrack OpenSL ES 什么是OpenSL ES?下面来自官网的说明: OpenSL

AddInstanceForFactory & HALC_ShellDriverPlugIn errors when using SDL2 with Xcode?

笑着哭i 提交于 2020-04-14 07:38:12
问题 I am trying to make a simple game using SDL2 and C++ on Xcode 11.2.1; however, my progress has been stopped by an error. All it takes to encounter these errors is simply initializing SDL. Just calling this function will cause the program to crash: SDL_Init(SDL_INIT_EVERYTHING); Giving these errors: Westerino[16795:847932] Metal API Validation Enabled Westerino[16795:848288] flock failed to lock maps file: errno = 35 Westerino[16795:848288] flock failed to lock maps file: errno = 35 Westerino

Data loader 对某个对象定时备份

♀尐吖头ヾ 提交于 2020-04-14 02:54:10
【今日推荐】:为什么一到面试就懵逼!>>> 最近项目遇到一个需求是对某个对象每天备份。首先想到是SFDC标准功能备份,无奈,标准功能最小时间为周。客户需要的是每天备份。那只能借助其它工具,目前使用过的有 jitterbit 需要安装客户端,可视化配置,在本地配置好后推送到云端,需要注册帐号。可以连数据库,CSV等等,有免费版,官网上有不同版本对比和限制。由于目前只有一个对象需要备份以及客户那边涉及到审查就没有采用。另一个就是SFDC自家的Data loader,查了一下在windows下能借助脚本实现备份,于是就开始折腾也为后面学习Data loader的代码作铺垫。 ** 如果你有什么好的方法和工具欢迎留言**。 一 Data loader 命令行 1. Windows的系统要求 需要为 Data Loader Windows 签名。要使用 Data Loader for Windows,您需要: Microsoft® Windows® 7、Windows® 8 或 Windows® 10 120 MB 可用磁盘空间 256 MB 可用内存 Java JRE 1.8(32 位) 2. 通过命令行获取密码 通过命令行进入到data loader安装目录 encrypt.bat -g -字符串 (字符串可以是任意的) 执行后得到一串字符 将该字符串复制到一个文本中保存为key.txt

(未完成)ARM-linux 移植 SDL

生来就可爱ヽ(ⅴ<●) 提交于 2020-04-04 05:37:45
ref : https://blog.csdn.net/u012075739/article/details/24877639 2. 交叉编译 SDL 编译SDL前先要编译其依赖库 tslib、libiconv Tslib $ cd tslib-1.4 $ sudo apt-get install libtool automake autoconf $ ./autogen.sh $ echo "ac_cv_func_malloc_0_nonnull=yes"> arm-linux.cache $ ./configure --prefix=/xyq/cross_compile/SDL --host=arm-linux --cache-file=arm-linux.cache $ make $ make install Libiconv $ cd ../libiconv-1.14 $ ./configure --prefix=/xyq/cross_compile/SDL --host= arm-linux --with-gnu-ld $ make $ make install SDL $ cd ../SDL-1.2.14 $ ./configure --prefix=/xyq/cross_compile/SDL --host= arm-linux --build=i386 --with

学习了系统安全相关知识

这一生的挚爱 提交于 2020-03-25 12:13:28
3 月,跳不动了?>>> 公司参加了极客时间的活动,一个月内可以免费学习3门课程。安全攻防一课讲得蛮好,讲师有丰富的从业经验,所讲的都是比较系统又实用(符合业界潮流)内容,以下是的相关内容。 一、安全指什么。安全的原则:机密、完整、可用。 二、解决的方案。黄金法则:认证、授权、审计 三、密码学、认证方式、权限控制(自主控制,基于规则、角色、标签) 四、安全的思路:识别数据,识别攻击,识别漏洞。Web安全:Xss、Sql注入、Csrf/Ssrf 五、反序列化、信息泄漏、插件漏洞(中间件)、权限提升、Linux安全、网络安全、Docker安全、数据库安全、分布式安全 六、安全的标准有哪些 七、防火墙、WAF(Web应用防火墙)、IDS(入侵检测)、RASP(软件自我防护) 八、SIEM(安全运营):技术总是短期内被高估,在长期内又被低估。SDL:安全开发生命周期(安全培训、需求分析、设计、开发、测试、部署和响应) 九、业务安全。识别、保护、检测、响应、恢复。黑灰产-产业链-虚拟设备-安全运营(误伤和漏扫的选择) 十、大幅提升安全的手段:基法 十一、内部的泄密、前端的代码保护 十二、安全工程师的岗位要求、成长方式 十三、IoT、IPv6、区块链中的安全新问题 来源: oschina 链接: https://my.oschina.net/sqhua/blog/3210726

What is the best way to read input from keyboard using SDL?

邮差的信 提交于 2020-03-17 05:57:07
问题 I'm running an update() method n times per second to "update" the keyboard input from the user so I can read it later in the logic part of the program. So I find two ways of implementing this in the SDL Docs and I'm not sure which one should I use. 1; Loop for all events using SDL_PollEvent searching for key down/up events and saving the key states in a map so I can check for each key state in the logic of the program. Note: Alternatively, I can also use SDL_PeepEvents instead of SDL

SDL中的Anti-aliasing

半腔热情 提交于 2020-03-15 03:11:31
  默认情况下,SDL2中默认是不启用 MSAA.为了能启用,必须做些设置.如果渲染器工作在OpenGL/ES模式下,那么直接使用: SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS,1); SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES,n); 即可,如果再windows下,渲染器会自动选择D3D作为渲染接口,那么我们要强行把渲染设备切换到OpenGL模式: SDL_SetHint(SDL_HINT_RENDER_DRIVER,"opengl"); 但是在DirectX中如何设置MSAA呢,查看SDL2源码发现: D3DPRESENT_PARAMETERS pparams; ... ... result = IDirect3D9_CreateDevice(data->d3d, data->adapter, D3DDEVTYPE_HAL, pparams.hDeviceWindow, device_flags, &pparams, &data->device); 这是SDL2初始化D3D设备的一段代码,根据MSDN,设置D3D的MSAA,必须加上: pparams.MultiSampleQuality=n; pparams.MultiSampleType= D3DMULTISAMPLE_TYPE;

SDL入门学习续-在SDL中使用OpenGL

雨燕双飞 提交于 2020-03-15 03:05:12
配置好SDL之后,就想在SDL中使用openGL,原以为会像在GLFW中那样简单的,实际上确花费了一整个下午不断查看文档,实例才搞定问题。 相关阅读: SDL入门学习教程 http://www.linuxidc.com/Linux/2012-12/75255.htm 总结如下: 1)SDL对OpenGL进行了部分的封装,一些OpenGL的函数需要用SDL来实现,而不是像GLFW中那样直接用; 2)SDL的事件机制花费了一些时间来理解; 3)在处理OpenGL窗口大小变化的时候,需要先调用SDL_SetVideoMode才可以得到正确结果。 最终基本实现了一个opengl的小型框架,包括一些简单的事件处理。 代码: /***************************************************************************** Copyright: 2012, ustc All rights reserved. contact:k283228391@126.com File name: main.c Description:using opengl in SDL. Author:Silang Quan Version: 1.0 Date: 2012.12.01 ****************************************

带着问题,再读ijkplayer源码

江枫思渺然 提交于 2020-03-09 21:30:29
问题 - 主流程上的区别 - 缓冲区的设计 - 内存管理的逻辑 - 音视频播放方式 - 音视频同步 - seek的问题:缓冲区flush、播放时间显示、k帧间距大时定位不准问题… - stop时怎么释放资源,是否切换到副线程? - 网络不好时的处理,如获取frame速度慢于消耗速度时,如果不暂停,会一致卡顿,是否会主动暂停? - VTB的解码和ffmpeg的解码怎么统一的?架构上怎么设计的? 数据流向 主流程更详细看ijkPlayer主流程分析 音频 - av_read_frame - packet_queue_put - audio_thread+decoder_decode_frame+packet_queue_get_or_buffering - frame_queue_peek_writable+frame_queue_push - audio_decode_frame+frame_queue_peek_readable,数据到is->audio_buf sdl_audio_callback,数据导入到参数stream里。这个函数是上层的音频播放库的buffer填充函数,如iOS里使用audioQueue,回调函数IJKSDLAudioQueueOuptutCallback调用到这里,然后把数据传入到audioQueue. 视频 读取packet部分一样 video

FFmpeg 入门(3):播放音频

戏子无情 提交于 2020-03-09 06:57:35
本文转自: FFmpeg 入门(3):播放音频 | www.samirchen.com 音频 SDL 提供了播放音频的方法。 SDL_OpenAudio 函数用来让设备播放音频,它需要我们传入一个包含了所有我们输出需要的音频信息的 SDL_AudioSpec 结构体数据。 在展示接下来的代码之前,我们先说说 PC 上是如何处理音频的。数字音频包含了一长串 「音频采样(sample)」 ,每一个采样代表着一个音频波形的值。声音是在一定的 「音频采样率(sample rate)」 下被录制下来的,音频采样率即每秒音频采样的数量,表示的是播放音频速度。常见的音频采样率是 22500 和 44100,分别用于广播和 CD。此外,大部分音频还可以用更多的通道来实现立体声和环绕声等效果,比如立体声会一次来 2 个音频采样。这样当我们从媒体文件中获取数据时,我们不知道我们会获得多少音频采样,而 FFmpeg 也不会只给我们部分采样,也就是说,它不会对立体声的多通道采样进行分割。 SDL 的音频播放的实现大致是这样的:创建 SDL_AudioSpec 结构体,设置你的音频播放数据,包括:采样率(freq)、音频格式(format)、通道数(channels)、采样大小(samples)、回调函数(callback)和用户数据(userdata)等。当开始播放音频时,SDL