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_DEBUG_OBJECT (qtmux,
- "broken caps, width/depth/signed/endianness field missing");
+ !gst_structure_get_boolean (structure, "signed", &sign)) {
+ GST_DEBUG_OBJECT (qtmux, "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;
}