From: Erwin Rol <[email protected]>

Signed-off-by: Erwin Rol <[email protected]>
---
 .../0002--remove-endianness-swapping.patch         |   45 --
 .../0003--add-rgb666-support.patch                 |   52 ---
 .../bayer2rgb_configurable_first_line.diff         |  120 ------
 patches/gst-plugins-bad-0.10.10/series             |    3 -
 .../0002--remove-endianness-swapping.patch         |   45 ++
 .../0003--add-rgb666-support.patch                 |   52 +++
 .../bayer2rgb_configurable_first_line.diff         |  120 ++++++
 patches/gst-plugins-bad-0.10.17/series             |    3 +
 rules/gst-plugins-bad.in                           |  445 +++++++++++++++++++-
 rules/gst-plugins-bad.make                         |  228 +++++++----
 10 files changed, 802 insertions(+), 311 deletions(-)
 delete mode 100644 
patches/gst-plugins-bad-0.10.10/0002--remove-endianness-swapping.patch
 delete mode 100644 
patches/gst-plugins-bad-0.10.10/0003--add-rgb666-support.patch
 delete mode 100644 
patches/gst-plugins-bad-0.10.10/bayer2rgb_configurable_first_line.diff
 delete mode 100644 patches/gst-plugins-bad-0.10.10/series
 create mode 100644 
patches/gst-plugins-bad-0.10.17/0002--remove-endianness-swapping.patch
 create mode 100644 
patches/gst-plugins-bad-0.10.17/0003--add-rgb666-support.patch
 create mode 100644 
patches/gst-plugins-bad-0.10.17/bayer2rgb_configurable_first_line.diff
 create mode 100644 patches/gst-plugins-bad-0.10.17/series

