diff --git a/debian/build-deps b/debian/build-deps
index 1a3c79a..48bdf64 100644
--- a/debian/build-deps
+++ b/debian/build-deps
@@ -15,7 +15,7 @@
 @GST_EXTRA_BUILD_DEPENDS@
 @GST_LIB_DEV_DEP@
 gstreamer@GST_ABI@-doc
-gstreamer@GST_ABI@-plugins-base (>= 1.10.0)
+gstreamer@GST_ABI@-plugins-base (>= 1.14.4)
 gstreamer@GST_ABI@-plugins-base-doc
 gtk-doc-tools (>= 1.12)
 ladspa-sdk
@@ -27,34 +27,32 @@
 libcurl4-gnutls-dev (>= 7.35.0)
 libdca-dev
 libde265-dev
-libdrm-dev [!hurd-any]
 libdvdnav-dev (>= 4.1.2) [!hurd-any]
-libegl1-mesa-dev
 libexempi-dev
 libexif-dev (>= 0.6.16)
 libfaad-dev (>= 2.7)
 libfluidsynth-dev (>= 1.0)
 libgirepository1.0-dev (>= 0.9.12-4~)
-libgl1-mesa-dev
-libgles2-mesa-dev
 libglib2.0-dev (>= 2.40)
-libglu1-mesa-dev
 libgme-dev
 libgnutls28-dev (>= 2.11.3)
 libgsm1-dev
-libgstreamer-plugins-base@GST_ABI@-dev (>= 1.10.0)
+libgstreamer-plugins-base@GST_ABI@-dev (>= 1.14.4)
 libgtk-3-dev (>= 3.15.0)
 libiptcdata0-dev (>= 1.0.2)
 libkate-dev (>= 0.1.7)
+liblcms2-dev (>= 2.7)
 liblilv-dev (>= 0.16)
 libmjpegtools-dev
 libmms-dev (>= 0.4)
 libmodplug-dev
 libmpcdec-dev
+libnice-dev (>= 0.1.14)
 libofa0-dev (>= 0.9.3)
 libopenal-dev (>= 1:1.14)
 libopenexr-dev
-libopenjp2-7-dev
+libopenjp2-7-dev (>= 2.1)
+libopenmpt-dev
 libopus-dev (>= 0.9.4)
 liborc-0.4-dev (>= 1:0.4.17)
 libpng-dev
@@ -63,7 +61,7 @@
 libsndfile1-dev (>= 1.0.16)
 libsoundtouch-dev (>= 1.5.0)
 libspandsp-dev
-libsrtp0-dev
+libsrtp2-dev (>= 2.1)
 libssl-dev
 libtool (>= 2.2.6)
 libvo-aacenc-dev
@@ -72,6 +70,7 @@
 libwebrtc-audio-processing-dev (>= 0.2)
 libwildmidi-dev (>= 0.2.3)
 libx11-dev
+libx11-xcb-dev
 libx265-dev
 libxml2-dev (>= 2.8)
 libxvidcore-dev
diff --git a/debian/build-deps.in b/debian/build-deps.in
index 6ae6aaa..2c4dee2 100644
--- a/debian/build-deps.in
+++ b/debian/build-deps.in
@@ -1,6 +1,6 @@
 @GST_LIB_DEV_DEP@
 @GST_EXTRA_BUILD_DEPENDS@
-libgstreamer-plugins-base@GST_ABI@-dev (>= 1.10.0)
+libgstreamer-plugins-base@GST_ABI@-dev (>= 1.14.4)
 autotools-dev
 dh-autoreconf
 automake (>= 1.14)
@@ -28,11 +28,12 @@
 libexempi-dev
 libiptcdata0-dev (>= 1.0.2)
 libwildmidi-dev (>= 0.2.3)
-gstreamer@GST_ABI@-plugins-base (>= 1.10.0)
+gstreamer@GST_ABI@-plugins-base (>= 1.14.4)
 libofa0-dev (>= 0.9.3)
 libdvdnav-dev (>= 4.1.2) [!hurd-any]
 libssl-dev
 libx11-dev
+libx11-xcb-dev
 libass-dev (>= 0.10.4)
 libmodplug-dev
 libkate-dev (>= 0.1.7)
@@ -54,14 +55,10 @@
 libzvbi-dev
 libspandsp-dev
 libopus-dev (>= 0.9.4)
-libgl1-mesa-dev
-libegl1-mesa-dev
-libgles2-mesa-dev
-libglu1-mesa-dev
 libxml2-dev (>= 2.8)
 libfluidsynth-dev (>= 1.0)
-libsrtp0-dev
-libopenjp2-7-dev
+libsrtp2-dev (>= 2.1)
+libopenjp2-7-dev (>= 2.1)
 libchromaprint-dev
 libwebp-dev (>= 0.2.1)
 libmjpegtools-dev
@@ -77,6 +74,8 @@
 gir1.2-freedesktop
 gir1.2-gstreamer-1.0
 gir1.2-gst-plugins-base-1.0
-libdrm-dev [!hurd-any]
 liblilv-dev (>= 0.16)
 libwebrtc-audio-processing-dev (>= 0.2)
+liblcms2-dev (>= 2.7)
+libopenmpt-dev
+libnice-dev (>= 0.1.14)
diff --git a/debian/changelog b/debian/changelog
index 28cf455..d464042 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+gst-plugins-bad1.0 (1.14.4-1+mtk) mendel-day; urgency=medium
+
+  * Update to debian 1.14.4-1
+  * For Mendel Day release
+  * Remove doc in the package
+
+ -- Coral Team <coral-support@google.com>  Mon, 03 Feb 2020 11:48:14 -0800
+
 gst-plugins-bad1.0 (1.10.4-1+mtk) mendel-chef; urgency=medium
 
   * Configuration tweaks for Excelsior platform
diff --git a/debian/control b/debian/control
index 36ee4ce..54e22b1 100644
--- a/debian/control
+++ b/debian/control
@@ -1,7 +1,7 @@
 Source: gst-plugins-bad1.0
 Section: libs
-Priority: extra
-Maintainer: Maintainers of GStreamer packages <pkg-gstreamer-maintainers@lists.alioth.debian.org>
+Priority: optional
+Maintainer: Maintainers of GStreamer packages <gst-plugins-bad1.0@packages.debian.org>
 Uploaders: Sebastian Dröge <slomo@debian.org>,
            Sjoerd Simons <sjoerd@debian.org>
 Build-Depends: autoconf (>= 2.69),
@@ -20,13 +20,12 @@
                libusb-1.0-0-dev [linux-any],
                libbluetooth-dev (>= 5) [linux-any],
                libsbc-dev (>= 1.1) [linux-any],
-               libwayland-dev (>= 1.0) [linux-any],
-               wayland-protocols [linux-any],
-               libgstreamer1.0-dev (>= 1.10.0),
-               gstreamer1.0-doc,
-               gstreamer1.0-plugins-base (>= 1.10.0),
-               gstreamer1.0-plugins-base-doc,
-               gtk-doc-tools (>= 1.12),
+               libwayland-dev (>= 1.4.0) [linux-any],
+               libdrm-dev (>= 2.4.55) [linux-any],
+               wayland-protocols (>= 1.4) [linux-any],
+               libvulkan-dev [linux-any],
+               libgstreamer1.0-dev (>= 1.14.4),
+               gstreamer1.0-plugins-base (>= 1.14.4),
                ladspa-sdk,
                libass-dev (>= 0.10.4),
                libbs2b-dev,
@@ -36,33 +35,31 @@
                libcurl4-gnutls-dev (>= 7.35.0),
                libdca-dev,
                libde265-dev,
-               libdrm-dev [!hurd-any],
                libdvdnav-dev (>= 4.1.2) [!hurd-any],
-               libegl1-mesa-dev,
                libexempi-dev,
                libexif-dev (>= 0.6.16),
                libfaad-dev (>= 2.7),
                libfluidsynth-dev (>= 1.0),
-               libgl1-mesa-dev,
-               libgles2-mesa-dev,
                libglib2.0-dev (>= 2.40),
-               libglu1-mesa-dev,
                libgme-dev,
                libgnutls28-dev (>= 2.11.3),
                libgsm1-dev,
-               libgstreamer-plugins-base1.0-dev (>= 1.10.0),
+               libgstreamer-plugins-base1.0-dev (>= 1.14.4),
                libgtk-3-dev (>= 3.15.0),
                libiptcdata0-dev (>= 1.0.2),
                libkate-dev (>= 0.1.7),
+               liblcms2-dev (>= 2.7),
                liblilv-dev (>= 0.16),
                libmjpegtools-dev,
                libmms-dev (>= 0.4),
                libmodplug-dev,
                libmpcdec-dev,
+               libnice-dev (>= 0.1.14),
                libofa0-dev (>= 0.9.3),
                libopenal-dev (>= 1:1.14),
                libopenexr-dev,
-               libopenjp2-7-dev,
+               libopenjp2-7-dev (>= 2.1),
+               libopenmpt-dev,
                libopus-dev (>= 0.9.4),
                liborc-0.4-dev (>= 1:0.4.17),
                libpng-dev,
@@ -71,7 +68,7 @@
                libsndfile1-dev (>= 1.0.16),
                libsoundtouch-dev (>= 1.5.0),
                libspandsp-dev,
-               libsrtp0-dev,
+               libsrtp2-dev (>= 2.1),
                libssl-dev,
                libtool (>= 2.2.6),
                libvo-aacenc-dev,
@@ -80,6 +77,7 @@
                libwebrtc-audio-processing-dev (>= 0.2),
                libwildmidi-dev (>= 0.2.3),
                libx11-dev,
+               libx11-xcb-dev,
                libx265-dev,
                libxml2-dev (>= 2.8),
                libxvidcore-dev,
@@ -87,31 +85,9 @@
                nettle-dev,
                pkg-config (>= 0.11.0)
 Standards-Version: 3.9.8
