diff --git a/gst/audioparsers/gstwavpackparse.c b/gst/audioparsers/gstwavpackparse.c index 3e1d19c94f..7dc34cf442 100644 --- a/gst/audioparsers/gstwavpackparse.c +++ b/gst/audioparsers/gstwavpackparse.c @@ -61,7 +61,7 @@ static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src", static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, - GST_STATIC_CAPS ("audio/x-wavpack")); + GST_STATIC_CAPS ("audio/x-wavpack; audio/x-wavpack-correction")); static void gst_wavpack_parse_finalize (GObject * object); @@ -325,7 +325,9 @@ gst_wavpack_parse_frame_metadata (GstWavpackParse * parse, GstBuffer * buf, CHECK (gst_byte_reader_get_data (&br, size + (size & 1), &data)); gst_byte_reader_init (&mbr, data, size); - switch (id) { + /* 0x1f is the metadata id mask and 0x20 flag is for later extensions + * that do not need to be handled by the decoder */ + switch (id & 0x3f) { case ID_WVC_BITSTREAM: GST_LOG_OBJECT (parse, "correction bitstream"); wpi->correction = TRUE;