diff --git 
a/patches/gst-plugins-bad-0.10.10/0002--remove-endianness-swapping.patch 
b/patches/gst-plugins-bad-0.10.10/0002--remove-endianness-swapping.patch
deleted file mode 100644
index 154950e..0000000
--- a/patches/gst-plugins-bad-0.10.10/0002--remove-endianness-swapping.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From: Luotao Fu <[email protected]>
-Date: Thu, 11 Dec 2008 11:57:48 +0100
-Subject: [PATCH] remove endianness swapping
-
- Swapping r- g- and bmask here is weird. It turns i.E. RGB888 to BGR888. For
- formats like RGB666 it turns the mask into a mess. Seems that gstreamer
- treat all True color as Big Endian. Still I doubt that it makes sense to
- swap the masks. I'm however not quite sure about this, comments are highly
- welcome.
-
-Signed-off-by: Luotao Fu <[email protected]>
----
- sys/fbdev/gstfbdevsink.c |   14 +-------------
- 1 files changed, 1 insertions(+), 13 deletions(-)
-
-diff --git a/sys/fbdev/gstfbdevsink.c b/sys/fbdev/gstfbdevsink.c
-index c9a7e14..c01e5b6 100644
---- sys/fbdev/gstfbdevsink.c
-+++ sys/fbdev/gstfbdevsink.c
-@@ -158,21 +158,9 @@ gst_fbdevsink_getcaps (GstBaseSink * bsink)
- 
-   switch (fbdevsink->varinfo.bits_per_pixel) {
-     case 32:
--      /* swap endian of masks */
--      rmask = swapendian (rmask);
--      gmask = swapendian (gmask);
--      bmask = swapendian (bmask);
-+    case 24:
-       endianness = 4321;
-       break;
--    case 24:{
--      /* swap red and blue masks */
--      uint32_t t = rmask;
--
--      rmask = bmask;
--      bmask = t;
--      endianness = 4321;
--      break;
--    }
-     case 15:
-     case 16:
-       endianness = 1234;
--- 
-1.5.6.5
-
diff --git a/patches/gst-plugins-bad-0.10.10/0003--add-rgb666-support.patch 
b/patches/gst-plugins-bad-0.10.10/0003--add-rgb666-support.patch
deleted file mode 100644
index bb6eb67..0000000
--- a/patches/gst-plugins-bad-0.10.10/0003--add-rgb666-support.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From: Luotao Fu <[email protected]>
-Date: Thu, 11 Dec 2008 12:03:59 +0100
-Subject: [PATCH] add rgb666 support
-
- This one adds support for rgb666 to fbdevsink. It's an exotic format, but 
still
- can be found on especially some embedded devices. The Modelines are taken
- directly from video.h of the video plugin, which is included by gstdevsink.
- It'd probably be cleaner to split this in a separate patch for plugins-base.
- I put the stuffs together for now for easier review. Patches for some sources
- with rgb666 capability are coming soon.
-
-Signed-off-by: Luotao Fu <[email protected]>
----
- sys/fbdev/gstfbdevsink.c |   19 +++++++++++++++++++
- 1 files changed, 19 insertions(+), 0 deletions(-)
-
-diff --git a/sys/fbdev/gstfbdevsink.c b/sys/fbdev/gstfbdevsink.c
-index c01e5b6..e764c5e 100644
---- sys/fbdev/gstfbdevsink.c
-+++ sys/fbdev/gstfbdevsink.c
-@@ -76,9 +76,28 @@ static GstCaps *gst_fbdevsink_getcaps (GstBaseSink * bsink);
- 
- static GstVideoSinkClass *parent_class = NULL;
- 
-+#define GST_VIDEO_BYTE1_MASK_18  "0x0003F000"
-+#define GST_VIDEO_BYTE2_MASK_18  "0x00000FC0"
-+#define GST_VIDEO_BYTE3_MASK_18  "0x0000003F"
-+#define __GST_VIDEO_CAPS_MAKE_18(R, G, B)                         \
-+    "video/x-raw-rgb, "                                                 \
-+    "bpp = (int) 32, "                                                  \
-+    "depth = (int) 18, "                                                \
-+    "endianness = (int) BIG_ENDIAN, "                                   \
-+    "red_mask = (int) " GST_VIDEO_BYTE ## R ## _MASK_18 ", "      \
-+    "green_mask = (int) " GST_VIDEO_BYTE ## G ## _MASK_18 ", "    \
-+    "blue_mask = (int) " GST_VIDEO_BYTE ## B ## _MASK_18 ", "     \
-+    "width = " GST_VIDEO_SIZE_RANGE ", "                                \
-+    "height = " GST_VIDEO_SIZE_RANGE ", "                               \
-+    "framerate = " GST_VIDEO_FPS_RANGE
-+
-+#define GST_VIDEO_CAPS_RGB666 \
-+    __GST_VIDEO_CAPS_MAKE_18 (1, 2, 3)
-+
- #define GST_FBDEV_TEMPLATE_CAPS \
-      GST_VIDEO_CAPS_RGB_15 \
-  ";" GST_VIDEO_CAPS_RGB_16 \
-+ ";" GST_VIDEO_CAPS_RGB666 \
-  ";" GST_VIDEO_CAPS_BGR \
-  ";" GST_VIDEO_CAPS_BGRx \
-  ";" GST_VIDEO_CAPS_xBGR \
--- 
-1.5.6.5
-
diff --git 
a/patches/gst-plugins-bad-0.10.10/bayer2rgb_configurable_first_line.diff 
b/patches/gst-plugins-bad-0.10.10/bayer2rgb_configurable_first_line.diff
deleted file mode 100644
index 9c78670..0000000
--- a/patches/gst-plugins-bad-0.10.10/bayer2rgb_configurable_first_line.diff
+++ /dev/null
@@ -1,120 +0,0 @@
-Subject: gst-plugins-bad bayer2rgb: Make first line configurable
-From: Sascha Hauer <[email protected]>
-
-Since people can't agree whether the first line of a bayer pattern
-is a blue/green line or a green/red line make it configurable.
-
-Signed-off-by: Sascha Hauer <[email protected]>
-
----
- gst/bayer/gstbayer2rgb.c |   36 +++++++++++++++++++++++++++---------
- 1 file changed, 27 insertions(+), 9 deletions(-)
-
-Index: gst-plugins-bad-0.10.8/gst/bayer/gstbayer2rgb.c
-===================================================================
---- gst-plugins-bad-0.10.8.orig/gst/bayer/gstbayer2rgb.c
-+++ gst-plugins-bad-0.10.8/gst/bayer/gstbayer2rgb.c
-@@ -108,6 +108,7 @@ struct _GstBayer2RGB
-   int r_off;                    /* offset for red */
-   int g_off;                    /* offset for green */
-   int b_off;                    /* offset for blue */
-+  gboolean bg_first;            /* first line is blue/green */
- };
- 
- struct _GstBayer2RGBClass
-@@ -138,7 +139,8 @@ GST_ELEMENT_DETAILS ("Bayer to RGB decod
- 
- enum
- {
--  PROP_0
-+  PROP_0,
-+  PROP_BGFIRST,
- };
- 
- #define DEBUG_INIT(bla) \
-@@ -195,6 +197,13 @@ gst_bayer2rgb_class_init (GstBayer2RGBCl
-       GST_DEBUG_FUNCPTR (gst_bayer2rgb_set_caps);
-   GST_BASE_TRANSFORM_CLASS (klass)->transform =
-       GST_DEBUG_FUNCPTR (gst_bayer2rgb_transform);
-+
-+  g_object_class_install_property(gobject_class, PROP_BGFIRST,
-+      g_param_spec_boolean("bg_first",
-+                           "B/G first",
-+                           "First line is a blue/green line",
-+                           TRUE,
-+                           G_PARAM_READWRITE));
- }
- 
- static void
-@@ -209,8 +218,12 @@ static void
- gst_bayer2rgb_set_property (GObject * object, guint prop_id,
-     const GValue * value, GParamSpec * pspec)
- {
-+  GstBayer2RGB *filter = GST_BAYER2RGB (object);
- 
-   switch (prop_id) {
-+    case PROP_BGFIRST:
-+      filter->bg_first = g_value_get_boolean(value);
-+      break;
-     default:
-       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-       break;
-@@ -221,8 +234,12 @@ static void
- gst_bayer2rgb_get_property (GObject * object, guint prop_id,
-     GValue * value, GParamSpec * pspec)
- {
-+  GstBayer2RGB *filter = GST_BAYER2RGB (object);
- 
-   switch (prop_id) {
-+    case PROP_BGFIRST:
-+      g_value_set_boolean(value, filter->bg_first);
-+      break;
-     default:
-       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-       break;
-@@ -291,6 +308,7 @@ gst_bayer2rgb_reset (GstBayer2RGB * filt
-   filter->r_off = 0;
-   filter->g_off = 0;
-   filter->b_off = 0;
-+  filter->bg_first = 1;
- }
- 
- static GstCaps *
-@@ -468,19 +486,19 @@ do_row0_col0 (uint8_t * input, uint8_t *
-   int type;
- 
-   /* Horizontal edges */
--  hborder (input, output, 0, GREENB, filter);
-+  hborder (input, output, 0, filter->bg_first ? GREENB : RED, filter);
-   if (filter->height & 1)
--    type = GREENB;              /* odd # rows, "bottom" edge same as top */
-+    type = filter->bg_first ? GREENB : RED; /* odd # rows, "bottom" edge same 
as top */
-   else
--    type = RED;                 /* even #, bottom side different */
-+    type = filter->bg_first ? RED : GREENB; /* even #, bottom side different 
*/
-   hborder (input, output, 1, type, filter);
- 
-   /* Vertical edges */
--  vborder (input, output, 0, GREENR, filter);
-+  vborder (input, output, 0, filter->bg_first ? GREENR : BLUE, filter);
-   if (filter->width & 1)
--    type = GREENR;              /* odd # cols, "right" edge same as left */
-+    type = filter->bg_first ? GREENR : BLUE; /* odd # cols, "right" edge same 
as left */
-   else
--    type = RED;                 /* even #, right side different */
-+    type = filter->bg_first ? RED : GREENB; /* even #, right side different */
-   vborder (input, output, 1, type, filter);
- }
- 
-@@ -565,9 +583,9 @@ do_body (uint8_t * input, uint8_t * outp
-      * be RED for odd-numbered rows and GREENB for even rows.
-      */
-     if (h & 1)
--      type = RED;
-+      type = filter->bg_first ? RED : GREENB;
-     else
--      type = GREENB;
-+      type = filter->bg_first ? GREENB : RED;
-     /* Calculate the starting position for the row */
-     op = h * filter->width * filter->pixsize;   /* output (converted) pos */
-     ip = h * filter->stride;    /* input (bayer data) pos */
diff --git a/patches/gst-plugins-bad-0.10.10/series 
b/patches/gst-plugins-bad-0.10.10/series
deleted file mode 100644
index accdfb0..0000000
--- a/patches/gst-plugins-bad-0.10.10/series
+++ /dev/null
@@ -1,3 +0,0 @@
-bayer2rgb_configurable_first_line.diff
-0002--remove-endianness-swapping.patch -p0
-0003--add-rgb666-support.patch -p0
diff --git 
a/patches/gst-plugins-bad-0.10.17/0002--remove-endianness-swapping.patch 
b/patches/gst-plugins-bad-0.10.17/0002--remove-endianness-swapping.patch
new file mode 100644
index 0000000..154950e
--- /dev/null
+++ b/patches/gst-plugins-bad-0.10.17/0002--remove-endianness-swapping.patch
@@ -0,0 +1,45 @@
+From: Luotao Fu <[email protected]>
+Date: Thu, 11 Dec 2008 11:57:48 +0100
+Subject: [PATCH] remove endianness swapping
+
+ Swapping r- g- and bmask here is weird. It turns i.E. RGB888 to BGR888. For
+ formats like RGB666 it turns the mask into a mess. Seems that gstreamer
+ treat all True color as Big Endian. Still I doubt that it makes sense to
+ swap the masks. I'm however not quite sure about this, comments are highly
+ welcome.
+
+Signed-off-by: Luotao Fu <[email protected]>
+---
+ sys/fbdev/gstfbdevsink.c |   14 +-------------
+ 1 files changed, 1 insertions(+), 13 deletions(-)
+
+diff --git a/sys/fbdev/gstfbdevsink.c b/sys/fbdev/gstfbdevsink.c
+index c9a7e14..c01e5b6 100644
+--- sys/fbdev/gstfbdevsink.c
++++ sys/fbdev/gstfbdevsink.c
+@@ -158,21 +158,9 @@ gst_fbdevsink_getcaps (GstBaseSink * bsink)
+ 
+   switch (fbdevsink->varinfo.bits_per_pixel) {
+     case 32:
+-      /* swap endian of masks */
+-      rmask = swapendian (rmask);
+-      gmask = swapendian (gmask);
+-      bmask = swapendian (bmask);
++    case 24:
+       endianness = 4321;
+       break;
+-    case 24:{
+-      /* swap red and blue masks */
+-      uint32_t t = rmask;
+-
+-      rmask = bmask;
+-      bmask = t;
+-      endianness = 4321;
+-      break;
+-    }
+     case 15:
+     case 16:
+       endianness = 1234;
+-- 
+1.5.6.5
+
diff --git a/patches/gst-plugins-bad-0.10.17/0003--add-rgb666-support.patch 
b/patches/gst-plugins-bad-0.10.17/0003--add-rgb666-support.patch
new file mode 100644
index 0000000..bb6eb67
--- /dev/null
+++ b/patches/gst-plugins-bad-0.10.17/0003--add-rgb666-support.patch
@@ -0,0 +1,52 @@
+From: Luotao Fu <[email protected]>
+Date: Thu, 11 Dec 2008 12:03:59 +0100
+Subject: [PATCH] add rgb666 support
+
+ This one adds support for rgb666 to fbdevsink. It's an exotic format, but 
still
+ can be found on especially some embedded devices. The Modelines are taken
+ directly from video.h of the video plugin, which is included by gstdevsink.
+ It'd probably be cleaner to split this in a separate patch for plugins-base.
+ I put the stuffs together for now for easier review. Patches for some sources
+ with rgb666 capability are coming soon.
+
+Signed-off-by: Luotao Fu <[email protected]>
+---
+ sys/fbdev/gstfbdevsink.c |   19 +++++++++++++++++++
+ 1 files changed, 19 insertions(+), 0 deletions(-)
+
+diff --git a/sys/fbdev/gstfbdevsink.c b/sys/fbdev/gstfbdevsink.c
+index c01e5b6..e764c5e 100644
+--- sys/fbdev/gstfbdevsink.c
++++ sys/fbdev/gstfbdevsink.c
+@@ -76,9 +76,28 @@ static GstCaps *gst_fbdevsink_getcaps (GstBaseSink * bsink);
+ 
+ static GstVideoSinkClass *parent_class = NULL;
+ 
++#define GST_VIDEO_BYTE1_MASK_18  "0x0003F000"
++#define GST_VIDEO_BYTE2_MASK_18  "0x00000FC0"
++#define GST_VIDEO_BYTE3_MASK_18  "0x0000003F"
++#define __GST_VIDEO_CAPS_MAKE_18(R, G, B)                         \
++    "video/x-raw-rgb, "                                                 \
++    "bpp = (int) 32, "                                                  \
++    "depth = (int) 18, "                                                \
++    "endianness = (int) BIG_ENDIAN, "                                   \
++    "red_mask = (int) " GST_VIDEO_BYTE ## R ## _MASK_18 ", "      \
++    "green_mask = (int) " GST_VIDEO_BYTE ## G ## _MASK_18 ", "    \
++    "blue_mask = (int) " GST_VIDEO_BYTE ## B ## _MASK_18 ", "     \
++    "width = " GST_VIDEO_SIZE_RANGE ", "                                \
++    "height = " GST_VIDEO_SIZE_RANGE ", "                               \
++    "framerate = " GST_VIDEO_FPS_RANGE
++
++#define GST_VIDEO_CAPS_RGB666 \
++    __GST_VIDEO_CAPS_MAKE_18 (1, 2, 3)
++
+ #define GST_FBDEV_TEMPLATE_CAPS \
+      GST_VIDEO_CAPS_RGB_15 \
+  ";" GST_VIDEO_CAPS_RGB_16 \
++ ";" GST_VIDEO_CAPS_RGB666 \
+  ";" GST_VIDEO_CAPS_BGR \
+  ";" GST_VIDEO_CAPS_BGRx \
+  ";" GST_VIDEO_CAPS_xBGR \
+-- 
+1.5.6.5
+
diff --git 
a/patches/gst-plugins-bad-0.10.17/bayer2rgb_configurable_first_line.diff 
b/patches/gst-plugins-bad-0.10.17/bayer2rgb_configurable_first_line.diff
new file mode 100644
index 0000000..9c78670
--- /dev/null
+++ b/patches/gst-plugins-bad-0.10.17/bayer2rgb_configurable_first_line.diff
@@ -0,0 +1,120 @@
+Subject: gst-plugins-bad bayer2rgb: Make first line configurable
+From: Sascha Hauer <[email protected]>
+
+Since people can't agree whether the first line of a bayer pattern
+is a blue/green line or a green/red line make it configurable.
+
+Signed-off-by: Sascha Hauer <[email protected]>
+
+---
+ gst/bayer/gstbayer2rgb.c |   36 +++++++++++++++++++++++++++---------
+ 1 file changed, 27 insertions(+), 9 deletions(-)
+
+Index: gst-plugins-bad-0.10.8/gst/bayer/gstbayer2rgb.c
+===================================================================
+--- gst-plugins-bad-0.10.8.orig/gst/bayer/gstbayer2rgb.c
++++ gst-plugins-bad-0.10.8/gst/bayer/gstbayer2rgb.c
+@@ -108,6 +108,7 @@ struct _GstBayer2RGB
+   int r_off;                    /* offset for red */
+   int g_off;                    /* offset for green */
+   int b_off;                    /* offset for blue */
++  gboolean bg_first;            /* first line is blue/green */
+ };
+ 
+ struct _GstBayer2RGBClass
+@@ -138,7 +139,8 @@ GST_ELEMENT_DETAILS ("Bayer to RGB decod
+ 
+ enum
+ {
+-  PROP_0
++  PROP_0,
++  PROP_BGFIRST,
+ };
+ 
+ #define DEBUG_INIT(bla) \
+@@ -195,6 +197,13 @@ gst_bayer2rgb_class_init (GstBayer2RGBCl
+       GST_DEBUG_FUNCPTR (gst_bayer2rgb_set_caps);
+   GST_BASE_TRANSFORM_CLASS (klass)->transform =
+       GST_DEBUG_FUNCPTR (gst_bayer2rgb_transform);
++
++  g_object_class_install_property(gobject_class, PROP_BGFIRST,
++      g_param_spec_boolean("bg_first",
++                           "B/G first",
++                           "First line is a blue/green line",
++                           TRUE,
++                           G_PARAM_READWRITE));
+ }
+ 
+ static void
+@@ -209,8 +218,12 @@ static void
+ gst_bayer2rgb_set_property (GObject * object, guint prop_id,
+     const GValue * value, GParamSpec * pspec)
+ {
++  GstBayer2RGB *filter = GST_BAYER2RGB (object);
+ 
+   switch (prop_id) {
++    case PROP_BGFIRST:
++      filter->bg_first = g_value_get_boolean(value);
++      break;
+     default:
+       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+       break;
+@@ -221,8 +234,12 @@ static void
+ gst_bayer2rgb_get_property (GObject * object, guint prop_id,
+     GValue * value, GParamSpec * pspec)
+ {
++  GstBayer2RGB *filter = GST_BAYER2RGB (object);
+ 
+   switch (prop_id) {
++    case PROP_BGFIRST:
++      g_value_set_boolean(value, filter->bg_first);
++      break;
+     default:
+       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+       break;
+@@ -291,6 +308,7 @@ gst_bayer2rgb_reset (GstBayer2RGB * filt
+   filter->r_off = 0;
+   filter->g_off = 0;
+   filter->b_off = 0;
++  filter->bg_first = 1;
+ }
+ 
+ static GstCaps *
+@@ -468,19 +486,19 @@ do_row0_col0 (uint8_t * input, uint8_t *
+   int type;
+ 
+   /* Horizontal edges */
+-  hborder (input, output, 0, GREENB, filter);
++  hborder (input, output, 0, filter->bg_first ? GREENB : RED, filter);
+   if (filter->height & 1)
+-    type = GREENB;              /* odd # rows, "bottom" edge same as top */
++    type = filter->bg_first ? GREENB : RED; /* odd # rows, "bottom" edge same 
as top */
+   else
+-    type = RED;                 /* even #, bottom side different */
++    type = filter->bg_first ? RED : GREENB; /* even #, bottom side different 
*/
+   hborder (input, output, 1, type, filter);
+ 
+   /* Vertical edges */
+-  vborder (input, output, 0, GREENR, filter);
++  vborder (input, output, 0, filter->bg_first ? GREENR : BLUE, filter);
+   if (filter->width & 1)
+-    type = GREENR;              /* odd # cols, "right" edge same as left */
++    type = filter->bg_first ? GREENR : BLUE; /* odd # cols, "right" edge same 
as left */
+   else
+-    type = RED;                 /* even #, right side different */
++    type = filter->bg_first ? RED : GREENB; /* even #, right side different */
+   vborder (input, output, 1, type, filter);
+ }
+ 
+@@ -565,9 +583,9 @@ do_body (uint8_t * input, uint8_t * outp
+      * be RED for odd-numbered rows and GREENB for even rows.
+      */
+     if (h & 1)
+-      type = RED;
++      type = filter->bg_first ? RED : GREENB;
+     else
+-      type = GREENB;
++      type = filter->bg_first ? GREENB : RED;
+     /* Calculate the starting position for the row */
+     op = h * filter->width * filter->pixsize;   /* output (converted) pos */
+     ip = h * filter->stride;    /* input (bayer data) pos */
diff --git a/patches/gst-plugins-bad-0.10.17/series 
b/patches/gst-plugins-bad-0.10.17/series
new file mode 100644
index 0000000..accdfb0
--- /dev/null
+++ b/patches/gst-plugins-bad-0.10.17/series
@@ -0,0 +1,3 @@
+bayer2rgb_configurable_first_line.diff
+0002--remove-endianness-swapping.patch -p0
+0003--add-rgb666-support.patch -p0
diff --git a/rules/gst-plugins-bad.in b/rules/gst-plugins-bad.in
index cd7a678..fd9cd35 100644
--- a/rules/gst-plugins-bad.in
+++ b/rules/gst-plugins-bad.in
@@ -6,31 +6,454 @@ menuconfig GST_PLUGINS_BAD
        select LIBOIL
        select GSTREAMER
        select GST_PLUGINS_BASE
+       select LIBMPEG2         if GST_PLUGINS_BAD_MPEG2ENC
+
        prompt "gst-plugins-bad               "
        help
-         FIXME
+         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.
+
 
 if GST_PLUGINS_BAD
 
-       config GST_PLUGINS_BAD__FBDEVSINK
+       config GST_PLUGINS_BAD_AACPARSE
+               bool
+               prompt "aacparse"
+
+       config GST_PLUGINS_BAD_ADPCMDEC
+               bool
+               prompt "adpcmdec"
+
+       config GST_PLUGINS_BAD_AIFF
+               bool
+               prompt "aiff"
+
+       config GST_PLUGINS_BAD_AMRPARSE
+               bool
+               prompt "amrparse"
+
+       config GST_PLUGINS_BAD_ASFMUX
+               bool
+               prompt "asfmux"
+
+       config GST_PLUGINS_BAD_AUTOCONVERT
+               bool
+               prompt "autoconvert"
+
+       config GST_PLUGINS_BAD_CAMERABIN
+               bool
+               prompt "camerabin"
+
+       config GST_PLUGINS_BAD_LEGACYRESAMPLE
+               bool
+               prompt "legacyresample"
+
+       config GST_PLUGINS_BAD_BAYER
+               bool
+               prompt "bayer"
+
+       config GST_PLUGINS_BAD_CDXAPARSE
+               bool
+               prompt "cdxaparse"
+
+       config GST_PLUGINS_BAD_DCCP
+               bool
+               prompt "dccp"
+
+       config GST_PLUGINS_BAD_DEBUGUTILS
+               bool
+               prompt "debugutils"
+
+       config GST_PLUGINS_BAD_DTMF
+               bool
+               prompt "dtmf"
+
+       config GST_PLUGINS_BAD_DVDSPU
+               bool
+               prompt "dvdspu"
+
+       config GST_PLUGINS_BAD_FESTIVAL
+               bool
+               prompt "festival"
+
+       config GST_PLUGINS_BAD_FREEZE
+               bool
+               prompt "freeze"
+
+       config GST_PLUGINS_BAD_FREI0R
+               bool
+               prompt "frei0r"
+
+       config GST_PLUGINS_BAD_H264PARSE
+               bool
+               prompt "h264parse"
+
+       config GST_PLUGINS_BAD_HDVPARSE
+               bool
+               prompt "hdvparse"
+
+       config GST_PLUGINS_BAD_ID3TAG
+               bool
+               prompt "id3tag"
+
+       config GST_PLUGINS_BAD_LIBRFB
+               bool
+               prompt "librfb"
+
+       config GST_PLUGINS_BAD_LIVEADDER
+               bool
+               prompt "liveadder"
+
+       config GST_PLUGINS_BAD_MPEGDEMUX
+               bool
+               prompt "mpegdemux"
+
+       config GST_PLUGINS_BAD_MPEGTSMUX
+               bool
+               prompt "mpegtsmux"
+
+       config GST_PLUGINS_BAD_MPEGPSMUX
+               bool
+               prompt "mpegpsmux"
+
+       config GST_PLUGINS_BAD_MPEG4VIDEOPARSE
+               bool
+               prompt "mpeg4videoparse"
+
+       config GST_PLUGINS_BAD_MPEGVIDEOPARSE
+               bool
+               prompt "mpegvideoparse"
+
+       config GST_PLUGINS_BAD_MVE
+               bool
+               prompt "mve"
+
+       config GST_PLUGINS_BAD_MXF
+               bool
+               prompt "mxf"
+
+       config GST_PLUGINS_BAD_NFS
+               bool
+               prompt "nsf"
+
+       config GST_PLUGINS_BAD_NUVDEMUX
+               bool
+               prompt "nuvdemux"
+
+       config GST_PLUGINS_BAD_PCAPPARSE
+               bool
+               prompt "pcapparse"
+
+       config GST_PLUGINS_BAD_PNM
+               bool
+               prompt "pnm"
+
+       config GST_PLUGINS_BAD_QTMUX
+               bool
+               prompt "qtmux"
+
+       config GST_PLUGINS_BAD_RAWPARSE
+               bool
+               prompt "rawparse"
+
+       config GST_PLUGINS_BAD_REAL
+               bool
+               prompt "real"
+
+       config GST_PLUGINS_BAD_RTPMUX
+               bool
+               prompt "rtpmux"
+
+       config GST_PLUGINS_BAD_SCALETEMPO
+               bool
+               prompt "scaletempo"
+
+       config GST_PLUGINS_BAD_SDP
+               bool
+               prompt "sdp"
+
+       config GST_PLUGINS_BAD_SELECTOR
+               bool
+               prompt "selector"
+
+       config GST_PLUGINS_BAD_SHAPEWIPE
+               bool
+               prompt "shapewipe"
+
+       config GST_PLUGINS_BAD_SIREN
+               bool
+               prompt "siren"
+
+       config GST_PLUGINS_BAD_SPEED
+               bool
+               prompt "speed"
+
+       config GST_PLUGINS_BAD_SUBENC
+               bool
+               prompt "subenc"
+
+       config GST_PLUGINS_BAD_STEREO
+               bool
+               prompt "stereo"
+
+       config GST_PLUGINS_BAD_TTA
+               bool
+               prompt "tta"
+
+       config GST_PLUGINS_BAD_VALVE
+               bool
+               prompt "valve"
+
+       config GST_PLUGINS_BAD_VIDEOMEASURE
+               bool
+               prompt "videomeasure"
+
+       config GST_PLUGINS_BAD_VIDEOSIGNAL
+               bool
+               prompt "videosignal"
+
+       config GST_PLUGINS_BAD_VMNC
+               bool
+               prompt "vmnc"
+
+       config GST_PLUGINS_BAD_DIRECTSOUND
+               bool
+               prompt "directsound"
+
+       config GST_PLUGINS_BAD_DIRECTDRAW
+               bool
+               prompt "directdraw"
+
+       config GST_PLUGINS_BAD_OSX_VIDEO
+               bool
+               prompt "osx_video"
+
+       config GST_PLUGINS_BAD_QUICKTIME
+               bool
+               prompt "quicktime"
+
+       config GST_PLUGINS_BAD_VCD
+               bool
+               prompt "vcd"
+
+       config GST_PLUGINS_BAD_ALSA
+               bool
+               prompt "alsa"
+
+       config GST_PLUGINS_BAD_ASSRENDER
+               bool
+               prompt "assrender"
+
+       config GST_PLUGINS_BAD_AMRWB
+               bool
+               prompt "amrwb"
+
+       config GST_PLUGINS_BAD_APEXSINK
+               bool
+               prompt "apexsink"
+
+       config GST_PLUGINS_BAD_BZ2
+               bool
+               prompt "bz2"
+
+       config GST_PLUGINS_BAD_CDAUDIO
+               bool
+               prompt "cdaudio"
+
+       config GST_PLUGINS_BAD_CELT
+               bool
+               prompt "celt"
+
+       config GST_PLUGINS_BAD_COG
+               bool
+               prompt "cog"
+
+       config GST_PLUGINS_BAD_DC1394
+               bool
+               prompt "dc1394"
+
+       config GST_PLUGINS_BAD_DIRECTFB
+               bool
+               prompt "directfb"
+
+       config GST_PLUGINS_BAD_DIRAC
+               bool
+               prompt "dirac"
+
+       config GST_PLUGINS_BAD_DTS
+               bool
+               prompt "dts"
+
+       config GST_PLUGINS_BAD_DIVX
+               bool
+               prompt "divx"
+
+       config GST_PLUGINS_BAD_DVDNAV
+               bool
+               prompt "dvdnav"
+
+       config GST_PLUGINS_BAD_METADATA
+               bool
+               prompt "metadata"
+
+       config GST_PLUGINS_BAD_FAAC
+               bool
+               prompt "faac"
+
+       config GST_PLUGINS_BAD_FAAD
+               bool
+               prompt "faad"
+
+       config GST_PLUGINS_BAD_FBDEV
+               bool
+               prompt "fbdev"
+
+       config GST_PLUGINS_BAD_GSM
+               bool
+               prompt "gsm"
+
+       config GST_PLUGINS_BAD_IVORBIS
+               bool
+               prompt "ivorbis"
+
+       config GST_PLUGINS_BAD_JACK
+               bool
+               prompt "jack"
+
+       config GST_PLUGINS_BAD_JP2K
+               bool
+               prompt "jp2k"
+
+       config GST_PLUGINS_BAD_KATE
+               bool
+               prompt "kate"
+
+       config GST_PLUGINS_BAD_LADSPA
+               bool
+               prompt "ladspa"
+
+       config GST_PLUGINS_BAD_LV2
+               bool
+               prompt "lv2"
+
+       config GST_PLUGINS_BAD_LIBMMS
+               bool
+               prompt "libmms"
+
+       config GST_PLUGINS_BAD_MODPLUG
+               bool
+               prompt "modplug"
+
+       config GST_PLUGINS_BAD_MIMIC
+               bool
+               prompt "mimic"
+
+       config GST_PLUGINS_BAD_MPEG2ENC
+               bool
+               prompt "mpeg2enc"
+
+       config GST_PLUGINS_BAD_MPLEX
+               bool
+               prompt "mplex"
+
+       config GST_PLUGINS_BAD_MUSEPACK
+               bool
+               prompt "musepack"
+
+       config GST_PLUGINS_BAD_MUSICBRAINZ
+               bool
+               prompt "musicbrainz"
+
+       config GST_PLUGINS_BAD_MYTHTV
+               bool
+               prompt "mythtv"
+
+       config GST_PLUGINS_BAD_NAS
+               bool
+               prompt "nas"
+
+       config GST_PLUGINS_BAD_NEON
+               bool
+               prompt "neon"
+
+       config GST_PLUGINS_BAD_OFA
+               bool
+               prompt "ofa"
+
+       config GST_PLUGINS_BAD_RSVG
+               bool
+               prompt "rsvg"
+
+       config GST_PLUGINS_BAD_TIMIDITY
+               bool
+               prompt "timidity"
+
+       config GST_PLUGINS_BAD_WILDMIDI
+               bool
+               prompt "wildmidi"
+
+       config GST_PLUGINS_BAD_SDL
+               bool
+               prompt "sdl"
+
+       config GST_PLUGINS_BAD_SNDFILE
+               bool
+               prompt "sndfile"
+
+       config GST_PLUGINS_BAD_SOUNDTOUCH
+               bool
+               prompt "soundtouch"
+
+       config GST_PLUGINS_BAD_SPC
+               bool
+               prompt "spc"
+
+       config GST_PLUGINS_BAD_GME
+               bool
+               prompt "gme"
+
+       config GST_PLUGINS_BAD_SWFDEC
+               bool
+               prompt "swfdec"
+
+       config GST_PLUGINS_BAD_THEORADEC
+               bool
+               prompt "theoradec"
+
+       config GST_PLUGINS_BAD_XVID
+               bool
+               prompt "xvid"
+
+       config GST_PLUGINS_BAD_DVB
+               bool
+               prompt "dvb"
+
+       config GST_PLUGINS_BAD_OSS4
+               bool
+               prompt "oss4"
+
+       config GST_PLUGINS_BAD_WININET
                bool
-               prompt "fbdevsink"
+               prompt "wininet"
 
-       config GST_PLUGINS_BAD__BAYER
+       config GST_PLUGINS_BAD_ACM
                bool
-               prompt "bayer filter"
+               prompt "acm"
 
-       config GST_PLUGINS_BAD__MPEGDEMUX
+       config GST_PLUGINS_BAD_VDPAU
                bool
-               prompt "mpeg demuxer"
+               prompt "vdpau"
 
-       config GST_PLUGINS_BAD__MPEG4VIDEOPARSE
+       config GST_PLUGINS_BAD_SCHRO
                bool
-               prompt "mpeg4 video parser"
+               prompt "schro"
 
-       config GST_PLUGINS_BAD__H264PARSE
+       config GST_PLUGINS_BAD_ZBAR
                bool
-               prompt "h264 parser"
+               prompt "zbar"
 
 endif
 
diff --git a/rules/gst-plugins-bad.make b/rules/gst-plugins-bad.make
index 472cb6c..7572fa8 100644
--- a/rules/gst-plugins-bad.make
+++ b/rules/gst-plugins-bad.make
@@ -1,5 +1,6 @@
 # -*-makefile-*-
 #
+# Copyright (C) 2010 by Erwin Rol <[email protected]>
 # Copyright (C) 2008 by Sascha Hauer
 #
 # See CREDITS for details about who has contributed to this project.
@@ -16,13 +17,14 @@ PACKAGES-$(PTXCONF_GST_PLUGINS_BAD) += gst-plugins-bad
 #
 # Paths and names
 #
-GST_PLUGINS_BAD_VERSION        := 0.10.10
+GST_PLUGINS_BAD_VERSION        := 0.10.17
 GST_PLUGINS_BAD                := gst-plugins-bad-$(GST_PLUGINS_BAD_VERSION)
 GST_PLUGINS_BAD_SUFFIX := tar.bz2
 GST_PLUGINS_BAD_URL    := 
http://gstreamer.freedesktop.org/src/gst-plugins-bad/$(GST_PLUGINS_BAD).$(GST_PLUGINS_BAD_SUFFIX)
 GST_PLUGINS_BAD_SOURCE := 
$(SRCDIR)/$(GST_PLUGINS_BAD).$(GST_PLUGINS_BAD_SUFFIX)
 GST_PLUGINS_BAD_DIR    := $(BUILDDIR)/$(GST_PLUGINS_BAD)
 
+
 # ----------------------------------------------------------------------------
 # Get
 # ----------------------------------------------------------------------------
@@ -35,90 +37,146 @@ $(GST_PLUGINS_BAD_SOURCE):
 # Prepare
 # ----------------------------------------------------------------------------
 
-GST_PLUGINS_BAD_PATH   := PATH=$(CROSS_PATH)
-GST_PLUGINS_BAD_ENV    := $(CROSS_ENV)
+GST_PLUGINS_BAD_PATH           := PATH=$(CROSS_PATH)
+GST_PLUGINS_BAD_CONF_ENV       := $(CROSS_ENV)
+
+
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_AACPARSE)     += aacparse
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_ADPCMDEC)     += adpcmdec
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_AIFF)         += aiff
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_AMRPARSE)     += amrparse
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_ASFMUX)       += asfmux
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_AUTOCONVERT)  += autoconvert
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_CAMERABIN)    += camerabin
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_LEGACYRESAMPLE) += 
legacyresample
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_BAYER)                += bayer
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_CDXAPARSE)    += cdxaparse
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_DCCP)         += dccp
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_DEBUGUTILS)   += debugutils
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_DTMF)         += dtmf
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_DVDSPU)       += dvdspu
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_FESTIVAL)     += festival
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_FREEZE)       += freeze
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_FREI0R)       += frei0r
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_H264PARSE)    += h264parse
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_HDVPARSE)     += hdvparse
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_ID3TAG)       += id3tag
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_LIBRFB)       += librfb
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_LIVEADDER)    += liveadder
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_MPEGDEMUX)    += mpegdemux
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_MPEGTSMUX)    += mpegtsmux
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_MPEGPSMUX)    += mpegpsmux
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_MPEG4VIDEOPARSE) += 
mpeg4videoparse
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_MPEGVIDEOPARSE) += 
mpegvideoparse
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_MVE)          += mve
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_MXF)          += mxf
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_NFS)          += nsf
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_NUVDEMUX)     += nuvdemux
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_PCAPPARSE)    += pcapparse
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_PNM)          += pnm
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_QTMUX)                += qtmux
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_RAWPARSE)     += rawparse
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_REAL)         += real
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_RTPMUX)       += rtpmux
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_SCALETEMPO)   += scaletempo
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_SDP)          += sdp
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_SELECTOR)     += selector
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_SHAPEWIPE)    += shapewipe
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_SIREN)                += siren
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_SPEED)                += speed
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_SUBENC)       += subenc
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_STEREO)       += stereo
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_TTA)          += tta
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_VALVE)                += valve
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_VIDEOMEASURE) += videomeasure
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_VIDEOSIGNAL)  += videosignal
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_VMNC)         += vmnc
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_DIRECTSOUND)  += directsound
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_DIRECTDRAW)   += directdraw
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_OSX_VIDEO)    += osx_video
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_QUICKTIME)    += quicktime
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_VCD)          += vcd
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_ALSA)         += alsa
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_ASSRENDER)    += assrender
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_AMRWB)                += amrwb
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_APEXSINK)     += apexsink
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_BZ2)          += bz2
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_CDAUDIO)      += cdaudio
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_CELT)         += celt
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_COG)          += cog
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_DC1394)       += dc1394
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_DIRECTFB)     += directfb
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_DIRAC)                += dirac
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_DTS)          += dts
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_DIVX)         += divx
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_DVDNAV)       += dvdnav
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_METADATA)     += metadata
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_FAAC)         += faac
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_FAAD)         += faad
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_FBDEV)                += fbdev
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_GSM)          += gsm
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_IVORBIS)      += ivorbis
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_JACK)         += jack
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_JP2K)         += jp2k
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_KATE)         += kate
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_LADSPA)       += ladspa
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_LV2)          += lv2
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_LIBMMS)       += libmms
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_MODPLUG)      += modplug
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_MIMIC)                += mimic
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_MPEG2ENC)     += mpeg2enc
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_MPLEX)                += mplex
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_MUSEPACK)     += musepack
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_MUSICBRAINZ)  += musicbrainz
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_MYTHTV)       += mythtv
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_NAS)          += nas
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_NEON)         += neon
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_OFA)          += ofa
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_RSVG)         += rsvg
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_TIMIDITY)     += timidity
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_WILDMIDI)     += wildmidi
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_SDL)          += sdl
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_SNDFILE)      += sndfile
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_SOUNDTOUCH)   += soundtouch
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_SPC)          += spc
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_GME)          += gme
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_SWFDEC)       += swfdec
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_THEORADEC)    += theoradec
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_XVID)         += xvid
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_DVB)          += dvb
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_OSS4)         += oss4
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_WININET)      += wininet
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_ACM)          += acm
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_VDPAU)                += vdpau
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_SCHRO)                += schro
+GST_PLUGINS_BAD_ENABLE-$(PTXCONF_GST_PLUGINS_BAD_ZBAR)         += zbar
+
 
 #
 # autoconf
 #
