[vlc-commits] sndio: require non-stupid audio sample formats

Rémi Denis-Courmont git at videolan.org
Tue Dec 18 23:45:58 CET 2012


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Wed Dec 19 00:42:07 2012 +0200| [a944af6d0b953aa34839226c1799706026488142] | committer: Rémi Denis-Courmont

sndio: require non-stupid audio sample formats

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a944af6d0b953aa34839226c1799706026488142
---

 modules/audio_output/sndio.c |   20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/modules/audio_output/sndio.c b/modules/audio_output/sndio.c
index 505b70d..aea6ea6 100644
--- a/modules/audio_output/sndio.c
+++ b/modules/audio_output/sndio.c
@@ -97,7 +97,25 @@ static int Start (audio_output_t *aout, audio_sample_format_t *restrict fmt)
                  par.bits, par.bps);
         goto error;
     }
-
+    if (par.sig != (par.bits != 8))
+    {
+        msg_Err (obj, "unsupported audio sample format (%ssigned)",
+                 par.sig ? "" : "un");
+        goto error;
+    }
+#ifdef WORDS_BIGENDIAN
+    if (par.le)
+    {
+        msg_Err (obj, "unsupported audio sample format (little endian)");
+        goto error;
+    }
+#else
+    if (!par.le)
+    {
+        msg_Err (obj, "unsupported audio sample format (big endian)");
+        goto error;
+    }
+#endif
     switch (par.bits)
     {
         case 8:



More information about the vlc-commits mailing list