avformat/wvdec: detect and error out on WavPack DSD files
authorDavid Bryant <david@wavpack.com>
Wed, 21 Nov 2018 05:00:47 +0000 (21:00 -0800)
committerPaul B Mahol <onemda@gmail.com>
Fri, 28 Dec 2018 11:53:24 +0000 (12:53 +0100)
Not currently supported.

libavformat/wvdec.c

index b6932e6..ddcb900 100644 (file)
@@ -40,6 +40,7 @@ enum WV_FLAGS {
     WV_HBAL   = 0x0400,
     WV_MCINIT = 0x0800,
     WV_MCEND  = 0x1000,
+    WV_DSD    = 0x80000000,
 };
 
 static const int wv_rates[16] = {
@@ -97,6 +98,11 @@ static int wv_read_block_header(AVFormatContext *ctx, AVIOContext *pb)
         return ret;
     }
 
+    if (wc->header.flags & WV_DSD) {
+        avpriv_report_missing_feature(ctx, "WV DSD");
+        return AVERROR_PATCHWELCOME;
+    }
+
     if (wc->header.version < 0x402 || wc->header.version > 0x410) {
         avpriv_report_missing_feature(ctx, "WV version 0x%03X",
                                       wc->header.version);