-GST_PLUGINS_BAD_AUTOCONF := $(CROSS_AUTOCONF_USR) \
+GST_PLUGINS_BAD_CONF_TOOL      := autoconf
+GST_PLUGINS_BAD_CONF_OPT       := \
+       $(CROSS_AUTOCONF_USR) \
+       --disable-nls \
+       --disable-rpath \
+       --disable-debug \
+       --disable-profiling \
+       --disable-valgrind \
+       --disable-gcov \
        --disable-examples \
-       --disable-quicktime \
-       --disable-vcd \
-       --disable-alsa \
-       --disable-amrwb \
-       --disable-bz2 \
-       --disable-cdaudio \
-       --disable-dc1394 \
-       --disable-directfb \
-       --disable-dirac \
-       --disable-dts \
-       --disable-divx \
-       --disable-dvdnav \
-       --disable-metadata \
-       --disable-faac \
-       --disable-faad \
-       --disable-gsm \
-       --disable-ivorbis \
-       --disable-jack \
-       --disable-ladspa \
-       --disable-libmms \
-       --disable-mpeg2enc \
-       --disable-mplex \
-       --disable-musepack \
-       --disable-musicbrainz \
-       --disable-mythtv \
-       --disable-nas \
-       --disable-neon \
-       --disable-ofa \
-       --disable-timidity \
-       --disable-wildmidi \
-       --disable-sdl \
+       --enable-external \
+       --enable-experimental \
+       --disable-gtk-doc \
        --disable-sdltest \
