Basic S/PDIF Recording

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Let me first describe the concepts I understand and then I might be
able to ask some questions that make sense.

Data is broken up on an S/PDIF stream into 64-bit frames grouped into
192-frame blocks (1536-byte blocks). Assuming I can properly decode
all of the status bits in each frame, blah blah blah, I can end up
with either a PCM stream or, let's say, a compressed-audio stream
consisting of AC-3 to DTS bitstream data. (For example, I might be
recording the output of a DVD player.)

Once I have the specific information about what to do with the
bitstream (either record it directly to file if it's PCM or run it
through a decoder if it's AC-3 or DTS), I'm golden. The problem somes
in my trying to figure out the proper way to open a device and record
the output so I can do whatever it is I need to do.

So, from the beginning, I know I'll need to open a device. Normally,
I'd use snd_pcm_open() on "hw:0,0" (for example) but I'm not sure
that's even appropriate here. I want to be opening the decive for
S/PDIF capture, not necessarily "PCM" capture.

Also, once the device is open I don't know of any real hardware
parameters I might want to set. Maybe I should be setting the
buffer/period parameters but the rate at which I receive data from the
interface is not necessarily constant.

I'll assume I want to read in blocks of 1536 bytes-at-a-time as long
as ALSA is properly synchronizing to the S/PDIF frame and giving me
aligned blocks. Is this an assumption I can make?

Some pointers on where to start learning about all of this would be
great. After reading lots of documents I could currently find and
trying to read code in existing programs I don't see anything that
answers my questions so I know what I'm doing.

Thanks!


Paul Braman

------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user


[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux