基于amlogic A113X 平台的SDL2移植

本文主要介绍在A113X(arm) 平台上移植SDL2,因为主要用于做音频输出,所以在configure阶段做了一些详细配置,移植成功的libsdl2可以用来播放音频,我所移植的版本是sdl2.0.8

1. 配置


./configure --prefix=$HOME/SDL_build --host=arm-linux --disable-video --disable-render --disable-events --disable-joystick --disable-haptic --disable-power --disable-filesystem --disable-atomic --disable-diskaudio --disable-oss --disable-dummyaudio --disable-threads --disable-timers --disable-file --disable-loadso --disable-cpuinfo --disable-assembly --disable-mmx --disable-3dnow --disable-sse --disable-altivec --disable-jack --disable-jack-shared --disable-esd --disable-esd-shared --disable-arts-shared --disable-nas --disable-nas-shared --disable-sndio --disable-sndio-shared --disable-video-wayland --disable-video-wayland-qt-touch --disable-wayland-shared --disable-video-mir --disable-mir-shared --disable-video-rpi --disable-video-x11 --disable-x11-shared --disable-video-x11-xcursor --disable-video-x11-xdbe --disable-video-x11-xinerama --disable-video-x11-xinput --disable-video-x11-xrandr --disable-video-x11-scrnsaver --disable-video-x11-xshape --disable-video-x11-vm --disable-video-vivante --disable-video-cocoa --disable-render-metal --disable-directfb-shared --disable-video-kmsdrm --disable-kmsdrm-shared --disable-video-dummy --disable-video-opengl --disable-video-opengles --disable-video-opengles1 --disable-video-opengles2 --disable-video-vulkan --disable-libudev --disable-dbus --disable-ime --disable-ibus --disable-fcitx --disable-directx --disable-input-tslib --disable-render-d3d --disable-pulseaudio --disable-pulseaudio-shared --disable-static --with-sysroot=/opt/A113X/sysroot CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++

2. 编译安装


make && make install 

3. 使用

这里将ffmpeg解码出来的PCM数据冲采样后调用sdl2接口进行的播放,完成了简单的播放器,其实sdl2在a113x平台上输出音频最终还是调用alsa接口,只不过在sdl2中对音频数据做了缓存来减少xrun发生的几率,为了占用更少的资源做同样的事情,后期可以尝试去掉sdl2,直接改成调用alsa接口播放音频。

猜你喜欢

转载自blog.csdn.net/u011994171/article/details/88689107