-Vcs-Git: git://anonscm.debian.org/pkg-gstreamer/gst-plugins-bad1.0.git
-Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-gstreamer/gst-plugins-bad1.0.git;a=summary
-Homepage: http://gstreamer.freedesktop.org/modules/gst-plugins-bad.html
-
-Package: gstreamer1.0-plugins-bad-doc
-Architecture: all
-Multi-Arch: foreign
-Section: doc
-Depends: ${misc:Depends},
-         gstreamer1.0-doc,
-         gstreamer1.0-plugins-base-doc
-Description: GStreamer documentation for plugins from the "bad" set
- GStreamer is a streaming media framework, based on graphs of filters
- which operate on media data.  Applications using this library can do
- anything from real-time sound processing to playing videos, and just
- about anything else media-related.  Its plugin-based architecture means
- that new data types or processing capabilities can be added simply by
- installing new plug-ins.
- .
- GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par compared
- to the rest. They might be close to being good quality, but they're missing
- something - be it a good code review, some documentation, a set of tests, a
- real live maintainer, or some actual wide use.
- .
- This package contains the documentation for plugins from the "bad" set.
+Vcs-Git: https://salsa.debian.org/gstreamer-team/gst-plugins-bad1.0.git
+Vcs-Browser: https://salsa.debian.org/gstreamer-team/gst-plugins-bad1.0/
+Homepage: https://gstreamer.freedesktop.org
  
 Package: gstreamer1.0-plugins-bad
 Architecture: any
@@ -121,9 +97,15 @@
          ${shlibs:Depends},
          gstreamer1.0-plugins-base,
          libgstreamer-plugins-bad1.0-0 (= ${binary:Version}),
-Provides: ${gstreamer:Provides}
+Provides: gstreamer1.0-plugins-bad-videoparsers,
+          gstreamer1.0-plugins-bad-faad,
+          ${gstreamer:Provides}
 Suggests: frei0r-plugins
-Replaces: gstreamer1.0-plugins-base (<< 0.11.94), gstreamer1.0-plugins-good (<< 1.1.2)
+Conflicts: gstreamer1.0-plugins-bad-videoparsers (<< 1.11.91-1ubuntu1),
+           gstreamer1.0-plugins-bad-faad (<< 1.11.91-1ubuntu1)
+Replaces: gstreamer1.0-plugins-base (<< 0.11.94), gstreamer1.0-plugins-good (<< 1.1.2),
+          gstreamer1.0-plugins-bad-videoparsers (<< 1.11.91-1ubuntu1),
+          gstreamer1.0-plugins-bad-faad (<< 1.11.91-1ubuntu1)
 Breaks: gstreamer1.0-plugins-base (<< 0.11.94), gstreamer1.0-plugins-good (<< 1.1.2)
 XB-GStreamer-Version: ${gstreamer:Version}
 XB-GStreamer-Elements: ${gstreamer:Elements}
@@ -148,7 +130,7 @@
 Architecture: any
 Multi-Arch: same
 Section: debug
-Priority: extra
+Priority: optional
 Depends: gstreamer1.0-plugins-bad (= ${binary:Version}),
          ${misc:Depends}
 Replaces: gstreamer1.0-plugins-base-dbg (<< 0.11.94), gstreamer1.0-plugins-good (<< 1.1.2)
@@ -169,12 +151,12 @@
 Package: libgstreamer-plugins-bad1.0-0
 Architecture: any
 Section: libs
-Priority: extra
+Priority: optional
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends},
          ${shlibs:Depends},
-Description: GStreamer development files for libraries from the "bad" set
+Description: GStreamer libraries from the "bad" set
  GStreamer is a streaming media framework, based on graphs of filters
  which operate on media data.  Applications using this library can do
  anything from real-time sound processing to playing videos, and just
@@ -192,8 +174,9 @@
 
 Package: libgstreamer-plugins-bad1.0-dev
 Architecture: any
+Multi-Arch: same
 Section: libdevel
-Priority: extra
+Priority: optional
 Depends: ${misc:Depends},
          libgstreamer-plugins-bad1.0-0 (= ${binary:Version}),
          libgstreamer1.0-dev,
diff --git a/debian/control.in b/debian/control.in
index 67f86f0..3c1e541 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -1,14 +1,14 @@
 Source: gst-plugins-bad@GST_ABI@
 Section: libs
 Priority: extra
-Maintainer: Maintainers of GStreamer packages <pkg-gstreamer-maintainers@lists.alioth.debian.org>
+Maintainer: Maintainers of GStreamer packages <gst-plugins-bad1.0@packages.debian.org>
 Uploaders: Sebastian Dröge <slomo@debian.org>,
            Sjoerd Simons <sjoerd@debian.org>
 Build-Depends: BUILDDEPS
 Standards-Version: 3.9.3
-Vcs-Git: git://anonscm.debian.org/pkg-gstreamer/gst-plugins-bad@GST_ABI@.git
-Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-gstreamer/gst-plugins-bad@GST_ABI@.git;a=summary
-Homepage: http://gstreamer.freedesktop.org/modules/gst-plugins-bad.html
+Vcs-Git: https://salsa.debian.org/gstreamer-team/gst-plugins-bad1.0.git
+Vcs-Browser: https://salsa.debian.org/gstreamer-team/gst-plugins-bad1.0/
+Homepage: https://gstreamer.freedesktop.org
 
 Package: @GST_PKGNAME@-plugins-bad-doc
 Architecture: all
@@ -40,9 +40,15 @@
          ${shlibs:Depends},
          gstreamer@GST_ABI@-plugins-base,
          libgstreamer-plugins-bad@GST_DEB_ABI@ (= ${binary:Version}),
-Provides: ${gstreamer:Provides}
+Provides: @GST_PKGNAME@-plugins-bad-videoparsers,
+          @GST_PKGNAME@-plugins-bad-faad,
+          ${gstreamer:Provides}
 Suggests: frei0r-plugins
-Replaces: gstreamer1.0-plugins-base (<< 0.11.94), gstreamer1.0-plugins-good (<< 1.1.2)
+Conflicts: @GST_PKGNAME@-plugins-bad-videoparsers (<< 1.11.91-1ubuntu1),
+           @GST_PKGNAME@-plugins-bad-faad (<< 1.11.91-1ubuntu1)
+Replaces: gstreamer1.0-plugins-base (<< 0.11.94), gstreamer1.0-plugins-good (<< 1.1.2),
+          @GST_PKGNAME@-plugins-bad-videoparsers (<< 1.11.91-1ubuntu1),
+          @GST_PKGNAME@-plugins-bad-faad (<< 1.11.91-1ubuntu1)
 Breaks: gstreamer1.0-plugins-base (<< 0.11.94), gstreamer1.0-plugins-good (<< 1.1.2)
 XB-GStreamer-Version: ${gstreamer:Version}
 XB-GStreamer-Elements: ${gstreamer:Elements}
@@ -63,6 +69,37 @@
  something - be it a good code review, some documentation, a set of tests, a
  real live maintainer, or some actual wide use.
 
+Package: @GST_PKGNAME@-opencv
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends},
+         ${shlibs:Depends},
+         gstreamer@GST_ABI@-plugins-base,
+         libgstreamer-plugins-bad@GST_DEB_ABI@ (= ${binary:Version}),
+         libgstreamer-opencv@GST_DEB_ABI@ (= ${binary:Version}),
+Conflicts: @GST_PKGNAME@-plugins-bad (<< 1.13.1)
+Replaces: @GST_PKGNAME@-plugins-bad (<< 1.13.1)
+XB-GStreamer-Version: ${gstreamer:Version}
+XB-GStreamer-Elements: ${gstreamer:Elements}
+XB-GStreamer-URI-Sources: ${gstreamer:URISources}
+XB-GStreamer-URI-Sinks: ${gstreamer:URISinks}
+XB-GStreamer-Encoders: ${gstreamer:Encoders}
+XB-GStreamer-Decoders: ${gstreamer:Decoders}
+Description: GStreamer OpenCV plugins
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par compared
+ to the rest. They might be close to being good quality, but they're missing
+ something - be it a good code review, some documentation, a set of tests, a
+ real live maintainer, or some actual wide use.
+ .
+ This package contains the OpenCV plugins.
+
 Package: @GST_PKGNAME@-plugins-bad-dbg
 Architecture: any
 Multi-Arch: same
@@ -93,7 +130,7 @@
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends},
          ${shlibs:Depends},
-Description: GStreamer development files for libraries from the "bad" set
+Description: GStreamer libraries from the "bad" set
  GStreamer is a streaming media framework, based on graphs of filters
  which operate on media data.  Applications using this library can do
  anything from real-time sound processing to playing videos, and just
@@ -109,15 +146,43 @@
  This package contains shared GStreamer libraries from the "bad" set. The API
  is not guaranteed to be stable.
 
+Package: libgstreamer-opencv@GST_DEB_ABI@
+Architecture: any
+Section: libs
+Priority: extra
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends},
+         ${shlibs:Depends},
+Conflicts: libgstreamer-plugins-bad@GST_DEB_ABI@ (<< 1.13.1)
+Replaces: libgstreamer-plugins-bad@GST_DEB_ABI@ (<< 1.13.1)
+Description: GStreamer OpenCV libraries
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par compared
+ to the rest. They might be close to being good quality, but they're missing
+ something - be it a good code review, some documentation, a set of tests, a
+ real live maintainer, or some actual wide use.
+ .
+ This package contains shared GStreamer libraries for OpenCV.
+
 Package: libgstreamer-plugins-bad@GST_ABI@-dev
 Architecture: any
+Multi-Arch: same
 Section: libdevel
 Priority: extra
 Depends: ${misc:Depends},
          libgstreamer-plugins-bad@GST_DEB_ABI@ (= ${binary:Version}),
+         libgstreamer-opencv@GST_DEB_ABI@ (= ${binary:Version}),
          libgstreamer@GST_ABI@-dev,
          libgstreamer-plugins-base@GST_ABI@-dev,
-         gir1.2-gst-plugins-bad-@GST_ABI@ (= ${binary:Version})
+         gir1.2-gst-plugins-bad-@GST_ABI@ (= ${binary:Version}),
+         libopencv-dev (>= 2.3.0)
 Description: GStreamer development files for libraries from the "bad" set
  GStreamer is a streaming media framework, based on graphs of filters
  which operate on media data.  Applications using this library can do
@@ -137,10 +202,10 @@
 Package: gir1.2-gst-plugins-bad-@GST_ABI@
 Section: introspection
 Architecture: any
+Multi-Arch: same
 Depends: ${gir:Depends},
          ${shlibs:Depends},
-         ${misc:Depends},
-         ${gir:Depends}
+         ${misc:Depends}
 Description: GObject introspection data for the GStreamer libraries from the "bad" set
  GStreamer is a streaming media framework, based on graphs of filters
  which operate on media data.  Applications using this library can do
