view docs/index.html @ 1524:38a12fd1a2c1

Fixed bug #46 Date: Fri, 13 Jan 2006 18:09:45 -0500 From: mhall4400 vipmail kvcc edu Subject: Possible SDL bug Greetings I believe Ive come across a bug in your SDL product (1.2.9), in the CD-ROM control portion of the library. When calling the SDL_CDPlay() function to play the last track of a CD using the offset and length from an SDL_CD structure generated by SDL_CDOpen(), I get the following error from a call to SDL_Error(): mciSendCommand() error: The specified parameter is out of range for the specified command. The code returning the error is: SDL_CDPlay(g_playingDriveSDLCD, g_playingDriveSDLCD->track[trackNumberInt].offset, g_playingDriveSDLCD->track[trackNumberInt].length) Subtracting one from the length of the provided length seems to repair the problem: SDL_CDPlay(g_playingDriveSDLCD, g_playingDriveSDLCD->track[trackNumberInt].offset, (g_playingDriveSDLCD->track[trackNumberInt].length) - 1) Ive replicated this problem on Windows 98 SE (several months since last patch), fully-patched Window ME, seldom-patched Windows XP SP1, and fully-patched Windows XP SP2. While investigating the issue, I came across a line in your librarys win32 source code in file \src\cdrom\win32\SDL_syscdrom.c (source code zip archive from your download page), function: SDL_SYS_CDGetTOC(), line 226 where you add 1 to the value for length to fix MCI last track length bug. This may be the source of the issue (because subtracting 1 from the length seems to resolve the issue). Microsoft may have patched the referenced bug since you wrote that line. Mike Hall
author Sam Lantinga <slouken@libsdl.org>
date Tue, 14 Mar 2006 05:34:39 +0000
parents 74212992fb08
children 14717b52abc0
line wrap: on
line source

<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
<HTML
><HEAD
><TITLE
>Introduction</TITLE
>
</HEAD
><BODY
BGCOLOR="#FFF8DC"
TEXT="#000000"
LINK="#0000ee"
VLINK="#551a8b"
ALINK="#ff0000"
><DIV
CLASS="NAVHEADER"
>
<HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="PREFACE"
><H1
><A
NAME="AEN8"
>Introduction</A
></H1
><P
>This library is designed to make it easy to write games that run on Linux,
Win32 and BeOS using the various native high-performance media interfaces,
(for video, audio, etc) and presenting a single source-code level API to
your application.  This is a fairly low level API, but using this, completely
portable applications can be written with a great deal of flexibility.</P
><P
>The library is loaded as a dynamically linked library on its native
platform, and is currently compiled natively for Linux, compiled for
Win32 using a Linux hosted GCC
<A
HREF="http://www.libsdl.org/Xmingw32/"
TARGET="_top"
>cross-compilation</A
>
environment, and compiled using the EGCS C++ compiler under BeOS.</P
><P
>An introduction to SDL can be found online at:
<A
HREF="http://www.libsdl.org/intro/toc.html"
TARGET="_top"
>http://www.libsdl.org/intro/</A
>&#13;</P
><P
>There are code examples on each of the main library pages, and there are
fully fleshed example C++ classes and programs in the examples archive,
available on the
<A
HREF="http://www.libsdl.org/download.html"
TARGET="_top"
>SDL download page</A
>.</P
><P
>For an introduction to basic multi-media programming concepts, you might try
some of the following links:
<P
></P
><UL
><LI
><P
><A
HREF="http://www.ziron.com/links/"
TARGET="_top"
>Game Programming Links</A
></P
></LI
><LI
><P
><A
HREF="http://developer.dungeon-crawl.com/"
TARGET="_top"
>Game Developer Search Engine</A
></P
></LI
></UL
></P
><P
>Enjoy!</P
><P
>&nbsp;&nbsp;&nbsp; Sam Lantinga
<TT
CLASS="EMAIL"
>&#60;<A
HREF="mailto:slouken@libsdl.org"
><A
HREF="mailto:slouken@libsdl.org"
TARGET="_top"
>slouken@libsdl.org</A
></A
>&#62;</TT
></P
>
<P>
<br><br><HR>
<H1>Table of Contents</H1>
<UL>
<LI><A HREF="html/index.html">Full Table of Contents</A></LI>
<LI><A HREF="html/guide.html">The SDL Guide</A></LI>
<LI><A HREF="html/reference.html">The SDL Reference</A></LI>
<UL>
<LI><A HREF="html/general.html">Initialization</A></LI>
<LI><A HREF="html/video.html">Video</A></LI>
<LI><A HREF="html/wm.html">Window Manager</A></LI>
<LI><A HREF="html/event.html">Event Handling</A></LI>
<LI><A HREF="html/joystick.html">Joystick</A></LI>
<LI><A HREF="html/audio.html">Audio</A></LI>
<LI><A HREF="html/cdrom.html">CDROM</A></LI>
<LI><A HREF="html/thread.html">Threads</A></LI>
<LI><A HREF="html/time.html">Timers</A></LI>
</UL>
</UL>
</DIV
></BODY
></HTML
>