[Live-devel] streaming WAV files...
Matthew.Romaine at jp.sony.com
Mon Apr 12 16:19:08 PDT 2004
1) Just a little confused by your explanation (I'm new to
networking...). From your explanation, I gather network order is
big-endian. You state that this conversion for a WAV file was
*incorrect* to do "...before streaming them". Yet your last line on
what the *correct* procedure to do also says "... convert ... from
little to big-endian order prior to streaming." Curious why there
would be any endian conversion at all, seeing as that should be the
client's responsibility before placing it in some audio buffer, no?
2) In setting up my development environment, I had to change all *.hh
files to *.h (since my IDE -- XCode -- doesn't let users define
extension mappings). This of course has meant having to change all
*.cpp files to #include the new filename and recompiling the libraries
myself. Not that big a deal for a single user, but I'm wondering if
there were any plans to use the more conventional *.hxx or just *.h?
I'm not sure what your future plans are w.r.t. the liveMedia package,
but from the initial search I did to find a networking API to work off
of, I found liveMedia the most intuitive. I would think OSX developers
interested in at least cross-*nix compatibility might appreciate the
extension change. I also noticed one of your ToDo's is to get a
D'Oxygen resource going; I would be happy to start adding
D'Oxygen-style comments to your source as I work along it, but only if
the header-extension issue is resolved. As it stands, I have to diff
all files from a new source release to figure out which ones to rename
and import into my project file.
On 2004/04/10, at 3:25, Ross Finlayson wrote:
> OK, I've now found and fixed the problem.
> The problem was, indeed, byte-order related. After reading the
> samples from the WAV file, I was converting them from 'host' to
> 'network' (i.e., big-endian) byte order before streaming them. This
> was incorrect, because the samples are always stored in the file in
> little-endian order. The correct thing to do was to convert them from
> little to big-endian order prior to streaming.
> I have now installed a new version (2004.04.09) of the "LIVE.COM
> Streaming Media" code that fixes the problem. "testWAVAudioStreamer"
> and "testOnDemandRTSPServer" should now stream WAV audio files
> correctly, even on big-endian machines (like the Mac).
> Matt, thanks for bringing our attention to this problem.
> Ross Finlayson
> live-devel mailing list
> live-devel at lists.live.com
Matthew M.I. Romaine
IMNC Audio Codec Group
More information about the live-devel