diff --git a/debian/extra b/debian/extra
deleted file mode 100644
index 6d8d206..0000000
--- a/debian/extra
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/bin/sh
-
-if [ $# -lt 2 ]; then
-   echo "usage: $1 deps|control plugin"
-   exit 1
-fi
-
-case $1 in
-  deps)
-    case $2 in
-      amrwbenc)
-        echo "libamrwb-dev | amrwb-dev"
-        ;;
-      faac)
-        echo "libfaac-dev"
-        ;;
-      mpeg2enc)
-        echo "libmjpegtools-dev | mjpegtools-dev"
-        ;;
-      *)
-        echo "ERROR invalid plugin: add your plugin to debian/extra"
-        exit 1
-        ;;
-    esac ;;
-
-  control)
-    case $2 in
-      amrwbenc)
-cat << EOF
-Package: @GST_PKGNAME@-amrwbenc
-Architecture: any
-Depends: \${shlibs:Depends}, \${misc:Depends}, @GST_LIB@
-XB-GStreamer-Version: \${gstreamer:Version}
-XB-GStreamer-Elements: \${gstreamer:Elements}
-XB-GStreamer-URI-Sources: \${gstreamer:URISources}
-XB-GStreamer-URI-Sinks: \${gstreamer:URISinks}
-XB-GStreamer-Encoders: \${gstreamer:Encoders}
-XB-GStreamer-Decoders: \${gstreamer:Decoders}
-Provides: \${gstreamer:Provides}
-Description: amrwb encoder plugin for GStreamer
- This GStreamer plugin uses amrwb to encode audio stream into an Adaptive
- Multi-Rate - Wideband (AMR-WB) speech codec compressed audio stream.
- .
-  amrwb Homepage: http://www.penguin.cz/~utx/amr
-
-EOF
-;;
-      faac)
-cat << EOF
-Package: @GST_PKGNAME@-faac
-Architecture: any
-Depends: \${shlibs:Depends}, \${misc:Depends}, @GST_LIB@
-Recommends: @GST_PKGNAME@-ffmpeg
-XB-GStreamer-Version: \${gstreamer:Version}
-XB-GStreamer-Elements: \${gstreamer:Elements}
-XB-GStreamer-URI-Sources: \${gstreamer:URISources}
-XB-GStreamer-URI-Sinks: \${gstreamer:URISinks}
-XB-GStreamer-Encoders: \${gstreamer:Encoders}
-XB-GStreamer-Decoders: \${gstreamer:Decoders}
-Provides: \${gstreamer:Provides}
-Description: FAAC plugin for GStreamer
- This GStreamer plugin uses FAAC to encode audio stream into a AAC
- compressed audio stream.  This is commonly known as the "mp4" format.
- .
-  FAAC Homepage: http://www.audiocoding.com/
-
-EOF
-;;
-      mpeg2enc)
-cat << EOF
-Package: @GST_PKGNAME@-mpeg2enc
-Architecture: any
-Depends: \${shlibs:Depends}, \${misc:Depends}, \${misc:Depends}, @GST_LIB@
-XB-GStreamer-Version: \${gstreamer:Version}
-XB-GStreamer-Elements: \${gstreamer:Elements}
-XB-GStreamer-URI-Sources: \${gstreamer:URISources}
-XB-GStreamer-URI-Sinks: \${gstreamer:URISinks}
-XB-GStreamer-Encoders: \${gstreamer:Encoders}
-XB-GStreamer-Decoders: \${gstreamer:Decoders}
-Provides: \${gstreamer:Provides}
-Description: MJPEG Tools plugin for GStreamer
- This GStreamer plugin uses MJPEG Tools to encode video stream into a MPEG-2
- compressed video stream.
- .
-  MJPEG Tools Homepage: http://mjpeg.sourceforge.net/
-
-EOF
-;;
-      *)
-        echo "ERROR invalid plugin: add your plugin to debian/extra"
-        exit 1
-        ;;
-    esac ;;
-  *) echo "ERROR use deps or control" ;;
-esac
-
diff --git a/debian/gir1.2-gst-plugins-bad.install b/debian/gir1.2-gst-plugins-bad.install
deleted file mode 100644
index 9803e33..0000000
--- a/debian/gir1.2-gst-plugins-bad.install
+++ /dev/null
@@ -1 +0,0 @@
-debian/tmp/usr/lib/*/girepository-* usr/lib
diff --git a/debian/gstreamer-faac.install b/debian/gstreamer-faac.install
deleted file mode 100644
index 6898d51..0000000
--- a/debian/gstreamer-faac.install
+++ /dev/null
@@ -1 +0,0 @@
-debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstfaac.so
diff --git a/debian/gstreamer-mpeg2enc.install b/debian/gstreamer-mpeg2enc.install
deleted file mode 100644
index 4c1b2fc..0000000
--- a/debian/gstreamer-mpeg2enc.install
+++ /dev/null
@@ -1 +0,0 @@
-debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstmpeg2enc.so
diff --git a/debian/gstreamer-plugins-bad.install b/debian/gstreamer-plugins-bad.install
index df834f9..5845a3a 100644
--- a/debian/gstreamer-plugins-bad.install
+++ b/debian/gstreamer-plugins-bad.install
@@ -3,22 +3,24 @@
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstadpcmenc.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstaiff.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstaudiofxbad.so
-debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstaudiomixer.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstasfmux.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstassrender.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstaudiobuffersplit.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstaudiolatency.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstaudiomixmatrix.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstaudiovisualizers.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstautoconvert.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstbayer.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstbs2b.so
 @bluez@
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstbz2.so
-debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstcamerabin2.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstcamerabin.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstchromaprint.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstcoloreffects.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstcolormanagement.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstcompositor.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstcurl.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstdashdemux.so
-debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstdataurisrc.so
 @dc1394@
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstdebugutilsbad.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstdtls.so
@@ -26,6 +28,7 @@
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstdvbsuboverlay.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstdvdspu.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstfaad.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstfaceoverlay.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstfestival.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstfieldanalysis.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstfreeverb.so
@@ -37,18 +40,19 @@
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstgeometrictransform.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstgme.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstgsm.so
-debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstgtksink.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgsthls.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstid3tag.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstinter.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstinterlace.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstipcpipeline.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstivfparse.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstivtc.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstkate.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstjpegformat.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstjp2kdecimator.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstladspa.so
-debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstlibde265.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstlegacyrawparse.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstde265.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstmidi.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstmms.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstmodplug.so
@@ -61,13 +65,14 @@
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstnetsim.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstofa.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstopenal.so
-debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstopengl.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstopenglmixers.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstopenexr.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstopenjpeg.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstopenmpt.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstopusparse.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstpcapparse.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstpnm.so
-debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstrawparse.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstproxy.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstremovesilence.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstrfbsrc.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstrsvg.so
@@ -84,10 +89,11 @@
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstsoundtouch.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstspandsp.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstspeed.so
-debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstsrtp.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgststereo.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstsubenc.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstteletext.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgsttimecode.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstttmlsubs.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstvideofiltersbad.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstvideoframe_audiolevel.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstvideoparsersbad.so
@@ -102,11 +108,12 @@
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgsty4mdec.so
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstyadif.so
 debian/tmp/usr/share/locale
-debian/tmp/usr/share/gstreamer-@GST_ABI@/presets/
 @dvb@
 @resindvd@
 @decklink@
 @fbdev@
 @uvch264@
 @waylandsink@
+@kms@
 @vcd@
+@vulkan@
diff --git a/debian/gstreamer1.0-plugins-bad.lintian-overrides b/debian/gstreamer1.0-plugins-bad.lintian-overrides
new file mode 100644
index 0000000..039022e
--- /dev/null
+++ b/debian/gstreamer1.0-plugins-bad.lintian-overrides
@@ -0,0 +1 @@
+gstreamer1.0-plugins-bad: library-not-linked-against-libc *
diff --git a/debian/libgstreamer-plugins-bad-dev.install b/debian/libgstreamer-plugins-bad-dev.install
index 163b18c..ac87bac 100644
--- a/debian/libgstreamer-plugins-bad-dev.install
+++ b/debian/libgstreamer-plugins-bad-dev.install
@@ -1,4 +1,3 @@
 debian/tmp/usr/include
-debian/tmp/usr/lib/*/gstreamer-1.0/include
 debian/tmp/usr/lib/*/pkgconfig
 debian/tmp/usr/lib/*/*.so
diff --git a/debian/libgstreamer-plugins-bad.install b/debian/libgstreamer-plugins-bad.install
index b7375ab..588aec8 100644
--- a/debian/libgstreamer-plugins-bad.install
+++ b/debian/libgstreamer-plugins-bad.install
@@ -1,13 +1,13 @@
 debian/tmp/usr/lib/*/libgstadaptivedemux-@GST_ABI@.so.*
 debian/tmp/usr/lib/*/libgstphotography-@GST_ABI@.so.*
 debian/tmp/usr/lib/*/libgstbadaudio-@GST_ABI@.so.*
-debian/tmp/usr/lib/*/libgstbadbase-@GST_ABI@.so.*
 debian/tmp/usr/lib/*/libgstbadvideo-@GST_ABI@.so.*
 debian/tmp/usr/lib/*/libgstbasecamerabinsrc-@GST_ABI@.so.*
-debian/tmp/usr/lib/*/libgstgl-@GST_ABI@.so.*
 debian/tmp/usr/lib/*/libgstinsertbin-@GST_ABI@.so.*
 debian/tmp/usr/lib/*/libgstcodecparsers-@GST_ABI@.so.*
 debian/tmp/usr/lib/*/libgstmpegts-@GST_ABI@.so.*
 debian/tmp/usr/lib/*/libgstplayer-@GST_ABI@.so.*
 debian/tmp/usr/lib/*/libgsturidownloader-@GST_ABI@.so.*
+debian/tmp/usr/lib/*/libgstisoff-@GST_ABI@.so.*
+debian/tmp/usr/lib/*/libgstwebrtc-@GST_ABI@.so.*
 @wayland@
