Mercurial > sdl-ios-xcode
view docs/html/audio.html @ 4137:be12463f31ea SDL-1.2
Date: Sat, 2 Feb 2008 22:08:05 +0100
From: Marcus von Appen
To: sdl@lists.libsdl.org
Subject: [SDL] [Patch] SDL-1.2 SDL_revcpy() asm patch for the cld flag
Hi,
as reported through the FreeBSD bug tracking system in SDL 1.2.13 (and
in the 1.2 branch, if I see that correctly) the SDL_revcpy() macro sets
the direction flag (std), but does not clear it afterwards (cld), which
is wrong according to the GCC and SYS V specs. This can cause some
weird side effects, which in turn can lead to memory corruption.
You can read the full report with a detailed description and test
program at http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/120052
Attached is the submitted patch, which fixes the issue.
Regards
Marcus
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Mon, 04 Feb 2008 17:22:56 +0000 |
parents | 355632dca928 |
children |
line wrap: on
line source
<HTML ><HEAD ><TITLE >Audio</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ "><LINK REL="HOME" TITLE="SDL Library Documentation" HREF="index.html"><LINK REL="UP" TITLE="SDL Reference" HREF="reference.html"><LINK REL="PREVIOUS" TITLE="SDL_JoystickClose" HREF="sdljoystickclose.html"><LINK REL="NEXT" TITLE="SDL_AudioSpec" HREF="sdlaudiospec.html"><META NAME="KEYWORD" CONTENT="audio"><META NAME="KEYWORD" CONTENT="function"></HEAD ><BODY CLASS="CHAPTER" BGCOLOR="#FFF8DC" TEXT="#000000" LINK="#0000ee" VLINK="#551a8b" ALINK="#ff0000" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >SDL Library Documentation</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="sdljoystickclose.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="sdlaudiospec.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="CHAPTER" ><H1 ><A NAME="AUDIO" ></A >Chapter 10. Audio</H1 ><DIV CLASS="TOC" ><DL ><DT ><B >Table of Contents</B ></DT ><DT ><A HREF="sdlaudiospec.html" >SDL_AudioSpec</A > -- Audio Specification Structure</DT ><DT ><A HREF="sdlopenaudio.html" >SDL_OpenAudio</A > -- Opens the audio device with the desired parameters.</DT ><DT ><A HREF="sdlpauseaudio.html" >SDL_PauseAudio</A > -- Pauses and unpauses the audio callback processing</DT ><DT ><A HREF="sdlgetaudiostatus.html" >SDL_GetAudioStatus</A > -- Get the current audio state</DT ><DT ><A HREF="sdlloadwav.html" >SDL_LoadWAV</A > -- Load a WAVE file</DT ><DT ><A HREF="sdlfreewav.html" >SDL_FreeWAV</A > -- Frees previously opened WAV data</DT ><DT ><A HREF="sdlaudiocvt.html" >SDL_AudioCVT</A > -- Audio Conversion Structure</DT ><DT ><A HREF="sdlbuildaudiocvt.html" >SDL_BuildAudioCVT</A > -- Initializes a SDL_AudioCVT structure for conversion</DT ><DT ><A HREF="sdlconvertaudio.html" >SDL_ConvertAudio</A > -- Convert audio data to a desired audio format.</DT ><DT ><A HREF="sdlmixaudio.html" >SDL_MixAudio</A > -- Mix audio data</DT ><DT ><A HREF="sdllockaudio.html" >SDL_LockAudio</A > -- Lock out the callback function</DT ><DT ><A HREF="sdlunlockaudio.html" >SDL_UnlockAudio</A > -- Unlock the callback function</DT ><DT ><A HREF="sdlcloseaudio.html" >SDL_CloseAudio</A > -- Shuts down audio processing and closes the audio device.</DT ></DL ></DIV ><P >Sound on the computer is translated from waves that you hear into a series of values, or samples, each representing the amplitude of the wave. When these samples are sent in a stream to a sound card, an approximation of the original wave can be recreated. The more bits used to represent the amplitude, and the greater frequency these samples are gathered, the closer the approximated sound is to the original, and the better the quality of sound.</P ><P >This library supports both 8 and 16 bit signed and unsigned sound samples, at frequencies ranging from 11025 Hz to 44100 Hz, depending on the underlying hardware. If the hardware doesn't support the desired audio format or frequency, it can be emulated if desired (See <A HREF="sdlopenaudio.html" ><TT CLASS="FUNCTION" >SDL_OpenAudio()</TT ></A >)</P ><P >A commonly supported audio format is 16 bits per sample at 22050 Hz.</P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="sdljoystickclose.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="sdlaudiospec.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >SDL_JoystickClose</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="reference.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >SDL_AudioSpec</TD ></TR ></TABLE ></DIV ></BODY ></HTML >