-       --disable-sndfile \
-       --disable-soundtouch \
-       --disable-spc \
-       --disable-swfdec \
-       --disable-theoradec \
-       --disable-x264 \
-       --disable-xvid \
-       --disable-dvb \
-       --disable-oss4 \
-       --disable-wininet
-
-ifdef PTXCONF_GST_PLUGINS_BAD__FBDEVSINK
-GST_PLUGINS_BAD_AUTOCONF += --enable-fbdev
-GST_PLUGINS_BAD_INSTALL  += /usr/lib/gstreamer-0.10/libgstfbdevsink.so
-else
-GST_PLUGINS_BADD_AUTOCONF += --disable-fbdev
-endif
-
-ifdef PTXCONF_GST_PLUGINS_BAD__BAYER
-GST_PLUGINS_BAD_AUTOCONF += --enable-bayer
-GST_PLUGINS_BAD_INSTALL  += /usr/lib/gstreamer-0.10/libgstbayer.so
-else
-GST_PLUGINS_BADD_AUTOCONF += --disable-bayer
-endif
-
-ifdef PTXCONF_GST_PLUGINS_BAD__MPEG4VIDEOPARSE
-GST_PLUGINS_BAD_AUTOCONF += --enable-mpeg4videoparse
-GST_PLUGINS_BAD_INSTALL  += /usr/lib/gstreamer-0.10/libgstmpeg4videoparse.so
-else
-GST_PLUGINS_BADD_AUTOCONF += --disable-mpeg4videoparse
-endif
+       --enable-shave
 