diff --git a/debian/libgstreamer-plugins-bad1.0-0.lintian-overrides b/debian/libgstreamer-plugins-bad1.0-0.lintian-overrides
index a6f4b75..990379d 100644
--- a/debian/libgstreamer-plugins-bad1.0-0.lintian-overrides
+++ b/debian/libgstreamer-plugins-bad1.0-0.lintian-overrides
@@ -1 +1,2 @@
-libgstreamer-plugins-bad1.0-0: package-name-doesnt-match-sonames libgstadaptivedemux-1.0-0 libgstbadaudio-1.0-0 libgstbadbase-1.0-0 libgstbadvideo-1.0-0 libgstbasecamerabinsrc-1.0-0 libgstcodecparsers-1.0-0 libgstgl-1.0-0 libgstinsertbin-1.0-0 libgstmpegts-1.0-0 libgstphotography-1.0-0 libgstplayer-1.0-0 libgsturidownloader-1.0-0 libgstwayland-1.0-0
+libgstreamer-plugins-bad1.0-0: package-name-doesnt-match-sonames libgstadaptivedemux-1.0-0 libgstbadaudio-1.0-0 libgstbadvideo-1.0-0 libgstbasecamerabinsrc-1.0-0 libgstcodecparsers-1.0-0 libgstinsertbin-1.0-0 libgstisoff-1.0-0 libgstmpegts-1.0-0 libgstphotography-1.0-0 libgstplayer-1.0-0 libgsturidownloader-1.0-0 libgstwayland-1.0-0 libgstwebrtc-1.0-0
+libgstreamer-plugins-bad1.0-0: library-not-linked-against-libc *
diff --git a/debian/patches/0001-Make-sure-to-link-gme-plugin-with-lz.patch b/debian/patches/0001-Make-sure-to-link-gme-plugin-with-lz.patch
deleted file mode 100644
index 217d806..0000000
--- a/debian/patches/0001-Make-sure-to-link-gme-plugin-with-lz.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From aefc177ca791ebba8acc048cb8526ef3277f6eca Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
-Date: Fri, 25 Sep 2015 23:22:02 +0200
-Subject: [PATCH] Make sure to link gme plugin with -lz
-
----
- configure.ac | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index aba2ec0..b5ef3a5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -2843,9 +2843,11 @@ AG_GST_CHECK_FEATURE(SPC, [spc decoder], spc, [
- dnl *** gme ***
- translit(dnm, m, l) AM_CONDITIONAL(USE_GME, true)
- AG_GST_CHECK_FEATURE(GME, [gme decoder], gme, [
-+  old_LIBS="$LIBS"
-+  LIBS="$LIBS -lz"
-   AC_CHECK_HEADER(gme/gme.h, [
-     AC_CHECK_LIB(gme, gme_new_emu, [
--      GME_LIBS="-lgme"
-+      GME_LIBS="-lgme -lz"
-       AC_SUBST(GME_LIBS)
-       HAVE_GME=yes
-     ], [
-@@ -2860,6 +2862,7 @@ AG_GST_CHECK_FEATURE(GME, [gme decoder], gme, [
-       AC_DEFINE(HAVE_LIBGME_ACCURACY, 1, [Define if gme 0.5.6 or newer is available])
-       ])
-   fi
-+  LIBS="$old_LIBS"
- ])
- 
- dnl *** XVID ***
--- 
-2.5.3
-
diff --git a/debian/patches/0001-add-judge-for-mpeg4-codec-in-mpeg-container.patch b/debian/patches/0001-add-judge-for-mpeg4-codec-in-mpeg-container.patch
new file mode 100644
index 0000000..ab51aa8
--- /dev/null
+++ b/debian/patches/0001-add-judge-for-mpeg4-codec-in-mpeg-container.patch
@@ -0,0 +1,55 @@
+From 11cf797e31a671e0ef4a5ca7c1a0205c15ea9456 Mon Sep 17 00:00:00 2001
+From: Qian Hu <Qian.Hu@mediatek.com>
+Date: Sun, 1 Dec 2019 11:06:20 +0800
+Subject: [PATCH] add judge for mpeg4 codec in mpeg container
+
+Signed-off-by: Qian Hu <Qian.Hu@mediatek.com>
+---
+ gst/mpegdemux/gstmpegdemux.c | 24 +++++++++++++++++++++---
+ 1 file changed, 21 insertions(+), 3 deletions(-)
+
+diff --git a/gst/mpegdemux/gstmpegdemux.c b/gst/mpegdemux/gstmpegdemux.c
+index 4454149..0c684b5 100644
+--- a/gst/mpegdemux/gstmpegdemux.c
++++ b/gst/mpegdemux/gstmpegdemux.c
+@@ -2255,6 +2255,23 @@ gst_ps_demux_data_cb (GstPESFilter * filter, gboolean first,
+       }
+       if (stream_type == -1)
+         goto unknown_stream_type;
++    } else if (stream_type == ST_GST_VIDEO_MPEG1_OR_2) {
++        if (datalen >= 4) {
++          if (!memcmp("\x00\x00\x01\xB0", map.data, 4)) {
++            stream_type = ST_VIDEO_MPEG4;
++          }
++        }
++        if (datalen >= 5) {
++          if (!memcmp("\x00\x00\x01\x00\x00", map.data, 5)) {
++            stream_type = ST_VIDEO_MPEG4;
++          }
++        }
++    } else if (stream_type == ST_AUDIO_MPEG1) {
++        if (datalen >= 4) {
++          if (!memcmp("\xFF\xF1\x50\x80", map.data, 4)) {
++            stream_type = ST_AUDIO_AAC_ADTS;
++          }
++        }
+     }
+     if (filter->pts != -1) {
+       demux->next_pts = filter->pts + demux->scr_adjust;
+@@ -2858,9 +2875,10 @@ gst_ps_demux_loop (GstPad * pad)
+     offset += size;
+     gst_segment_set_position (&demux->sink_segment, GST_FORMAT_BYTES, offset);
+     /* check EOS condition */
+-    if ((demux->sink_segment.position >= demux->sink_segment.stop) ||
+-        (demux->src_segment.stop != (guint64) - 1 &&
+-            demux->src_segment.position >= demux->src_segment.stop)) {
++    if ((demux->src_segment.flags & GST_SEEK_FLAG_SEGMENT) &&
++        ((demux->sink_segment.position >= demux->sink_segment.stop) ||
++            (demux->src_segment.stop != (guint64) - 1 &&
++                demux->src_segment.position >= demux->src_segment.stop))) {
+       GST_DEBUG_OBJECT (demux,
+           "forward mode using segment reached end of " "segment pos %"
+           GST_TIME_FORMAT " stop %" GST_TIME_FORMAT " pos in bytes %"
+-- 
+2.6.4
+
diff --git a/debian/patches/0001-mtk-upgrade-gst-bad-to-1-14-4.patch b/debian/patches/0001-mtk-upgrade-gst-bad-to-1-14-4.patch
new file mode 100644
index 0000000..33c65bd
--- /dev/null
+++ b/debian/patches/0001-mtk-upgrade-gst-bad-to-1-14-4.patch
@@ -0,0 +1,656 @@
+From 41476a48b06f2b2285659844e88f3e7ffa71b1ec Mon Sep 17 00:00:00 2001
+From: Yuan Fang <yuan.fang@mediatek.com>
+Date: Wed, 14 Aug 2019 16:18:17 +0800
+Subject: [PATCH] upgrade-gst-bad-to-1-14-4
+
+---
+ ext/resindvd/gstmpegdemux.c           |  17 ++++
+ gst-libs/gst/wayland/Makefile.am      |   3 +
+ gst-libs/gst/wayland/Makefile.in      |  58 ++++++++---
+ gst/adpcmdec/adpcmdec.c               |   4 +
+ gst/ivfparse/gstivfparse.c            |   3 +-
+ gst/jpegformat/gstjpegformat.c        |   2 +-
+ gst/jpegformat/gstjpegparse.c         |   2 +-
+ gst/mpegtsdemux/tsdemux.c             | 178 ++++++++++++++++++++++++++++++++++
+ gst/videoparsers/gsth264parse.c       |  26 +++--
+ gst/videoparsers/gsth264parse.h       |   1 +
+ gst/videoparsers/gsth265parse.c       |   8 +-
+ gst/videoparsers/gsth265parse.h       |   1 +
+ gst/videoparsers/gstmpeg4videoparse.c |   9 +-
+ gst/videoparsers/gstmpeg4videoparse.h |   1 +
+ gst/videoparsers/gstmpegvideoparse.c  |  91 ++++++++++++++---
+ 15 files changed, 361 insertions(+), 43 deletions(-)
+
+diff --git a/ext/resindvd/gstmpegdemux.c b/ext/resindvd/gstmpegdemux.c
+index a35a6a4..562f3bb 100644
+--- a/ext/resindvd/gstmpegdemux.c
++++ b/ext/resindvd/gstmpegdemux.c
+@@ -1932,6 +1932,23 @@ gst_flups_demux_data_cb (GstPESFilter * filter, gboolean first,
+       }
+       if (stream_type == -1)
+         goto unknown_stream_type;
++	  } else if (stream_type == ST_GST_VIDEO_MPEG1_OR_2) {
++        if (datalen >= 4) {
++          if (!memcmp("\x00\x00\x01\xB0", map.data, 4)) {
++            stream_type = ST_VIDEO_MPEG4;
++          }
++        }
++        if (datalen >= 5) {
++          if (!memcmp("\x00\x00\x01\x00\x00", map.data, 5)) {
++            stream_type = ST_VIDEO_MPEG4;
++          }
++        }
++    } else if (stream_type == ST_AUDIO_MPEG1) {
++        if (datalen >= 4) {
++          if (!memcmp("\xFF\xF1\x50\x80", map.data, 4)) {
++            stream_type = ST_AUDIO_AAC_ADTS;
++          }
++        }
+     }
+     if (filter->pts != -1) {
+       demux->next_pts = filter->pts + demux->scr_adjust;
+diff --git a/gst-libs/gst/wayland/Makefile.am b/gst-libs/gst/wayland/Makefile.am
+index 743a489..d2e4f6e 100644
+--- a/gst-libs/gst/wayland/Makefile.am
++++ b/gst-libs/gst/wayland/Makefile.am
+@@ -22,6 +22,9 @@ libgstwayland_@GST_API_VERSION@_la_LDFLAGS = \
+ 	$(GST_ALL_LDFLAGS) \
+ 	$(GST_LT_LDFLAGS)
+ 
++libgstwayland_@GST_API_VERSION@include_HEADERS = \
++	wayland.h
++
+ noinst_HEADERS = \
+ 	wayland.h
+ 
+diff --git a/gst/adpcmdec/adpcmdec.c b/gst/adpcmdec/adpcmdec.c
+index 3cfa820..4412d85 100644
+--- a/gst/adpcmdec/adpcmdec.c
++++ b/gst/adpcmdec/adpcmdec.c
+@@ -424,6 +424,10 @@ adpcmdec_handle_frame (GstAudioDecoder * bdec, GstBuffer * buffer)
+         ("frame decode failed"), ret);
+   }
+ 
++  if (bdec->ts_none) {
++	bdec->sub_ts_none = FALSE;
++  }
++
+   if (ret == GST_FLOW_OK)
+     ret = gst_audio_decoder_finish_frame (bdec, outbuf, 1);
+ 
+diff --git a/gst/ivfparse/gstivfparse.c b/gst/ivfparse/gstivfparse.c
+index e0e8401..df6a915 100644
+--- a/gst/ivfparse/gstivfparse.c
++++ b/gst/ivfparse/gstivfparse.c
+@@ -331,7 +331,8 @@ gst_ivf_parse_handle_frame_data (GstIvfParse * ivf, GstBaseParseFrame * frame,
+     if (gst_buffer_map (frame->out_buffer, &map, GST_MAP_READ)) {
+       guint32 width, height;
+ 
+-      if (ivf->fourcc == GST_MAKE_FOURCC ('V', 'P', '8', '0')) {
++      if ((ivf->fourcc == GST_MAKE_FOURCC ('V', 'P', '8', '0')) ||
++        (ivf->fourcc == GST_MAKE_FOURCC ('V', 'P', '9', '0'))) {
+         guint32 frame_tag;
+         frame_tag = GST_READ_UINT24_LE (map.data);
+         if (!(frame_tag & 0x01) && map.size >= 10) {    /* key frame */
+diff --git a/gst/jpegformat/gstjpegformat.c b/gst/jpegformat/gstjpegformat.c
+index b410466..1faf1ce 100644
+--- a/gst/jpegformat/gstjpegformat.c
++++ b/gst/jpegformat/gstjpegformat.c
+@@ -30,7 +30,7 @@
+ static gboolean
+ plugin_init (GstPlugin * plugin)
+ {
+-  if (!gst_element_register (plugin, "jpegparse", GST_RANK_NONE,
++  if (!gst_element_register (plugin, "jpegparse", GST_RANK_PRIMARY,
+           GST_TYPE_JPEG_PARSE))
+     return FALSE;
+   if (!gst_element_register (plugin, "jifmux", GST_RANK_SECONDARY,
+diff --git a/gst/jpegformat/gstjpegparse.c b/gst/jpegformat/gstjpegparse.c
+index 0bfdc80..b9f1853 100644
+--- a/gst/jpegformat/gstjpegparse.c
++++ b/gst/jpegformat/gstjpegparse.c
+@@ -151,7 +151,7 @@ gst_jpeg_parse_class_init (GstJpegParseClass * klass)
+ 
+   gst_element_class_set_static_metadata (gstelement_class,
+       "JPEG stream parser",
+-      "Video/Parser",
++      "Video/Parser/Codec",
+       "Parse JPEG images into single-frame buffers",
+       "Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>");
+ 
+diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c
+index e5c78e7..49a426f 100644
+--- a/gst/mpegtsdemux/tsdemux.c
++++ b/gst/mpegtsdemux/tsdemux.c
+@@ -39,6 +39,9 @@
+ #include <gst/pbutils/pbutils.h>
+ #include <gst/base/base.h>
+ #include <gst/audio/audio.h>
++#include <gst/riff/riff-read.h>
++#include <gst/riff/riff-ids.h>
++#include <gst/riff/riff-media.h>
+ 
+ #include "mpegtsbase.h"
+ #include "tsdemux.h"
+@@ -1067,6 +1070,168 @@ gst_ts_demux_create_tags (TSDemuxStream * stream)
+   }
+ }
+ 
++static GstFlowReturn
++gst_ts_demux_scan_vc1_wh (MpegTSBase * base, guint * w, guint * h)
++{
++  const guint cacheSize = 64 * 1024;
++  const guint cacheCount = 32;
++  const guint gapCount = 4 + 2 + 3;
++  guint cacheStart = 0;
++  GstFlowReturn ret = GST_FLOW_ERROR;
++  gboolean done = FALSE;
++  GstBuffer *buffer = NULL;
++  guint i = 0;
++  guint offset = 0;
++  GstMapInfo map;
++  guint8 *data = NULL;
++  size_t size = 0;
++
++  if (G_UNLIKELY (base == NULL)) {
++    GST_DEBUG ("base is NULL");
++    return ret;
++  }
++
++  if (w == NULL || h == NULL) {
++    GST_DEBUG ("w or h is NULL");
++    return ret;
++  }
++
++  GST_DEBUG ("Scanning for width and height");
++
++  for (i = 0; (i < cacheCount) && !done; i++) {
++    if (i == 0) {
++      cacheStart = 0;
++    } else {
++      cacheStart = i * (cacheSize - gapCount);
++    }
++
++    GST_DEBUG ("Grabbing %d => %d", cacheStart, cacheStart + cacheSize);
++    ret = gst_pad_pull_range (base->sinkpad, cacheStart, cacheSize, &buffer);
++    if (G_UNLIKELY (ret == GST_FLOW_EOS)) {
++      break;
++    }
++    if (G_UNLIKELY (ret != GST_FLOW_OK)) {
++      break;
++    }
++
++    gst_buffer_map (buffer, &map, GST_MAP_READ);
++
++    data=map.data;
++    size=map.size;
++
++    for (offset = 0; offset <= (size - gapCount); offset++) {
++      if (memcmp("\x00\x00\x01\x0F", data + offset, 4)) {
++        offset++;
++      } else {
++        offset +=4;
++        offset +=2;
++
++        *w = (((data[offset] << 4) + (data[offset+1] >> 4)) << 1) + 2;
++        *h = ((((data[offset+1] & 0x0F) << 8) + data[offset+2]) << 1) + 2;
++        done = TRUE;
++        ret = GST_FLOW_OK;
++        break;
++      }
++    }
++
++    gst_buffer_unmap (buffer, &map);
++    gst_buffer_unref(buffer);
++    buffer = NULL;
++  }
++
++  return ret;
++}
++
++static GstFlowReturn
++gst_ts_demux_separate_vc1_header (GstTSDemux * demux, TSDemuxStream * stream, GstBuffer ** buffer)
++{
++  static gboolean headerPushed = FALSE;
++  GstFlowReturn res = GST_FLOW_OK;
++
++  if (memcmp("\x00\x00\x01\x0F", stream->data, 4)) {
++    if (!headerPushed) {
++      gst_buffer_unref (*buffer);
++      GST_DEBUG ("This frame should be dropped!");
++      res = GST_FLOW_ERROR;
++      return res;
++    }
++  } else {
++    GstBuffer *bufLeft = NULL;
++    const guint8 *data = stream->data;
++    size_t offset = 0;
++
++    while (offset + 3 < stream->current_size) {
++      if (memcmp(data+offset, "\x00\x00\x01", 3)) {
++        offset++;
++        continue;
++      } else {
++        guint currentStartCode = data[offset+3];
++
++        if (currentStartCode == 0x0F || currentStartCode == 0x0E) {
++          offset++;
++          continue;
++        } else {
++          //found data
++          break;
++        }
++      }
++    }
++
++    if (!headerPushed) {
++      GstCaps *caps = NULL;
++      GstStructure *str = NULL;
++      GstBuffer *bufVids = NULL;
++      GstBuffer *bufSeq = NULL;
++      GstBuffer *bufMerged = NULL;
++      guint width = 0;
++      guint height = 0;
++      gst_riff_strf_vids *pVids;
++      const guint sizeVids = sizeof (gst_riff_strf_vids);
++
++      pVids = g_new (gst_riff_strf_vids, 1);
++      memset (pVids, 0, sizeVids);
++
++      caps = gst_pad_get_current_caps (stream->pad);
++      if (caps) {
++        str = gst_caps_get_structure (caps, 0);
++
++        gst_structure_get_int (str, "width", &width);
++        gst_structure_get_int (str, "height", &height);
++      }
++
++      pVids->size = sizeVids + offset;
++      pVids->width = width;
++      pVids->height = height;
++
++      pVids->size = GUINT32_FROM_LE (pVids->size);
++      pVids->width = GUINT32_FROM_LE (pVids->width);
++      pVids->height = GUINT32_FROM_LE (pVids->height);
++      pVids->compression = GST_MAKE_FOURCC ('W', 'V', 'C', '1');
++
++      bufVids = gst_buffer_new_wrapped (g_memdup ((guint8 *) pVids,
++                sizeVids), sizeVids);
++      bufSeq = gst_buffer_new_wrapped (g_memdup ((guint8 *) data,
++                offset), offset);
++      bufMerged = gst_buffer_append (bufVids, bufSeq);
++
++      gst_pad_push (stream->pad, bufMerged);
++      headerPushed = TRUE;
++
++      if (pVids) {
++        g_free (pVids);
++      }
++    }
++
++    bufLeft = gst_buffer_copy_region (*buffer, GST_BUFFER_COPY_ALL, offset, stream->current_size-offset);
++    stream->current_size -= offset;
++    gst_buffer_unref (*buffer);
++    *buffer = bufLeft;
++    res = GST_FLOW_OK;
++  }
++
++  return res;
++}
++
+ static GstPad *
+ create_pad_for_stream (MpegTSBase * base, MpegTSBaseStream * bstream,
+     MpegTSBaseProgram * program)
+@@ -1081,6 +1246,8 @@ create_pad_for_stream (MpegTSBase * base, MpegTSBaseStream * bstream,
+   gboolean sparse = FALSE;
+   gboolean is_audio = FALSE, is_video = FALSE, is_subpicture = FALSE,
+       is_private = FALSE;
++  guint width = 0;
++  guint height = 0;
+ 
+   gst_ts_demux_create_tags (stream);
+ 
+@@ -1565,6 +1732,10 @@ create_pad_for_stream (MpegTSBase * base, MpegTSBaseStream * bstream,
+       is_video = TRUE;
+       caps = gst_caps_new_simple ("video/x-wmv",
+           "wmvversion", G_TYPE_INT, 3, "format", G_TYPE_STRING, "WVC1", NULL);
++
++	  gst_ts_demux_scan_vc1_wh (base, &width, &height);
++	  gst_caps_set_simple (caps, "width", G_TYPE_INT, width, NULL);
++	  gst_caps_set_simple (caps, "height", G_TYPE_INT, height, NULL);
+ 
+       break;
+     }
+@@ -2945,6 +3116,13 @@ gst_ts_demux_push_pending_data (GstTSDemux * demux, TSDemuxStream * stream,
+     }
+   }
+ 
++  if (bs->stream_type == ST_PRIVATE_EA) {
++    if (G_UNLIKELY (gst_ts_demux_separate_vc1_header (demux, stream, &buffer)
++        != GST_FLOW_OK)) {
++      goto beach;
++    }
++  }
++
+   if (G_UNLIKELY (stream->need_newsegment))
+     calculate_and_push_newsegment (demux, stream, target_program);
+ 
+diff --git a/gst/videoparsers/gsth264parse.c b/gst/videoparsers/gsth264parse.c
+index 7751ea2..ceb2f58 100644
+--- a/gst/videoparsers/gsth264parse.c
++++ b/gst/videoparsers/gsth264parse.c
+@@ -167,6 +167,7 @@ gst_h264_parse_init (GstH264Parse * h264parse)
+ 
+   h264parse->aud_needed = TRUE;
+   h264parse->aud_insert = TRUE;
++  h264parse->caps_flag = FALSE;
+ }
+ 
+ 
+@@ -1835,13 +1836,21 @@ gst_h264_parse_update_src_caps (GstH264Parse * h264parse, GstCaps * caps)
+       caps = gst_caps_copy (sink_caps);
+ 
+       /* sps should give this but upstream overrides */
+-      if (s && gst_structure_has_field (s, "width"))
+-        gst_structure_get_int (s, "width", &width);
++      if (s && gst_structure_has_field (s, "width")) {
++         gst_structure_get_int (s, "width", &width);
++		 if (width != h264parse->width) {
++          width = h264parse->width;
++        }
++      }
+       else
+         width = h264parse->width;
+ 
+-      if (s && gst_structure_has_field (s, "height"))
+-        gst_structure_get_int (s, "height", &height);
++      if (s && gst_structure_has_field (s, "height")) {
++          gst_structure_get_int (s, "height", &height);
++		  if (height != h264parse->height) {
++          height = h264parse->height;
++        }
++      }
+       else
+         height = h264parse->height;
+ 
+@@ -1988,7 +1997,10 @@ gst_h264_parse_update_src_caps (GstH264Parse * h264parse, GstCaps * caps)
+         gst_buffer_replace (&h264parse->codec_data, NULL);
+       }
+ 
+-      gst_pad_set_caps (GST_BASE_PARSE_SRC_PAD (h264parse), caps);
++      if (sps && !h264parse->caps_flag) {
++        h264parse->caps_flag = TRUE;
++        gst_pad_set_caps (GST_BASE_PARSE_SRC_PAD (h264parse), caps);
++      }
+     }
+ 
+     if (src_caps)
+@@ -2581,11 +2593,11 @@ gst_h264_parse_set_caps (GstBaseParse * parse, GstCaps * caps)
+   if (format == GST_H264_PARSE_FORMAT_NONE) {
+     /* codec_data implies avc */
+     if (codec_data_value != NULL) {
+-      GST_ERROR ("video/x-h264 caps with codec_data but no stream-format=avc");
++      GST_LOG ("video/x-h264 caps with codec_data but no stream-format=avc");
+       format = GST_H264_PARSE_FORMAT_AVC;
+     } else {
+       /* otherwise assume bytestream input */
+-      GST_ERROR ("video/x-h264 caps without codec_data or stream-format");
++      GST_LOG ("video/x-h264 caps without codec_data or stream-format");
+       format = GST_H264_PARSE_FORMAT_BYTE;
+     }
+   }
+diff --git a/gst/videoparsers/gsth264parse.h b/gst/videoparsers/gsth264parse.h
+index 137c2cd..997c0e3 100644
+--- a/gst/videoparsers/gsth264parse.h
++++ b/gst/videoparsers/gsth264parse.h
+@@ -132,6 +132,7 @@ struct _GstH264Parse
+   /* For insertion of AU Delimiter */
+   gboolean aud_needed;
+   gboolean aud_insert;
++  gboolean caps_flag;
+ };
+ 
+ struct _GstH264ParseClass
+diff --git a/gst/videoparsers/gsth265parse.c b/gst/videoparsers/gsth265parse.c
+index 775cd24..13c93ea 100644
+--- a/gst/videoparsers/gsth265parse.c
++++ b/gst/videoparsers/gsth265parse.c
+@@ -154,6 +154,7 @@ static void
+ gst_h265_parse_init (GstH265Parse * h265parse)
+ {
+   h265parse->frame_out = gst_adapter_new ();
++  h265parse->has_caps_flag = FALSE;
+   gst_base_parse_set_pts_interpolation (GST_BASE_PARSE (h265parse), FALSE);
+   GST_PAD_SET_ACCEPT_INTERSECT (GST_BASE_PARSE_SINK_PAD (h265parse));
+   GST_PAD_SET_ACCEPT_TEMPLATE (GST_BASE_PARSE_SINK_PAD (h265parse));
+@@ -1761,7 +1762,12 @@ gst_h265_parse_update_src_caps (GstH265Parse * h265parse, GstCaps * caps)
+         gst_buffer_replace (&h265parse->codec_data, NULL);
+       }
+ 
+-      gst_pad_set_caps (GST_BASE_PARSE_SRC_PAD (h265parse), caps);
++      if (h265parse->has_caps_flag == FALSE) {
++        GST_INFO_OBJECT (h265parse, "h265parse->has_caps_flag=FALSE");
++        gst_pad_set_caps (GST_BASE_PARSE_SRC_PAD (h265parse), caps);
++        h265parse->has_caps_flag = TRUE;
++      }
++
+     }
+ 
+     if (src_caps)
+diff --git a/gst/videoparsers/gsth265parse.h b/gst/videoparsers/gsth265parse.h
+index eb82f6f..0d6be87 100644
+--- a/gst/videoparsers/gsth265parse.h
++++ b/gst/videoparsers/gsth265parse.h
+@@ -86,6 +86,7 @@ struct _GstH265Parse
+   /* frame parsing */
+   gint idr_pos, sei_pos;
+   gboolean update_caps;
++  gboolean has_caps_flag;
+   GstAdapter *frame_out;
+   gboolean keyframe;
+   gboolean header;
+diff --git a/gst/videoparsers/gstmpeg4videoparse.c b/gst/videoparsers/gstmpeg4videoparse.c
+index 38e1f45..990f0db 100644
+--- a/gst/videoparsers/gstmpeg4videoparse.c
++++ b/gst/videoparsers/gstmpeg4videoparse.c
+@@ -210,6 +210,7 @@ gst_mpeg4vparse_reset (GstMpeg4VParse * mp4vparse)
+   mp4vparse->pending_key_unit_ts = GST_CLOCK_TIME_NONE;
+   mp4vparse->force_key_unit_event = NULL;
+   mp4vparse->discont = FALSE;
++  mp4vparse->vop_flag = FALSE;
+ 
+   gst_buffer_replace (&mp4vparse->config, NULL);
+   memset (&mp4vparse->vol, 0, sizeof (mp4vparse->vol));
+@@ -338,6 +339,7 @@ gst_mpeg4vparse_process_sc (GstMpeg4VParse * mp4vparse, GstMpeg4Packet * packet,
+       if (packet->type == GST_MPEG4_VIDEO_OBJ_PLANE) {
+         GST_LOG_OBJECT (mp4vparse, "startcode is VOP");
+         mp4vparse->vop_offset = packet->offset;
++		mp4vparse->vop_flag = TRUE;
+       } else if (packet->type == GST_MPEG4_GROUP_OF_VOP) {
+         GST_LOG_OBJECT (mp4vparse, "startcode is GOP");
+       } else {
+@@ -527,6 +529,7 @@ out:
+       GST_BUFFER_FLAG_SET (frame->buffer, GST_BUFFER_FLAG_DISCONT);
+       mp4vparse->discont = FALSE;
+     }
++	mp4vparse->vop_flag = FALSE;
+     return gst_base_parse_finish_frame (parse, frame, framesize);
+   }
+ 
+@@ -540,8 +543,8 @@ gst_mpeg4vparse_update_src_caps (GstMpeg4VParse * mp4vparse)
+   GstStructure *s = NULL;
+ 
+   /* only update if no src caps yet or explicitly triggered */
+-  if (G_LIKELY (gst_pad_has_current_caps (GST_BASE_PARSE_SRC_PAD (mp4vparse)) &&
+-          !mp4vparse->update_caps))
++  if (G_LIKELY (gst_pad_has_current_caps (GST_BASE_PARSE_SRC_PAD (mp4vparse)) ||
++    !mp4vparse->update_caps || (mp4vparse->vop_flag == FALSE)))
+     return;
+ 
+   GST_LOG_OBJECT (mp4vparse, "Updating caps");
+@@ -641,7 +644,7 @@ gst_mpeg4vparse_parse_frame (GstBaseParse * parse, GstBaseParseFrame * frame)
+   else
+     GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_DELTA_UNIT);
+ 
+-  if (G_UNLIKELY (mp4vparse->drop && !mp4vparse->config)) {
++  if (G_UNLIKELY (mp4vparse->drop && !mp4vparse->config && (mp4vparse->vop_flag == FALSE))) {
+     GST_LOG_OBJECT (mp4vparse, "dropping frame as no config yet");
+     return GST_BASE_PARSE_FLOW_DROPPED;
+   } else
+diff --git a/gst/videoparsers/gstmpeg4videoparse.h b/gst/videoparsers/gstmpeg4videoparse.h
+index 149289a..73e4407 100644
+--- a/gst/videoparsers/gstmpeg4videoparse.h
++++ b/gst/videoparsers/gstmpeg4videoparse.h
+@@ -54,6 +54,7 @@ struct _GstMpeg4VParse {
+   gboolean config_found;
+   gboolean update_caps;
+   gboolean sent_codec_tag;
++  gboolean vop_flag;
+ 
+   GstMpeg4VisualObject vo;
+   gint vo_offset;
+diff --git a/gst/videoparsers/gstmpegvideoparse.c b/gst/videoparsers/gstmpegvideoparse.c
+index 6896339..6547517 100644
+--- a/gst/videoparsers/gstmpegvideoparse.c
++++ b/gst/videoparsers/gstmpegvideoparse.c
+@@ -561,10 +561,10 @@ gst_mpegv_parse_process_sc (GstMpegvParse * mpvparse,
+         ret = FALSE;
+       } else {
+         /* TSN is stored in first 10 bits */
+-        int tsn = info->data[off] << 2 | (info->data[off + 1] & 0xC0) >> 6;
++        //int tsn = info->data[off] << 2 | (info->data[off + 1] & 0xC0) >> 6;
+ 
+-        if (tsn == mpvparse->pichdr.tsn)        /* prevent termination if TSN is same */
+-          ret = FALSE;
++        //if (tsn == mpvparse->pichdr.tsn)        /* prevent termination if TSN is same */
++        //  ret = FALSE;
+       }
+     }
+   }
+@@ -731,12 +731,18 @@ gst_mpegv_parse_update_src_caps (GstMpegvParse * mpvparse)
+ {
+   GstCaps *caps = NULL;
+   GstStructure *s = NULL;
++  static gboolean is_first_in=TRUE;
+ 
+   /* only update if no src caps yet or explicitly triggered */
+   if (G_LIKELY (gst_pad_has_current_caps (GST_BASE_PARSE_SRC_PAD (mpvparse)) &&
+           !mpvparse->update_caps))
+     return;
+ 
++  if (!is_first_in) {
++    return;
++  }
++  is_first_in = FALSE;
++
+   /* carry over input caps as much as possible; override with our own stuff */
+   caps = gst_pad_get_current_caps (GST_BASE_PARSE_SINK_PAD (mpvparse));
+   if (caps) {
+@@ -758,24 +764,12 @@ gst_mpegv_parse_update_src_caps (GstMpegvParse * mpvparse)
+       "parsed", G_TYPE_BOOLEAN, TRUE, NULL);
+ 
+   if (mpvparse->sequencehdr.width > 0 && mpvparse->sequencehdr.height > 0) {
+-    GstMpegVideoSequenceDisplayExt *seqdispext;
++
+     gint width, height;
+ 
+     width = mpvparse->sequencehdr.width;
+     height = mpvparse->sequencehdr.height;
+ 
+-    if (mpvparse->config_flags & FLAG_SEQUENCE_DISPLAY_EXT) {
+-      seqdispext = &mpvparse->sequencedispext;
+-
+-      if (seqdispext->display_horizontal_size <= width
+-          && seqdispext->display_vertical_size <= height) {
+-        width = seqdispext->display_horizontal_size;
+-        height = seqdispext->display_vertical_size;
+-        GST_INFO_OBJECT (mpvparse,
+-            "stream has display extension: display_width=%d display_height=%d",
+-            width, height);
+-      }
+-    }
+     gst_caps_set_simple (caps, "width", G_TYPE_INT, width,
+         "height", G_TYPE_INT, height, NULL);
+   }
+@@ -927,6 +921,61 @@ gst_mpegv_parse_parse_frame (GstBaseParse * parse, GstBaseParseFrame * frame)
+ }
+ 
+ static GstFlowReturn
++gst_mpegv_parse_frame_max_slice_no (const GstBuffer * buf, guint * max_slice_no)
++{
++  GstFlowReturn ret = GST_FLOW_OK;
++  GstBuffer *buffer = buf;
++  GstMapInfo map;
++  guint8 *data = NULL;
++  size_t size = 0;
++  size_t offset = 0;
++  guint max_no = 0;
++
++  gst_buffer_map (buffer, &map, GST_MAP_READ);
++  data = map.data;
++  size = map.size;
++
++  for (offset=0; offset + 3 < size; offset++) {
++    if (!memcmp(data+offset, "\x00\x00\x01", 3)) {
++      guint currentStartCode = data[offset+3];
++
++      if ((currentStartCode <= GST_MPEG_VIDEO_PACKET_SLICE_MAX) && (currentStartCode > max_no)) {
++        max_no = currentStartCode;
++      }
++    }
++  }
++
++  gst_buffer_unmap (buffer, &map);
++
++  *max_slice_no = max_no;
++  return ret;
++}
++
++static gboolean
++gst_mpegv_parse_frame_is_invalid (GstBaseParse * parse, GstBaseParseFrame * frame)
++{
++  GstMpegvParse *mpvparse = GST_MPEGVIDEO_PARSE (parse);
++  GstBuffer *buffer = frame->buffer;
++  static guint preFrameMaxSliceNo = 0;
++  guint curFrameMaxSliceNo = 0;
++  static gboolean shouldDrop = FALSE;
++
++  if (G_UNLIKELY (mpvparse->pichdr.pic_type != GST_MPEG_VIDEO_PICTURE_TYPE_I)) {
++    return shouldDrop;
++  }
++
++  gst_mpegv_parse_frame_max_slice_no (buffer, &curFrameMaxSliceNo);
++  if ((curFrameMaxSliceNo + 13) <= preFrameMaxSliceNo) {
++    shouldDrop = TRUE;
++  } else {
++    shouldDrop = FALSE;
++  }
++
++  preFrameMaxSliceNo = curFrameMaxSliceNo;
++  return shouldDrop;
++}
++
++static GstFlowReturn
+ gst_mpegv_parse_pre_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame)
+ {
+   GstMpegvParse *mpvparse = GST_MPEGVIDEO_PARSE (parse);
+@@ -939,6 +988,16 @@ gst_mpegv_parse_pre_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame)
+   GstMpegVideoPictureExt *pic_ext = NULL;
+   GstMpegVideoQuantMatrixExt *quant_ext = NULL;
+ 
++  if (gst_mpegv_parse_frame_is_invalid (parse, frame)) {
++    frame->flags |= GST_BASE_PARSE_FRAME_FLAG_DROP;
++    return GST_FLOW_OK;
++  }
++
++  GstBuffer *buffer = frame->buffer;
++  if (!GST_BUFFER_PTS_IS_VALID (buffer)) {
++    GST_BUFFER_PTS (buffer) = GST_BUFFER_DTS (buffer);
++  }
++
+   /* tag sending done late enough in hook to ensure pending events
+    * have already been sent */
+ 
+-- 
+1.9.1
+
diff --git a/debian/patches/0002-mtk-gst-libs-gst-wayland-makefile.patch b/debian/patches/0002-mtk-gst-libs-gst-wayland-makefile.patch
new file mode 100644
index 0000000..08c4c5c
--- /dev/null
+++ b/debian/patches/0002-mtk-gst-libs-gst-wayland-makefile.patch
@@ -0,0 +1,126 @@
+diff --git a/gst-libs/gst/wayland/Makefile.in b/gst-libs/gst/wayland/Makefile.in
+index 23b16c63..045e493f 100644
+--- a/gst-libs/gst/wayland/Makefile.in
++++ b/gst-libs/gst/wayland/Makefile.in
+@@ -126,8 +126,9 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
+ 	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ 	$(ACLOCAL_M4)
+-DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+-	$(am__DIST_COMMON)
++DIST_COMMON = $(srcdir)/Makefile.am \
++  $(libgstwayland_@GST_API_VERSION@include_HEADERS) \
++  $(noinst_HEADERS) $(am__DIST_COMMON)
+ mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = $(top_builddir)/config.h
+ CONFIG_CLEAN_FILES =
+@@ -159,7 +160,8 @@ am__uninstall_files_from_dir = { \
+     || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+          $(am__cd) "$$dir" && rm -f $$files; }; \
+   }
+-am__installdirs = "$(DESTDIR)$(libdir)"
++am__installdirs = "$(DESTDIR)$(libdir)" \
++  "$(DESTDIR)$(libgstwayland_@GST_API_VERSION@includedir)"
+ LTLIBRARIES = $(lib_LTLIBRARIES)
+ am__DEPENDENCIES_1 =
+ libgstwayland_@GST_API_VERSION@_la_DEPENDENCIES =  \
+@@ -220,7 +222,8 @@ am__can_run_installinfo = \
+     n|no|NO) false;; \
+     *) (install-info --version) >/dev/null 2>&1;; \
+   esac
+-HEADERS = $(noinst_HEADERS)
++HEADERS = $(libgstwayland_@GST_API_VERSION@include_HEADERS) \
++  $(noinst_HEADERS)
+ am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+ # Read a list of newline-separated strings from the standard input,
+ # and print each of them once, without duplicates.  Input order is
+@@ -762,6 +765,9 @@ libgstwayland_@GST_API_VERSION@_la_LDFLAGS = \
+ 	$(GST_ALL_LDFLAGS) \
+ 	$(GST_LT_LDFLAGS)
+ 
++libgstwayland_@GST_API_VERSION@include_HEADERS = \
++  wayland.h
++
+ noinst_HEADERS = \
+ 	wayland.h
+ 
+@@ -888,6 +894,28 @@ mostlyclean-libtool:
+ clean-libtool:
+ 	-rm -rf .libs _libs
+ 
++install-libgstwayland_@GST_API_VERSION@includeHEADERS: $(libgstwayland_@GST_API_VERSION@include_HEADERS)
++  @$(NORMAL_INSTALL)
++  @list='$(libgstwayland_@GST_API_VERSION@include_HEADERS)'; test -n "$(libgstwayland_@GST_API_VERSION@includedir)" || list=; \
++  if test -n "$$list"; then \
++    echo " $(MKDIR_P) '$(DESTDIR)$(libgstwayland_@GST_API_VERSION@includedir)'"; \
++    $(MKDIR_P) "$(DESTDIR)$(libgstwayland_@GST_API_VERSION@includedir)" || exit 1; \
++  fi; \
++  for p in $$list; do \
++    if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++    echo "$$d$$p"; \
++  done | $(am__base_list) | \
++  while read files; do \
++    echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libgstwayland_@GST_API_VERSION@includedir)'"; \
++    $(INSTALL_HEADER) $$files "$(DESTDIR)$(libgstwayland_@GST_API_VERSION@includedir)" || exit $$?; \
++  done
++
++uninstall-libgstwayland_@GST_API_VERSION@includeHEADERS:
++  @$(NORMAL_UNINSTALL)
++  @list='$(libgstwayland_@GST_API_VERSION@include_HEADERS)'; test -n "$(libgstwayland_@GST_API_VERSION@includedir)" || list=; \
++  files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
++  dir='$(DESTDIR)$(libgstwayland_@GST_API_VERSION@includedir)'; $(am__uninstall_files_from_dir)
++
+ ID: $(am__tagged_files)
+ 	$(am__define_uniq_tagged_files); mkid -fID $$unique
+ tags: tags-am
+@@ -977,7 +1005,7 @@ check-am: all-am
+ check: check-am
+ all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+ installdirs:
+-	for dir in "$(DESTDIR)$(libdir)"; do \
++	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libgstwayland_@GST_API_VERSION@includedir)"; do \
+ 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ 	done
+ install: install-am
+@@ -1033,7 +1061,8 @@ info: info-am
+ 
+ info-am:
+ 
+-install-data-am:
++install-data-am:  \
++  install-libgstwayland_@GST_API_VERSION@includeHEADERS
+ 
+ install-dvi: install-dvi-am
+ 
+@@ -1079,7 +1108,8 @@ ps: ps-am
+ 
+ ps-am:
+ 
+-uninstall-am: uninstall-libLTLIBRARIES
++uninstall-am: uninstall-libLTLIBRARIES \
++  uninstall-libgstwayland_@GST_API_VERSION@includeHEADERS
+ 
+ .MAKE: install-am install-strip
+ 
+@@ -1090,12 +1120,15 @@ uninstall-am: uninstall-libLTLIBRARIES
+ 	html-am info info-am install install-am install-data \
+ 	install-data-am install-dvi install-dvi-am install-exec \
+ 	install-exec-am install-html install-html-am install-info \
+-	install-info-am install-libLTLIBRARIES install-man install-pdf \
+-	install-pdf-am install-ps install-ps-am install-strip \
+-	installcheck installcheck-am installdirs maintainer-clean \
+-	maintainer-clean-generic mostlyclean mostlyclean-compile \
+-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+-	tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES
++	install-info-am install-libLTLIBRARIES \
++  install-libgstwayland_@GST_API_VERSION@includeHEADERS \
++  install-man install-pdf install-pdf-am install-ps \
++  install-ps-am install-strip installcheck installcheck-am \
++  installdirs maintainer-clean maintainer-clean-generic \
++  mostlyclean mostlyclean-compile mostlyclean-generic \
++  mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
++  uninstall-am uninstall-libLTLIBRARIES \
++  uninstall-libgstwayland_@GST_API_VERSION@includeHEADERS
+ 
+ .PRECIOUS: Makefile
+ 
diff --git a/debian/patches/01_fix-modplug-linking.patch b/debian/patches/01_fix-modplug-linking.patch
index 2a03069..d7cb05c 100644
--- a/debian/patches/01_fix-modplug-linking.patch
+++ b/debian/patches/01_fix-modplug-linking.patch
@@ -1,16 +1,17 @@
 Description: Tell libtool not to deduplicate linked libraries which causes problems in the case of circular deps. Force -lc to be added at the end.
 Author: Iain Lane <iain.lane@canonical.com>
 
---- a/ext/modplug/Makefile.am
-+++ b/ext/modplug/Makefile.am
-@@ -2,8 +2,8 @@
+Index: gst-plugins-bad1.0/ext/modplug/Makefile.am
+===================================================================
+--- gst-plugins-bad1.0.orig/ext/modplug/Makefile.am
++++ gst-plugins-bad1.0/ext/modplug/Makefile.am
+@@ -2,7 +2,7 @@ plugin_LTLIBRARIES = libgstmodplug.la
  
  libgstmodplug_la_SOURCES = gstmodplug.cc
  libgstmodplug_la_CXXFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) $(MODPLUG_CFLAGS)
 -libgstmodplug_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(LIBM) $(MODPLUG_LIBS)
+-libgstmodplug_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
 +libgstmodplug_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(LIBM) $(MODPLUG_LIBS) -lc
- libgstmodplug_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
--libgstmodplug_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-+libgstmodplug_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) --preserve-dup-deps
++libgstmodplug_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) --preserve-dup-deps
  
  noinst_HEADERS = gstmodplug.h
