Re: IO stream format
Re: IO stream format
- Subject: Re: IO stream format
- From: Brian Willoughby <email@hidden>
- Date: Thu, 26 Jul 2001 11:51:47 -0700
Jeff Moore commented:
[ The current audio stack is designed to support moving around just
[ about any kind of constant bit rate audio data. Time stamping is
[ integral to everything that goes on.
[
[ I'm not really sure what you are asking about here. Maybe an
[ example would help.
At the risk of jumping in the middle here, I believe Bernd is referring to
meta data that is transmitted on the digital audio cable. Examples of this
meta data include copy-prohibit-flag, track-boundary, and probably mute, etc.
If you look at the specification for the various digital audio transmission
formats, you'll see 16 to 24 bits for audio data with several other bits
allocated to this meta data. Some flags appear in the unused "audio" bits when
only 16 bit samples are transmitted, while other flags appear outside the 24
audio bits in areas reserved for the "header." Of course, one of the "header"
bits is assigned to indicate whether 16 or 24 bits of data are allocated to
audio, so it is never the case that a playback system might "hear" the extra
flags.
This is a good point to discuss, because I believe that coreAudio only
supports the audio samples themselves, not any of the framing or other bit
information that might be transmitted. In other words, if the bits are there,
you'll hear them! Which might sound rather bad if you're trying to pass around
meta data.
Brian Willoughby
Sound Consulting
Begin forwarded message:
on 7/26/01 4:08 AM, Tonkopf <email@hidden> wrote:
>
An example: instead of just setting/reading the copy-prohibit-flag, some
>
vendors do viable things with their S/P-DIF-implementations in
>
consumer-level devices - they transmit track boundaries and such in the
>
stream headers so you don't have to set them manually.
>
AFAIK there is currently one sound card dealing with track boundaries (and
>
only drivers for "another" OS supporting that feature).
>
Does the coreAudio API support modifying/analyzing IO stream headers in such
>
a general sense?