-ifdef PTXCONF_GST_PLUGINS_BAD__H264PARSE
-GST_PLUGINS_BAD_AUTOCONF += --enable-h264parse
-GST_PLUGINS_BAD_INSTALL  += /usr/lib/gstreamer-0.10/libgsth264parse.so
-else
-GST_PLUGINS_BADD_AUTOCONF += --disable-h264parse
+ifneq ($(call remove_quotes,$(GST_PLUGINS_BAD_ENABLE-y)),)
+GST_PLUGINS_BAD_CONF_OPT +=  --enable-$(subst 
$(space),$(space)--enable-,$(strip $(GST_PLUGINS_BAD_ENABLE-y)))
 endif
 
-ifdef PTXCONF_GST_PLUGINS_BAD__MPEGDEMUX
-GST_PLUGINS_BAD_AUTOCONF += --enable-mpegdemux
-GST_PLUGINS_BAD_INSTALL  += /usr/lib/gstreamer-0.10/libgstmpegdemux.so
-else
-GST_PLUGINS_BADD_AUTOCONF += --disable-mpegdemux
+ifneq ($(call remove_quotes,$(GST_PLUGINS_BAD_ENABLE-)),)
+GST_PLUGINS_BAD_CONF_OPT +=  --disable-$(subst 
$(space),$(space)--disable-,$(strip $(GST_PLUGINS_BAD_ENABLE-)))
 endif
 
 # ----------------------------------------------------------------------------