diff --git a/debian/patches/02_opencv-linking.patch b/debian/patches/02_opencv-linking.patch
deleted file mode 100644
index a199f6f..0000000
--- a/debian/patches/02_opencv-linking.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/ext/opencv/Makefile.am b/ext/opencv/Makefile.am
-index 3ba1c34..2bda4e3 100644
---- a/ext/opencv/Makefile.am
-+++ b/ext/opencv/Makefile.am
-@@ -40,7 +40,9 @@ libgstopencv_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) \
- 	-DCV_INLINE="static inline" \
- 	-DCV_NO_BACKWARD_COMPATIBILITY
- 
--libgstopencv_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) $(OPENCV_LIBS) \
-+# workaround for broken pkg-config file
-+OPENCV_LIBS_FIXED = $(subst ocl,ml,$(OPENCV_LIBS))
-+libgstopencv_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) $(OPENCV_LIBS_FIXED) \
- 			$(GSTPB_BASE_LIBS) -lgstvideo-$(GST_API_VERSION)
- 
- libgstopencv_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
diff --git a/debian/patches/series b/debian/patches/series
index 2eada45..f9c29d1 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 01_fix-modplug-linking.patch
-02_opencv-linking.patch
-0001-Make-sure-to-link-gme-plugin-with-lz.patch
+0001-add-judge-for-mpeg4-codec-in-mpeg-container.patch
+0001-mtk-upgrade-gst-bad-to-1-14-4.patch
+0002-mtk-gst-libs-gst-wayland-makefile.patch
diff --git a/debian/rules b/debian/rules
index c6b5cac..02cf91a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -45,7 +45,7 @@
 gst_lib=libgstreamer$(gst_abi)-0
 gst_lib_dev=libgstreamer$(gst_abi)-dev
 # what gstreamer version is needed
