diff --git a/gst/qtmux/gstqtmux.c b/gst/qtmux/gstqtmux.c
index ba155f6..7d23458 100644
--- a/gst/qtmux/gstqtmux.c
+++ b/gst/qtmux/gstqtmux.c
@@ -1553,10 +1553,19 @@ gst_qt_mux_audio_sink_set_caps (GstPad * pad, GstCaps * caps)
 
     if (!gst_structure_get_int (structure, "width", &width) ||
         !gst_structure_get_int (structure, "depth", &depth) ||
-        !gst_structure_get_boolean (structure, "signed", &sign) ||
-        !gst_structure_get_int (structure, "endianness", &endianness)) {
+        !gst_structure_get_boolean (structure, "signed", &sign)) {
       GST_DEBUG_OBJECT (qtmux,
-          "broken caps, width/depth/signed/endianness field missing");
+          "broken caps, width/depth/signed field missing");
+      goto refuse_caps;
+    }
+
+    if (depth <= 8) {
+      endianness = G_BYTE_ORDER;
+    }
+    else if (!gst_structure_get_boolean (structure,
+                 "endianness", &endianness)) {
+      GST_DEBUG_OBJECT (qtmux,
+          "broken caps, endianness field missing");
       goto refuse_caps;
     }
 
