aboutsummaryrefslogtreecommitdiffstats
path: root/src/audio_format.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* all: Update copyright header.Avuton Olrich2009-03-131-6/+7
| | | | | | | | This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
* audio_format: allow 32 bit samplesMax Kellermann2009-03-021-1/+1
| | | | | | This is the first patch in a series to enable 32 bit audio samples in MPD. 32 bit samples are more tricky than 24 bit samples, because the integer may overflow when you operate on a sample.
* audio_format: allow up to 8 channelsMax Kellermann2009-03-021-1/+1
| | | | | | | audio_valid_sample_format() verifies the number of channels. Let's just say up to 8 channels is allowed (which is possible with some consumer sound chips). I don't know if there are bigger cards, and since I cannot test it, I'll limit it to 8 for now.
* audio_format: added validation functionsMax Kellermann2009-02-111-3/+34
| | | | | | In addition to audio_format_valid(), provide functions which validate only one attribute of an audio_format. These functions are reused by audio_format_parse().
* audio_format: added audio_format_valid()Max Kellermann2008-11-211-0/+11
|
* added prefix to header macrosMax Kellermann2008-10-311-2/+2
| | | | | | | "LOG_H" is a macro which is also used by ffmpeg/log.h. This is ffmpeg's fault, because short macros should be reserved for applications, but since it's always a good idea to choose prefixed macro names, even for applications, we are going to do that in MPD.
* audio_format: added audio_format_frame_size()Max Kellermann2008-10-101-1/+7
| | | | | | | A frame contains one sample per channel, thus it is sample_size * channels. This patch includes some cleanup for various locations where the sample size for 24 bit audio was still 3 bytes (instead of 4).
* audio_format: renamed sampleRate to sample_rateMax Kellermann2008-10-101-5/+5
| | | | | The last bit of CamelCase in audio_format.h. Additionally, rename a bunch of local variables.
* audio_format: unsigned integersMax Kellermann2008-10-101-2/+2
| | | | "bits" and "channels" cannot be negative.
* use the "bool" data type instead of "int"Max Kellermann2008-10-081-3/+4
| | | | "bool" should be used in C99 programs for boolean values.
* assume stdint.h and stddef.h are availableMax Kellermann2008-09-291-1/+1
| | | | | | Since we use a C99 compiler now, we can assert that the C99 standard headers are available, no need for complicated compile time checks. Kill mpd_types.h.
* switch to C99 types, part IIMax Kellermann2008-09-291-3/+3
| | | | | Do full C99 integer type conversion in all modules which were not touched by Eric's merged patch.
* audio_format: added audio_format_sample_size()Max Kellermann2008-09-231-2/+15
| | | | | | The inline function audio_format_sample_size() calculates how many bytes each sample consumes. This function already takes into account that 24 bit samples are 4 bytes long, not 3.
* audio_format: added audio_format_clear() and audio_format_defined()Max Kellermann2008-09-101-0/+12
| | | | | | | | | audio_format_clear() sets an audio_format struct to an cleared (undefined) state, which is both faster and smaller than memset(0). audio_format_defined() checks if the audio_format struct actually has a defined value (i.e. non-zero). Both can be used to avoid pointers to audio_format, replacing the "NULL" value with an "undefined" audio_format.
* audio: moved cmpAudioFormat() to audio_format.hMax Kellermann2008-09-091-0/+8
| | | | | Rename it to audio_format_equals() and return "true" if they are equal.
* pack the struct audio_formatMax Kellermann2008-09-071-1/+1
| | | | | | Due to clumsy layout, the audio_format struct took 12 bytes. Move the "channels" to the end, so it can be merged into the same 32 bit slot as "bits", which reduces the struct size to 8 bytes.
* audio_format: converted typedef AudioFormat to struct audio_formatMax Kellermann2008-09-071-4/+4
| | | | | Get rid of CamelCase, and don't use a typedef, so we can forward-declare it, and unclutter the include dependencies.
* audio_format: volatile removalEric Wong2008-09-071-3/+3
| | | | | | | | | | | | | | | | | volatile provides absolutely no guarantee thread-safety in SMP environments. volatile was designed to access memory locations in peripheral hardware directly; not for SMP. If volatile is needed to work properly on SMP, then it is only hiding subtle bugs. volatile only prevents the /compiler/ from making optimizations when accessing variables. CPUs do their own optimizations at runtime so it cannot guarantee registers of CPUs are flushed to memory cache-coherent access on different CPUs. Furthermore, the thread-communication via condition variables between threads sharing audio formats already results in memory barriers.
* added inline function audio_format_time_to_size()Max Kellermann2008-08-261-0/+5
| | | | | Make the code more readable by hiding big formulas in an inline function with a nice name.
* moved struct AudioFormat to audio_format.hMax Kellermann2008-08-261-0/+35
We want to expose the AudioFormat structure to plugins; remove some clutter by moving its declaration to a separate header file.