-gst_lib_dev_dep=$(gst_lib_dev) (>= 1.10.0)
+gst_lib_dev_dep=$(gst_lib_dev) (>= 1.14.4)
 
 gst_pkgname=gstreamer$(gst_abi)
 gst_deb_abi=$(gst_abi)-0
@@ -58,22 +58,15 @@
 gst_extra_build_depends += , libusb-1.0-0-dev [linux-any]
 gst_extra_build_depends += , libbluetooth-dev (>= 5) [linux-any]
 gst_extra_build_depends += , libsbc-dev (>= 1.1) [linux-any]
-gst_extra_build_depends += , libwayland-dev (>= 1.0) [linux-any]
-gst_extra_build_depends += , wayland-protocols [linux-any]
+gst_extra_build_depends += , libwayland-dev (>= 1.4.0) [linux-any]
+gst_extra_build_depends += , libdrm-dev (>= 2.4.55) [linux-any]
+gst_extra_build_depends += , wayland-protocols (>= 1.4) [linux-any]
+gst_extra_build_depends += , libvulkan-dev [linux-any]
 
-# The plugins are basically the same.
-# Link special names to a template file.
-# still need "*.install" to be done by hand
-# 
-# EXTRA_PLUGINS: See debian/README.Debian for docs
-EXTRA_PLUGINS +=
-
-PLUGINS += plugins-bad $(EXTRA_PLUGINS)
+PLUGINS += plugins-bad
 ifeq ($(DEB_HOST_ARCH_OS),linux)
 PLUGINS +=
 endif
