]> code.delx.au - pulseaudio/blobdiff - src/pulse/sample.h
Merge remote-tracking branch 'mkbosmans/merge/build-sys'
[pulseaudio] / src / pulse / sample.h
index aef34b6b09a00a8a2568d25554eb5f8259804a64..c9e6fc4851716e128e806d1b990ac13618b7bf31 100644 (file)
@@ -71,7 +71,7 @@
  *
  * \section chan_sec Channels
  *
- * PulseAudio supports up to 32 individiual channels. The order of the
+ * PulseAudio supports up to 32 individual channels. The order of the
  * channels is up to the application, but they must be continous. To map
  * channels to speakers, see \ref channelmap.
  *
  */
 
 /** \file
- * Constants and routines for sample type handling */
+ * Constants and routines for sample type handling
+ *
+ * See also \subpage sample
+ */
 
 PA_C_DECL_BEGIN
 
@@ -221,7 +224,7 @@ typedef enum pa_sample_format {
 #define PA_SAMPLE_FLOAT32 PA_SAMPLE_FLOAT32NE
 
 /** \cond fulldocs */
-/* Allow clients to check with #ifdef for thse sample formats */
+/* Allow clients to check with #ifdef for these sample formats */
 #define PA_SAMPLE_U8 PA_SAMPLE_U8
 #define PA_SAMPLE_ALAW PA_SAMPLE_ALAW
 #define PA_SAMPLE_ULAW PA_SAMPLE_ULAW
@@ -302,9 +305,36 @@ pa_sample_format_t pa_parse_sample_format(const char *format) PA_GCC_PURE;
 /** Pretty print a sample type specification to a string */
 char* pa_sample_spec_snprint(char *s, size_t l, const pa_sample_spec *spec);
 
+/** Maximum required string length for pa_bytes_snprint(). Please note
+ * that this value can change with any release without warning and
+ * without being considered API or ABI breakage. You should not use
+ * this definition anywhere where it might become part of an
+ * ABI. \since 0.9.16 */
+#define PA_BYTES_SNPRINT_MAX 11
+
 /** Pretty print a byte size value. (i.e. "2.5 MiB") */
 char* pa_bytes_snprint(char *s, size_t l, unsigned v);
 
+/** Return 1 when the specified format is little endian, return -1
+ * when endianess does not apply to this format. \since 0.9.16 */
+int pa_sample_format_is_le(pa_sample_format_t f) PA_GCC_PURE;
+
+/** Return 1 when the specified format is big endian, return -1 when
+ * endianess does not apply to this format. \since 0.9.16 */
+int pa_sample_format_is_be(pa_sample_format_t f) PA_GCC_PURE;
+
+#ifdef WORDS_BIGENDIAN
+#define pa_sample_format_is_ne(f) pa_sample_format_is_be(f)
+#define pa_sample_format_is_re(f) pa_sample_format_is_le(f)
+#else
+/** Return 1 when the specified format is native endian, return -1
+ * when endianess does not apply to this format. \since 0.9.16 */
+#define pa_sample_format_is_ne(f) pa_sample_format_is_le(f)
+/** Return 1 when the specified format is reverse endian, return -1
+ * when endianess does not apply to this format. \since 0.9.16 */
+#define pa_sample_format_is_re(f) pa_sample_format_is_be(f)
+#endif
+
 PA_C_DECL_END
 
 #endif