Otherwise we might divide by zero or otherwise create invalid caps.
https://bugzilla.gnome.org/show_bug.cgi?id=777262
subformat_guid[2] == 0xaa000080 && subformat_guid[3] == 0x719b3800) {
if (subformat_guid[0] == 0x00000001) {
GST_DEBUG ("PCM");
- if (strf != NULL) {
+ if (strf != NULL && strf->blockalign != 0 && strf->channels != 0
+ && strf->rate != 0) {
gint ba = strf->blockalign;
gint wd = ba * 8 / strf->channels;
gint ws;
}
} else if (subformat_guid[0] == 0x00000003) {
GST_DEBUG ("FLOAT");
- if (strf != NULL) {
+ if (strf != NULL && strf->blockalign != 0 && strf->channels != 0
+ && strf->rate != 0) {
gint ba = strf->blockalign;
gint wd = ba * 8 / strf->channels;