-VERSIONIZE= \
-	plugins-bad-doc.install \
 
 #debug package
 DEB_DH_STRIP_ARGS := --dbg-package=$(gst_pkgname)-plugins-bad-dbg
@@ -91,6 +84,8 @@
 sbc = debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/gstreamer-$(gst_abi)/libgstsbc.so
 waylandsink = debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/gstreamer-$(gst_abi)/libgstwaylandsink.so
 wayland = debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libgstwayland-$(gst_abi).so.*
+kms = debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/gstreamer-$(gst_abi)/libgstkms.so
+vulkan = debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/gstreamer-$(gst_abi)/libgstvulkan.so
 endif
 
 ifeq ($(DEB_HOST_ARCH_OS),kfreebsd)
@@ -135,6 +130,8 @@
 			-e 's,@bluez@,$(bluez),g' \
 			-e 's,@sbc@,$(sbc),g' \
 			-e 's,@waylandsink@,$(waylandsink),g' \
+			-e 's,@kms@,$(kms),g' \
+			-e 's,@vulkan@,$(vulkan),g' \
 			-e 's/@GST_ABI@/$(gst_abi)/g' \
 			debian/gstreamer-$$p.install \
 			> debian/$(gst_pkgname)-$$p.install; \
@@ -150,18 +147,14 @@
 			> debian/libgstreamer-plugins-bad$(gst_deb_abi).install
 	sed 's/@GST_ABI@/$(gst_abi)/g' debian/libgstreamer-plugins-bad-dev.install \
 			> debian/libgstreamer-plugins-bad$(gst_abi)-dev.install