@@ -137,11 +195,21 @@ $(STATEDIR)/gst-plugins-bad.targetinstall:
        @$(call install_fixup, gst-plugins-bad,DEPENDS,)
        @$(call install_fixup, gst-plugins-bad,DESCRIPTION,missing)
 
+       # install all activated libs
+       @if [ -d  $(GST_PLUGINS_BAD_PKGDIR)/usr/lib/ ]; then \
+               cd $(GST_PLUGINS_BAD_PKGDIR)/usr/lib/ && for libs in `find 
-name "*-0.10.so"`; do \
+                       $(call install_copy, gst-plugins-bad, 0, 0, 0644, -, 
/usr/lib/$$libs.0.0.0); \
+                       $(call install_link, gst-plugins-bad, $$libs.0.0.0, 
/usr/lib/$$libs.0); \
+                       $(call install_link, gst-plugins-bad, $$libs.0.0.0, 
/usr/lib/$$libs); \
+               done \
+       fi
+
        # install all activated plugins
-       @for i in $(GST_PLUGINS_BAD_INSTALL); do \
-               $(call install_copy, gst-plugins-bad, 0, 0, 644, \
-                       $(PKGDIR)/$(GST_PLUGINS_BAD)$$i, $$i) \
-       done
+       @if [ -d  $(GST_PLUGINS_BAD_PKGDIR)/usr/lib/gstreamer-0.10/ ]; then \
+               cd $(GST_PLUGINS_BAD_PKGDIR) && for plugin in `find 
./usr/lib/gstreamer-0.10/ -name "*.so"`; do \
+                       $(call install_copy, gst-plugins-bad, 0, 0, 0644, -, 
/$$plugin); \
+               done \
+       fi
 
        @$(call install_finish, gst-plugins-bad)
 
-- 
1.6.0.6


--
ptxdist mailing list
[email protected]

Reply via email to