-	cp debian/gir1.2-gst-plugins-bad.install \
-			debian/gir1.2-gst-plugins-bad-$(gst_abi).install
 
 maint: debian/control
 
-
 DEB_CONFIGURE_EXTRA_FLAGS += \
 	--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
 	--disable-examples \
 	--enable-DEBUG \
 	--enable-debug \
-	--enable-experimental \
 	--with-package-name=$(GST_PACKAGE_NAME) \
 	--with-package-origin=$(GST_PACKAGE_ORIGIN) \
 	--disable-pvr \
@@ -173,11 +166,6 @@
 	--disable-opengl \
 	--enable-gles2
 
-# only build the docs on arches which can
-ifeq (,$(findstring $(DEB_HOST_ARCH),m68k arm))
-DEB_CONFIGURE_EXTRA_FLAGS += --enable-gtk-doc
-endif
-
 common-binary-fixup-arch::
 	LD_LIBRARY_PATH=debian/libgstreamer-plugins-bad1.0-0/usr/lib/$(DEB_HOST_MULTIARCH):$(LD_LIBRARY_PATH) \
 		dh_gstscancodecs
@@ -192,9 +180,9 @@
 		rm -f debian/$(gst_pkgname)-$$f; \
 	done
 
-gst_patch = $(shell echo $(gst_version) | cut -d '.' -f 3)
+gst_patch = $(shell echo $(gst_version) | cut -d '.' -f 2)
 gst_patch_next = $(shell expr $(gst_patch) + 1)
-gst_version_next = $(shell echo $(gst_version) | cut -d '.' -f-2).$(gst_patch_next)
+gst_version_next = $(shell echo $(gst_version) | cut -d '.' -f-1).$(gst_patch_next)
 DEB_DH_MAKESHLIBS_ARGS_libgstreamer-plugins-bad$(gst_deb_abi) += -V "libgstreamer-plugins-bad$(gst_deb_abi) (>= $(gst_version)), libgstreamer-plugins-bad$(gst_deb_abi) (<< $(gst_version_next))"
 DEB_INSTALL_DOCS_ALL += debian/README.Debian NEWS
 
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
new file mode 100644
index 0000000..e5d03e4
--- /dev/null
+++ b/debian/source/lintian-overrides
@@ -0,0 +1 @@
+gst-plugins-bad1.0 source: debian-rules-sets-dpkg-architecture-variable *
\ No newline at end of file
