Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=58eab470d9bde3f0f0590bdee0db7a9639c2569d

commit 58eab470d9bde3f0f0590bdee0db7a9639c2569d
Author: crazy <[email protected]>
Date:   Wed Dec 2 01:44:22 2015 +0100

crystalhd-20110314-43-x86_64
* removed , deprecated

diff --git a/source/xmultimedia/crystalhd/FrugalBuild 
b/source/xmultimedia/crystalhd/FrugalBuild
deleted file mode 100644
index 299ae8f..0000000
--- a/source/xmultimedia/crystalhd/FrugalBuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Compiling Time: 0.1 SBU
-# Maintainer: James Buren <[email protected]>
-
-pkgname=crystalhd
-pkgver=20110314
-pkgrel=43
-_name="Broadcom Crystal HD 70012/70015"
-pkgdesc="Kernel module and firmware for $_name."
-url="http://linuxtv.org";
-rodepends=("lib$pkgname=$pkgver")
-groups=('xmultimedia')
-archs=('i686' 'x86_64')
-up2date="Flasttar http://ftp.frugalware.org/pub/other/sources/$pkgname";
-source=(http://ftp.frugalware.org/pub/other/sources/$pkgname/$pkgname-$pkgver.tar.xz
 \
-       kernel-module-headers.patch                                             
           \
-       kernel-module-makefile.patch                                            
           \
-       kernel-module-udev.patch                                                
           \
-       kernel-3.8.patch                                                        
           \
-       kernel4x.patch \
-       fixes.patch \
-       crystalhd-gst-Port-to-GStreamer-1.0-API.patch \
-       fix_build_with_gcc5.patch)
-sha1sums=('85c4a045deeebdcebeb0b3b6cb674e0d1c774538' \
-          'cddd94c608a1ff5621ef5b67c0cc611337bb38b9' \
-          '6c7c30537f0dede06bcb1d488a051fb982e6f4f5' \
-          '546ccf18830df825edfca19b8ee700fefe280082' \
-          'e5f034a098a6ce6fae2c810a0d8ff8fd16845e1d' \
-          'df9b0f89ee750b4e168e46cadeb9ece2e66a5839' \
-          'ebd51f71f32903cf47ec2552f3687964001f72a4' \
-          'a434fd31214b887c18ae4e49bbeaa93bde273879' \
-          '5e4613c199fe9aa8fff673bb21af2e4f08068905')
-Finclude kernel-module
-
-Faddsubpkg "lib$pkgname" "Library for $_name." "libstdc++"
-Faddsubpkg "gst1-plugins-$pkgname" "GStreamer 1.x plugin for $_name." 
"gst1-plugins-base" "lib$pkgname=$pkgver" "" "gst-plugins-$pkgname" 
"gst-plugins-$pkgname" "gst-plugins-$pkgname"
-
-build()
-{
-       local _src_path="$Fsrcdir/$pkgname"
-       Fcd $pkgname
-       Fpatchall
-
-       Fexec cd $_src_path/driver/linux || Fdie
-       Fsed '"\?$(\(shell \)\?uname -r)"\?' "$_F_kernelmod_uname" configure.ac 
Makefile.in
-       Fsed '-O2' "$CFLAGS" Makefile.in
-       Fsed 'bool                b422mode;' 'uint32_t                
b422mode;' crystalhd_misc.h
-
-       Fautoreconf
-       Fconf
-       Fmake
-       Fmakeinstall
-
-       Fexec cd $_src_path/linux_lib/libcrystalhd || Fdie
-       Fsed '-O2' "$CFLAGS" Makefile
-       Fmake
-       Fmakeinstall
-
-       Fexec cd $_src_path/filters/gst/gst-plugin || Fdie
-       Fsed "/usr/include/libcrystalhd" "$Fdestdir/usr/include/libcrystalhd" 
autogen.sh src/Makefile.am
-       Fsed "-lcrystalhd" "-L$Fdestdir/usr/lib -lcrystalhd" src/Makefile.am
-       Fexec ./autogen.sh || Fdie
-       Fmake
-       Fmakeinstall
-
-       Fsplit gst1-plugins-$pkgname /usr/lib/gstreamer-1.0
-       Fsplit lib$pkgname /usr/include /usr/lib
-
-       Fkernelver_compress_modules
-       Fbuild_kernelmod_scriptlet
-}
-
-# optimization OK
diff --git 
a/source/xmultimedia/crystalhd/crystalhd-gst-Port-to-GStreamer-1.0-API.patch 
b/source/xmultimedia/crystalhd/crystalhd-gst-Port-to-GStreamer-1.0-API.patch
deleted file mode 100644
index f5ef218..0000000
--- a/source/xmultimedia/crystalhd/crystalhd-gst-Port-to-GStreamer-1.0-API.patch
+++ /dev/null
@@ -1,1087 +0,0 @@
-diff --git a/filters/gst/gst-plugin/configure.ac 
b/filters/gst/gst-plugin/configure.ac
-index 99b3713..a3c6467 100644
---- a/filters/gst/gst-plugin/configure.ac
-+++ b/filters/gst/gst-plugin/configure.ac
-@@ -1,9 +1,9 @@
- AC_INIT
-
- dnl versions of gstreamer and plugins-base
--GST_MAJORMINOR=0.10
--GST_REQUIRED=0.10.0
--GSTPB_REQUIRED=0.10.0
-+GST_MAJORMINOR=1.0
-+GST_REQUIRED=1.0
-+GSTPB_REQUIRED=1.0
-
- dnl fill in your package name and version here
- dnl the fourth (nano) number should be 0 for a release, 1 for CVS,
-@@ -56,7 +56,7 @@ dnl And we can also ask for the right version of gstreamer
-
- PKG_CHECK_MODULES(GST, \
-   gstreamer-$GST_MAJORMINOR >= $GST_REQUIRED
--  gstreamer-video-0.10,
-+  gstreamer-video-1.0,
-   HAVE_GST=yes,HAVE_GST=no)
-
- dnl Give error and exit if we don't have gstreamer
-diff --git a/filters/gst/gst-plugin/src/gstbcmdec.c 
b/filters/gst/gst-plugin/src/gstbcmdec.c
-index ed01c14..a51bd59 100644
---- a/filters/gst/gst-plugin/src/gstbcmdec.c
-+++ b/filters/gst/gst-plugin/src/gstbcmdec.c
-@@ -8,6 +8,7 @@
-  *  AU
-  *
-  *  HISTORY:
-+ *     Updated for 1.0 by Guido Guenther <[email protected]>
-  *
-  *******************************************************************
-  *
-@@ -40,6 +41,7 @@
- #include <glib.h>
- #include <gst/base/gstadapter.h>
- #include <gst/video/video.h>
-+#include <gst/video/gstvideopool.h>
-
- #ifdef HAVE_CONFIG_H
- #include <config.h>
-@@ -51,8 +53,8 @@
- #include "parse.h"
- #include "gstbcmdec.h"
-
--GST_DEBUG_CATEGORY_STATIC (gst_bcmdec_debug);
--#define GST_CAT_DEFAULT gst_bcmdec_debug
-+GST_DEBUG_CATEGORY_STATIC (gst_bcm_dec_debug);
-+#define GST_CAT_DEFAULT gst_bcm_dec_debug
-
- //#define YV12__
-
-@@ -64,16 +66,18 @@ static GstFlowReturn 
bcmdec_send_buff_detect_error(GstBcmDec *bcmdec, GstBuffer
-                                                  guint8 flags)
- {
-       BC_STATUS sts = BC_STS_SUCCESS;
-+      GstMapInfo info;
-
-       GST_DEBUG_OBJECT(bcmdec, "Attempting to Send Buffer");
-
-       sts = decif_send_buffer(&bcmdec->decif, pbuffer, size, tCurrent, flags);
-
-       if (sts != BC_STS_SUCCESS) {
-+              gst_buffer_map(buf, &info, GST_MAP_READ);
-               GST_ERROR_OBJECT(bcmdec, "proc input failed sts = %d", sts);
-               GST_ERROR_OBJECT(bcmdec, "Chain: timeStamp = %llu size = %d 
data = %p",
--                               GST_BUFFER_TIMESTAMP(buf), 
GST_BUFFER_SIZE(buf),
--                               GST_BUFFER_DATA (buf));
-+                               GST_BUFFER_DTS(buf), info.size, info.data);
-+              gst_buffer_unmap(buf, &info);
-               return GST_FLOW_ERROR;
-       }
-
-@@ -92,7 +96,7 @@ enum {
- };
-
-
--GLB_INST_STS *g_inst_sts = NULL;
-+static GLB_INST_STS *g_inst_sts = NULL;
-
- /*
-  * the capabilities of the inputs and outputs.
-@@ -111,35 +115,29 @@ GstStaticPadTemplate sink_factory_bcm70012 = 
GST_STATIC_PAD_TEMPLATE("sink", GST
-
- #ifdef YV12__
- static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE("src", 
GST_PAD_SRC, GST_PAD_ALWAYS,
--              GST_STATIC_CAPS("video/x-raw-yuv, " "format = (fourcc) { YV12 
}, " "width = (int) [ 1, MAX ], "
-+              GST_STATIC_CAPS("video/x-raw, " "format = (string) { YV12 }, " 
"width = (int) [ 1, MAX ], "
-                               "height = (int) [ 1, MAX ], " "framerate = 
(fraction) [ 0/1, 2147483647/1 ]"));
- #define BUF_MULT (12 / 8)
- #define BUF_MODE MODE420
- #else
- static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE("src", 
GST_PAD_SRC, GST_PAD_ALWAYS,
--              GST_STATIC_CAPS("video/x-raw-yuv, " "format = (fourcc) { YUY2 } 
, " "framerate = (fraction) [0,MAX], "
--                              "width = (int) [1,MAX], " "height = (int) 
[1,MAX]; " "video/x-raw-yuv, "
--                              "format = (fourcc) { UYVY } , " "framerate = 
(fraction) [0,MAX], " "width = (int) [1,MAX], "
-+              GST_STATIC_CAPS("video/x-raw, " "format = (string) { YUY2 } , " 
"framerate = (fraction) [0,MAX], "
-+                              "width = (int) [1,MAX], " "height = (int) 
[1,MAX]; " "video/x-raw, "
-+                              "format = (string) { UYVY } , " "framerate = 
(fraction) [0,MAX], " "width = (int) [1,MAX], "
-                               "height = (int) [1,MAX]; "));
- #define BUF_MULT (16 / 8)
- #define BUF_MODE MODE422_YUY2
- #endif
-
--GST_BOILERPLATE(GstBcmDec, gst_bcmdec, GstElement, GST_TYPE_ELEMENT);
-+G_DEFINE_TYPE(GstBcmDec, gst_bcm_dec, GST_TYPE_ELEMENT);
-
- /* GObject vmethod implementations */
-
--static void gst_bcmdec_base_init(gpointer gclass)
-+static void gst_bcm_dec_base_init(gpointer gclass)
- {
--      static GstElementDetails element_details;
-       BC_HW_CAPS hwCaps;
-
--      GST_DEBUG_OBJECT(gclass, "gst_bcmdec_base_init");
--
--      element_details.klass = (gchar *)"Codec/Decoder/Video";
--      element_details.longname = (gchar *)"Generic Video Decoder";
--      element_details.description = (gchar *)"Decodes various Video Formats 
using CrystalHD Decoders";
--      element_details.author = (gchar *)"Broadcom Corp.";
-+      GST_DEBUG_OBJECT(gclass, "gst_bcm_dec_base_init");
-
-       GstElementClass *element_class = GST_ELEMENT_CLASS(gclass);
-
-@@ -153,11 +151,15 @@ static void gst_bcmdec_base_init(gpointer gclass)
-       }
-       else
-               gst_element_class_add_pad_template(element_class, 
gst_static_pad_template_get (&sink_factory_bcm70012));
--      gst_element_class_set_details(element_class, &element_details);
-+      gst_element_class_set_metadata(element_class,
-+                                    "Codec/Decoder/Video",
-+                                    "Generic Video Decoder",
-+                                    "Decodes various Video Formats using 
CrystalHD Decoders",
-+                                    "Broadcom Corp.");
- }
-
- /* initialize the bcmdec's class */
--static void gst_bcmdec_class_init(GstBcmDecClass *klass)
-+static void gst_bcm_dec_class_init(GstBcmDecClass *klass)
- {
-       GObjectClass *gobject_class;
-       GstElementClass *gstelement_class;
-@@ -165,13 +167,15 @@ static void gst_bcmdec_class_init(GstBcmDecClass *klass)
-       gobject_class = (GObjectClass *)klass;
-       gstelement_class = (GstElementClass *)klass;
-
--      GST_DEBUG_OBJECT(klass, "gst_bcmdec_class_init");
-+      GST_DEBUG_OBJECT(klass, "gst_bcm_dec_class_init");
-+
-+      gst_bcm_dec_base_init(klass);
-
--      gstelement_class->change_state = gst_bcmdec_change_state;
-+      gstelement_class->change_state = gst_bcm_dec_change_state;
-
--      gobject_class->set_property = gst_bcmdec_set_property;
--      gobject_class->get_property = gst_bcmdec_get_property;
--      gobject_class->finalize     = gst_bcmdec_finalize;
-+      gobject_class->set_property = gst_bcm_dec_set_property;
-+      gobject_class->get_property = gst_bcm_dec_get_property;
-+      gobject_class->finalize     = gst_bcm_dec_finalize;
-
-       g_object_class_install_property(gobject_class, PROP_SILENT,
-                                       g_param_spec_boolean("silent", "Silent",
-@@ -185,14 +189,14 @@ static void gst_bcmdec_class_init(GstBcmDecClass *klass)
-  * set pad calback functions
-  * initialize instance structure
-  */
--static void gst_bcmdec_init(GstBcmDec *bcmdec, GstBcmDecClass *gclass)
-+static void gst_bcm_dec_init(GstBcmDec *bcmdec)
- {
-       pid_t pid;
-       BC_STATUS sts = BC_STS_SUCCESS;
-       int shmid = 0;
-       BC_HW_CAPS hwCaps;
-
--      GST_DEBUG_OBJECT(bcmdec, "gst_bcmdec_init");
-+      GST_DEBUG_OBJECT(bcmdec, "gst_bcm_dec_init");
-
-       bcmdec_reset(bcmdec);
-
-@@ -204,17 +208,16 @@ static void gst_bcmdec_init(GstBcmDec *bcmdec, 
GstBcmDecClass *gclass)
-       else
-               bcmdec->sinkpad = 
gst_pad_new_from_static_template(&sink_factory_bcm70012, "sink");
-
--      gst_pad_set_event_function(bcmdec->sinkpad, 
GST_DEBUG_FUNCPTR(gst_bcmdec_sink_event));
-+      gst_pad_set_event_function(bcmdec->sinkpad,
-+                                 GST_DEBUG_FUNCPTR(gst_bcm_dec_sink_event));
-
--      gst_pad_set_setcaps_function(bcmdec->sinkpad, 
GST_DEBUG_FUNCPTR(gst_bcmdec_sink_set_caps));
--      gst_pad_set_getcaps_function(bcmdec->sinkpad, 
GST_DEBUG_FUNCPTR(gst_bcmdec_getcaps));
--      gst_pad_set_chain_function(bcmdec->sinkpad, 
GST_DEBUG_FUNCPTR(gst_bcmdec_chain));
-+      gst_pad_set_chain_function(bcmdec->sinkpad,
-+                                 GST_DEBUG_FUNCPTR(gst_bcm_dec_chain));
-
-       bcmdec->srcpad = gst_pad_new_from_static_template (&src_factory, "src");
-
--      gst_pad_set_getcaps_function(bcmdec->srcpad, 
GST_DEBUG_FUNCPTR(gst_bcmdec_getcaps));
--
--      gst_pad_set_event_function(bcmdec->srcpad, 
GST_DEBUG_FUNCPTR(gst_bcmdec_src_event));
-+      gst_pad_set_event_function(bcmdec->srcpad,
-+                                 GST_DEBUG_FUNCPTR(gst_bcm_dec_src_event));
-
-       gst_pad_use_fixed_caps(bcmdec->srcpad);
-       bcmdec_negotiate_format(bcmdec);
-@@ -223,7 +226,7 @@ static void gst_bcmdec_init(GstBcmDec *bcmdec, 
GstBcmDecClass *gclass)
-       gst_element_add_pad(GST_ELEMENT(bcmdec), bcmdec->srcpad);
-       bcmdec->silent = FALSE;
-       pid = getpid();
--      GST_DEBUG_OBJECT(bcmdec, "gst_bcmdec_init _-- PID = %x",pid);
-+      GST_DEBUG_OBJECT(bcmdec, "gst_bcm_dec_init _-- PID = %x",pid);
-
-       sts = bcmdec_create_shmem(bcmdec, &shmid);
-
-@@ -231,25 +234,25 @@ static void gst_bcmdec_init(GstBcmDec *bcmdec, 
GstBcmDecClass *gclass)
- }
-
- /* plugin close function*/
--static void gst_bcmdec_finalize(GObject *object)
-+static void gst_bcm_dec_finalize(GObject *object)
- {
--      GstBcmDec *bcmdec = GST_BCMDEC(object);
-+      GstBcmDec *bcmdec = GST_BCM_DEC(object);
-
-       bcmdec_del_shmem(bcmdec);
--      /*gst_bcmdec_cleanup(bcmdec);*/
--      GST_DEBUG_OBJECT(bcmdec, "gst_bcmdec_finalize");
--      G_OBJECT_CLASS(parent_class)->finalize(object);
-+      /*gst_bcm_dec_cleanup(bcmdec);*/
-+      GST_DEBUG_OBJECT(bcmdec, "gst_bcm_dec_finalize");
-+      G_OBJECT_CLASS(gst_bcm_dec_parent_class)->finalize(object);
- }
-
--static void gst_bcmdec_set_property(GObject *object, guint prop_id,
-+static void gst_bcm_dec_set_property(GObject *object, guint prop_id,
-                                   const GValue *value, GParamSpec *pspec)
- {
--      GstBcmDec *bcmdec = GST_BCMDEC(object);
-+      GstBcmDec *bcmdec = GST_BCM_DEC(object);
-
-       switch (prop_id) {
-       case PROP_SILENT:
-               bcmdec->silent = g_value_get_boolean (value);
--              GST_DEBUG_OBJECT(bcmdec, "gst_bcmdec_set_property PROP_SILENT");
-+              GST_DEBUG_OBJECT(bcmdec, "gst_bcm_dec_set_property 
PROP_SILENT");
-               break;
-       default:
-               G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
-@@ -257,18 +260,18 @@ static void gst_bcmdec_set_property(GObject *object, 
guint prop_id,
-       }
-
-       if (!bcmdec->silent)
--              GST_DEBUG_OBJECT(bcmdec, "gst_bcmdec_set_property");
-+              GST_DEBUG_OBJECT(bcmdec, "gst_bcm_dec_set_property");
- }
-
--static void gst_bcmdec_get_property(GObject *object, guint prop_id,
-+static void gst_bcm_dec_get_property(GObject *object, guint prop_id,
-                                   GValue *value, GParamSpec *pspec)
- {
--      GstBcmDec *bcmdec = GST_BCMDEC(object);
-+      GstBcmDec *bcmdec = GST_BCM_DEC(object);
-
-       switch (prop_id) {
-       case PROP_SILENT:
-               g_value_set_boolean (value, bcmdec->silent);
--              GST_DEBUG_OBJECT(bcmdec, "gst_bcmdec_get_property PROP_SILENT");
-+              GST_DEBUG_OBJECT(bcmdec, "gst_bcm_dec_get_property 
PROP_SILENT");
-               break;
-       default:
-               G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-@@ -276,27 +279,33 @@ static void gst_bcmdec_get_property(GObject *object, 
guint prop_id,
-       }
-
-       if (!bcmdec->silent)
--              GST_DEBUG_OBJECT(bcmdec, "gst_bcmdec_get_property");
-+              GST_DEBUG_OBJECT(bcmdec, "gst_bcm_dec_get_property");
- }
-
- /* GstElement vmethod implementations */
--static gboolean gst_bcmdec_sink_event(GstPad* pad, GstEvent* event)
-+static gboolean gst_bcm_dec_sink_event(GstPad* pad,
-+                                    GstObject* parent,
-+                                    GstEvent* event)
- {
-       GstBcmDec *bcmdec;
-       BC_STATUS sts = BC_STS_SUCCESS;
--      bcmdec = GST_BCMDEC(gst_pad_get_parent(pad));
-+      bcmdec = GST_BCM_DEC(gst_pad_get_parent(pad));
-
-       gboolean result = TRUE;
-
-       switch (GST_EVENT_TYPE(event)) {
--      case GST_EVENT_NEWSEGMENT:
--              GstFormat newsegment_format;
--              gint64 newsegment_start;
-+      case GST_EVENT_CAPS:
-+                 GstCaps *caps;
-+               gst_event_parse_caps (event, &caps);
-+               result = gst_bcm_dec_sink_set_caps (pad, caps);
-+               break;
-+
-+      case GST_EVENT_SEGMENT:
-+              const GstSegment *newsegment;
-
--              gst_event_parse_new_segment(event, NULL, NULL, 
&newsegment_format,
--                                          &newsegment_start, NULL, NULL);
-+              gst_event_parse_segment(event, &newsegment);
-
--              bcmdec->base_clock_time = newsegment_start;
-+              bcmdec->base_clock_time = newsegment->start;
-               bcmdec->cur_stream_time = 0;
-
-               if (!bcmdec->silent)
-@@ -356,30 +365,24 @@ static gboolean gst_bcmdec_sink_event(GstPad* pad, 
GstEvent* event)
-
-       gst_object_unref(bcmdec);
-       if (!bcmdec->silent)
--              GST_DEBUG_OBJECT(bcmdec, "gst_bcmdec_sink_event %u", 
GST_EVENT_TYPE(event));
-+              GST_DEBUG_OBJECT(bcmdec, "gst_bcm_dec_sink_event %u", 
GST_EVENT_TYPE(event));
-       return result;
- }
-
--static GstCaps *gst_bcmdec_getcaps (GstPad * pad)
--{
--      return gst_caps_copy (gst_pad_get_pad_template_caps (pad));
--}
--
- /* this function handles the link with other elements */
--static gboolean gst_bcmdec_sink_set_caps(GstPad *pad, GstCaps *caps)
-+static gboolean gst_bcm_dec_sink_set_caps(GstPad *pad, GstCaps *caps)
- {
-       GstBcmDec *bcmdec;
--      bcmdec = GST_BCMDEC(gst_pad_get_parent(pad));
-+      bcmdec = GST_BCM_DEC(gst_pad_get_parent(pad));
-       GstStructure *structure;
-+      GstMapInfo info;
-       GstCaps *intersection;
-       const gchar *mime;
-       guint num = 0;
-       guint den = 0;
-       const GValue *g_value;
-       int version = 0;
--      GstBuffer *buffer;
--      guint8 *data;
--      guint size;
-+      GstBuffer *buffer = NULL;
-       guint index;
-
-       GST_DEBUG_OBJECT (pad, "setcaps called");
-@@ -484,53 +487,66 @@ static gboolean gst_bcmdec_sink_set_caps(GstPad *pad, 
GstCaps *caps)
-                               GST_DEBUG_OBJECT(bcmdec, "InFmt H.264 (AVC1)");
-
-                               buffer = gst_value_get_buffer(g_value);
--                              data = GST_BUFFER_DATA(buffer);
--                              size = GST_BUFFER_SIZE(buffer);
--
--                              GST_DEBUG_OBJECT(bcmdec, "codec_data size = 
%d", size);
-+                              if(!gst_buffer_map(buffer,
-+                                                 &info,
-+                                                 GST_MAP_READ))
-+                                 goto map_error;
-+                              GST_DEBUG_OBJECT(bcmdec,
-+                                               "codec_data size = %d",
-+                                               info.size);
-
-                               /* parse the avcC data */
--                              if (size < 7) {
--                                      GST_ERROR_OBJECT(bcmdec, "avcC size %u 
< 7", size);
--                                      goto avcc_error;
-+                              if (info.size < 7) {
-+                                      GST_ERROR_OBJECT(bcmdec,
-+                                                       "avcC size %u < 7",
-+                                                       info.size);
-+                                      goto out;
-                               }
-                               /* parse the version, this must be 1 */
--                              if (data[0] != 1)
--                                      goto wrong_version;
-+                              if (info.data[0] != 1) {
-+                                GST_ERROR_OBJECT(bcmdec, "wrong avcC 
version");
-+                                goto out;
-+                              }
-
-                               if (bcmdec->codec_params.sps_pps_buf == NULL)
--                                      bcmdec->codec_params.sps_pps_buf = 
(guint8 *)malloc(size * 2);
--                              if (bcmdec_insert_sps_pps(bcmdec, buffer) != 
BC_STS_SUCCESS) {
-+                                      bcmdec->codec_params.sps_pps_buf = 
(guint8 *)malloc(info.size * 2);
-+                              if (bcmdec_insert_sps_pps(bcmdec, &info) != 
BC_STS_SUCCESS) {
-                                       bcmdec->codec_params.pps_size = 0;
-                               }
-                       } else if (!strcmp("video/x-wmv", mime)) {
--                              buffer = gst_value_get_buffer(g_value);
--                              data = GST_BUFFER_DATA(buffer);
--                              size = GST_BUFFER_SIZE(buffer);
--
--                              GST_DEBUG_OBJECT(bcmdec, "codec_data size = 
%d", size);
--                              if (size == 4) {
-+                              buffer = gst_value_get_buffer(g_value);
-+                              if(!gst_buffer_map(buffer,
-+                                                 &info,
-+                                                 GST_MAP_READ))
-+                                goto map_error;
-+
-+                              GST_DEBUG_OBJECT(bcmdec,
-+                                               "codec_data size = %d",
-+                                               info.size);
-+                              if (info.size == 4) {
-                                       // Simple or Main Profile
-                                       bcmdec->input_format = BC_MSUBTYPE_WMV3;
-                                       GST_DEBUG_OBJECT(bcmdec, "InFmt VC-1 
(SP/MP)");
-                                       if (bcmdec->codec_params.sps_pps_buf == 
NULL)
-                                               
bcmdec->codec_params.sps_pps_buf = (guint8 *)malloc(4);
--                                      
memcpy(bcmdec->codec_params.sps_pps_buf, data, 4);
-+                                      memcpy(bcmdec->codec_params.sps_pps_buf,
-+                                             info.data, 4);
-                                       bcmdec->codec_params.pps_size = 4;
-                               } else {
-                                       bcmdec->input_format = BC_MSUBTYPE_VC1;
-                                       GST_DEBUG_OBJECT(bcmdec, "InFmt VC-1 
(AP)");
--                                      for (index = 0; index < size; index++) {
--                                              data += index;
--                                              if (((size - index) >= 4) && 
(*data == 0x00) && (*(data + 1) == 0x00) &&
--                                                      (*(data + 2) == 0x01) 
&& (*(data + 3) == 0x0f)) {
-+                                      for (index = 0; index < info.size;
-+                                           index++) {
-+                                              info.data += index;
-+                                              if (((info.size - index) >= 4) 
&& (*info.data == 0x00) && (*(info.data + 1) == 0x00) &&
-+                                                      (*(info.data + 2) == 
0x01) && (*(info.data + 3) == 0x0f)) {
-                                                       
GST_DEBUG_OBJECT(bcmdec, "VC1 Sequence Header Found for Adv Profile");
-
--                                                      if ((size - index + 1) 
> MAX_ADV_PROF_SEQ_HDR_SZ)
-+                                                      if ((info.size - index 
+ 1) > MAX_ADV_PROF_SEQ_HDR_SZ)
-                                                               
bcmdec->codec_params.pps_size = MAX_ADV_PROF_SEQ_HDR_SZ;
-                                                       else
--                                                              
bcmdec->codec_params.pps_size = size - index + 1;
--                                                      
memcpy(bcmdec->codec_params.sps_pps_buf, data, bcmdec->codec_params.pps_size);
-+                                                              
bcmdec->codec_params.pps_size = info.size - index + 1;
-+                                                      
memcpy(bcmdec->codec_params.sps_pps_buf, info.data, 
bcmdec->codec_params.pps_size);
-                                                       break;
-                                               }
-                                       }
-@@ -546,16 +562,16 @@ static gboolean gst_bcmdec_sink_set_caps(GstPad *pad, 
GstCaps *caps)
-               } else {
-                       // No Codec data. So try with FourCC for VC1/WMV9
-                       if (!strcmp("video/x-wmv", mime)) {
--                              guint32 fourcc;
--                              if (gst_structure_get_fourcc (structure, 
"format", &fourcc)) {
--                                      if ((fourcc == GST_MAKE_FOURCC ('W', 
'V', 'C', '1')) ||
--                                              (fourcc == GST_MAKE_FOURCC 
('W', 'M', 'V', 'A'))) {
-+                              if (gst_structure_has_field (structure, 
"format")) {
-+                                const char* fourcc = 
gst_structure_get_string(structure, "format");
-+
-+                                if (!g_strcmp0(fourcc, "WVC1") ||
-+                                    !g_strcmp0(fourcc, "WMVA")) {
-                                               bcmdec->input_format = 
BC_MSUBTYPE_VC1;
-                                               GST_DEBUG_OBJECT(bcmdec, "InFmt 
VC-1 (AP)");
-                                       } else {
-                                               GST_DEBUG_OBJECT(bcmdec, "no 
codec_data. Don't know how to handle");
--                                              gst_object_unref(bcmdec);
--                                              return FALSE;
-+                                              goto out;
-                                       }
-                               }
-                       }
-@@ -570,8 +586,7 @@ static gboolean gst_bcmdec_sink_set_caps(GstPad *pad, 
GstCaps *caps)
-                       }
-                       else {
-                               GST_DEBUG_OBJECT(bcmdec, "no codec_data. Don't 
know how to handle");
--                              gst_object_unref(bcmdec);
--                              return FALSE;
-+                              goto out;
-                       }
-               }
-       }
-@@ -581,54 +596,40 @@ static gboolean gst_bcmdec_sink_set_caps(GstPad *pad, 
GstCaps *caps)
-               bcmdec_process_play(bcmdec);
-       }
-
-+        gst_buffer_unmap(buffer, &info);
-       gst_object_unref(bcmdec);
-
-       return TRUE;
-
-       /* ERRORS */
--avcc_error:
--      {
--              gst_object_unref(bcmdec);
--              return FALSE;
--      }
--
--wrong_version:
--      {
--              GST_ERROR_OBJECT(bcmdec, "wrong avcC version");
--              gst_object_unref(bcmdec);
--              return FALSE;
--      }
--}
--
--void bcmdec_msleep(gint msec)
--{
--      gint cnt = msec;
--
--      while (cnt) {
--              usleep(1000);
--              cnt--;
--      }
-+out:
-+      if (buffer)
-+        gst_buffer_unmap(buffer, &info);
-+map_error:
-+      gst_object_unref(bcmdec);
-+      return FALSE;
- }
-
- /*
-  * chain function
-  * this function does the actual processing
-  */
--static GstFlowReturn gst_bcmdec_chain(GstPad *pad, GstBuffer *buf)
-+static GstFlowReturn gst_bcm_dec_chain(GstPad *pad,
-+                                    GstObject *parent,
-+                                    GstBuffer *buf)
- {
-       GstBcmDec *bcmdec;
--//    BC_STATUS sts = BC_STS_SUCCESS;
-+      GstMapInfo info;
-       guint32 offset = 0;
-       GstClockTime tCurrent = 0;
-       guint8 *pbuffer;
-       guint32 size = 0;
--//    guint32 vc1_buff_sz = 0;
--
-+      GstFlowReturn ret;
-
- #ifdef FILE_DUMP__
-       guint32 bytes_written =0;
- #endif
--      bcmdec = GST_BCMDEC (GST_OBJECT_PARENT (pad));
-+      bcmdec = GST_BCM_DEC (GST_OBJECT_PARENT (pad));
-
- #ifdef FILE_DUMP__
-       if (bcmdec->fhnd == NULL)
-@@ -637,8 +638,8 @@ static GstFlowReturn gst_bcmdec_chain(GstPad *pad, 
GstBuffer *buf)
-
-       if (bcmdec->flushing) {
-               GST_DEBUG_OBJECT(bcmdec, "input while flushing");
--              gst_buffer_unref(buf);
--              return GST_FLOW_OK;
-+              ret = GST_FLOW_OK;
-+              goto out;
-       }
-
-       if (GST_CLOCK_TIME_NONE != GST_BUFFER_TIMESTAMP(buf)) {
-@@ -654,32 +655,44 @@ static GstFlowReturn gst_bcmdec_chain(GstPad *pad, 
GstBuffer *buf)
-               bcmdec_process_play(bcmdec);
-       } else if (!bcmdec->streaming) {
-               GST_DEBUG_OBJECT(bcmdec, "input while streaming is false");
--              gst_buffer_unref(buf);
--              return GST_FLOW_WRONG_STATE;
-+              ret = GST_FLOW_FLUSHING;
-+              goto out;
-       }
-
--      pbuffer = GST_BUFFER_DATA (buf);
--      size = GST_BUFFER_SIZE(buf);
-+      if (!gst_buffer_map(buf, &info, GST_MAP_READ)) {
-+        ret = GST_FLOW_ERROR;
-+        goto out;
-+      }
-+      pbuffer = info.data;
-+      size = info.size;
-
-+      /* FIXME: better send mapinfo? */
-       if (GST_FLOW_OK != bcmdec_send_buff_detect_error(bcmdec, buf, pbuffer, 
size, offset, tCurrent, bcmdec->proc_in_flags)) {
--              gst_buffer_unref(buf);
--              return GST_FLOW_ERROR;
-+              ret = GST_FLOW_ERROR;
-+              goto unmapout;
-       }
-
- #ifdef FILE_DUMP__
-       bytes_written = fwrite(GST_BUFFER_DATA(buf), sizeof(unsigned char), 
GST_BUFFER_SIZE(buf), bcmdec->fhnd);
- #endif
-
-+      ret = GST_FLOW_OK;
-+
-+unmapout:
-+      gst_buffer_unmap(buf, &info);
-+out:
-       gst_buffer_unref(buf);
--      return GST_FLOW_OK;
-+      return ret;
- }
-
--static gboolean gst_bcmdec_src_event(GstPad *pad, GstEvent *event)
-+static gboolean gst_bcm_dec_src_event(GstPad *pad,
-+                                   GstObject *parent,
-+                                   GstEvent *event)
- {
-       gboolean result;
-       GstBcmDec *bcmdec;
-
--      bcmdec = GST_BCMDEC(GST_OBJECT_PARENT(pad));
-+      bcmdec = GST_BCM_DEC(GST_OBJECT_PARENT(pad));
-
-       result = gst_pad_push_event(bcmdec->sinkpad, event);
-
-@@ -695,6 +708,7 @@ static gboolean bcmdec_negotiate_format(GstBcmDec *bcmdec)
-       GstStructure *s1;
-       const GValue *framerate_value;
-       GstVideoFormat vidFmt;
-+      GstVideoInfo info;
-
- #ifdef YV12__
-       vidFmt = GST_VIDEO_FORMAT_YV12;
-@@ -703,21 +717,21 @@ static gboolean bcmdec_negotiate_format(GstBcmDec 
*bcmdec)
- #endif
-       GST_DEBUG_OBJECT(bcmdec, "framerate = %f", 
bcmdec->output_params.framerate);
-
--      if(bcmdec->interlace) {
--              caps = gst_video_format_new_caps_interlaced(vidFmt, 
bcmdec->output_params.width,
--                                                                              
                        bcmdec->output_params.height, num, den,
--                                                                              
                        bcmdec->output_params.aspectratio_x,
--                                                                              
                        bcmdec->output_params.aspectratio_y,
--                                                                              
                        TRUE);
--      } else {
--              caps = gst_video_format_new_caps(vidFmt, 
bcmdec->output_params.width,
--                                                                              
                        bcmdec->output_params.height, num, den,
--                                                                              
                        bcmdec->output_params.aspectratio_x,
--                                                                              
                        bcmdec->output_params.aspectratio_y);
--      }
--
-+      gst_video_info_init (&info);
-+      gst_video_info_set_format (&info,
-+                                 vidFmt,
-+                                 bcmdec->output_params.width,
-+                                 bcmdec->output_params.height);
-+      info.fps_n = num;
-+      info.fps_d = den;
-+      info.par_n = bcmdec->output_params.aspectratio_x;
-+      info.par_d = bcmdec->output_params.aspectratio_y;
-+      info.interlace_mode = bcmdec->interlace ?
-+        GST_VIDEO_INTERLACE_MODE_INTERLEAVED :
-+        GST_VIDEO_INTERLACE_MODE_PROGRESSIVE;
-+        caps = gst_video_info_to_caps (&info);
-       result = gst_pad_set_caps(bcmdec->srcpad, caps);
--      GST_DEBUG_OBJECT(bcmdec, "gst_bcmdec_negotiate_format %d", result);
-+      GST_DEBUG_OBJECT(bcmdec, "gst_bcm_dec_negotiate_format %d", result);
-
-       if (bcmdec->output_params.clr_space == MODE422_YUY2) {
-               bcmdec->output_params.y_size = bcmdec->output_params.width * 
bcmdec->output_params.height * BUF_MULT;
-@@ -842,10 +856,10 @@ static gboolean bcmdec_process_play(GstBcmDec *bcmdec)
-       return TRUE;
- }
-
--static GstStateChangeReturn gst_bcmdec_change_state(GstElement *element, 
GstStateChange transition)
-+static GstStateChangeReturn gst_bcm_dec_change_state(GstElement *element, 
GstStateChange transition)
- {
-       GstStateChangeReturn result = GST_STATE_CHANGE_SUCCESS;
--      GstBcmDec *bcmdec = GST_BCMDEC(element);
-+      GstBcmDec *bcmdec = GST_BCM_DEC(element);
-       BC_STATUS sts = BC_STS_SUCCESS;
-       int ret = 0;
-
-@@ -960,7 +974,7 @@ static GstStateChangeReturn 
gst_bcmdec_change_state(GstElement *element, GstStat
-               GST_DEBUG_OBJECT(bcmdec, "default %d", transition);
-               break;
-       }
--      result = GST_ELEMENT_CLASS(parent_class)->change_state(element, 
transition);
-+      result = 
GST_ELEMENT_CLASS(gst_bcm_dec_parent_class)->change_state(element, transition);
-       if (result == GST_STATE_CHANGE_FAILURE) {
-               GST_ERROR_OBJECT(bcmdec, "parent class state change failed");
-               return result;
-@@ -968,7 +982,7 @@ static GstStateChangeReturn 
gst_bcmdec_change_state(GstElement *element, GstStat
-
-       if(transition == GST_STATE_CHANGE_READY_TO_NULL) {
-               GST_DEBUG_OBJECT(bcmdec, "GST_STATE_CHANGE_READY_TO_NULL");
--              sts = gst_bcmdec_cleanup(bcmdec);
-+              sts = gst_bcm_dec_cleanup(bcmdec);
-               if (sts == BC_STS_SUCCESS)
-                       GST_DEBUG_OBJECT(bcmdec, "dev close success");
-               else
-@@ -978,38 +992,26 @@ static GstStateChangeReturn 
gst_bcmdec_change_state(GstElement *element, GstStat
-       return result;
- }
-
--
--GstClockTime gst_get_current_timex (void)
--{
--      GTimeVal tv;
--
--      g_get_current_time(&tv);
--      return GST_TIMEVAL_TO_TIME(tv);
--}
--
--clock_t bcm_get_tick_count()
--{
--      tms tm;
--      return times(&tm);
--}
--
--static gboolean bcmdec_get_buffer(GstBcmDec *bcmdec, GstBuffer **obuf)
-+static gboolean bcmdec_get_buffer(GstBcmDec *bcmdec,
-+                                gint size,
-+                                GstBuffer **obuf)
- {
-       GstFlowReturn ret;
--      GST_DEBUG_OBJECT(bcmdec, "gst_pad_alloc_buffer_and_set_caps ");
-+      GST_DEBUG_OBJECT(bcmdec, "%s", __func__);
-
--      ret = gst_pad_alloc_buffer_and_set_caps(bcmdec->srcpad,
--                                              GST_BUFFER_OFFSET_NONE,
--                                              bcmdec->output_params.width * 
bcmdec->output_params.height * BUF_MULT,
--                                              GST_PAD_CAPS (bcmdec->srcpad), 
obuf);
--      if (ret != GST_FLOW_OK) {
-+      *obuf = gst_buffer_new_allocate (NULL,
-+                                      size,
-+                                      NULL);
-+
-+      if (obuf == NULL) {
-               GST_ERROR_OBJECT(bcmdec, "gst_pad_alloc_buffer_and_set_caps 
failed %d ",ret);
-               return FALSE;
-       }
-
-+#if 0
-       if (((uintptr_t)GST_BUFFER_DATA(*obuf)) % 4)
-               GST_DEBUG_OBJECT(bcmdec, "buf is not aligned");
--
-+#endif
-       return TRUE;
- }
-
-@@ -1382,6 +1384,7 @@ static void * bcmdec_process_output(void *ctx)
-       GstClockTime cur_stream_time_diff = 0;
-       int wait_cnt = 0;
-       guint32 nextPicNumFlags = 0;
-+      GstMapInfo info;
-
-       gboolean is_paused = FALSE;
-
-@@ -1427,7 +1430,8 @@ static void * bcmdec_process_output(void *ctx)
-                       guint8* data_ptr;
-                       if (gstbuf == NULL) {
-                               if (!bcmdec->rbuf_thread_running) {
--                                      if (!bcmdec_get_buffer(bcmdec, 
&gstbuf)) {
-+                                      gint size = bcmdec->output_params.width 
* bcmdec->output_params.height * BUF_MULT;
-+                                      if (!bcmdec_get_buffer(bcmdec, size, 
&gstbuf)) {
-                                               usleep(30 * 1000);
-                                               continue;
-                                       }
-@@ -1460,9 +1464,16 @@ static void * bcmdec_process_output(void *ctx)
-                       else
-                               GST_DEBUG_OBJECT(bcmdec, "re-using rbuf, going 
to proc output");
-
--                      data_ptr = GST_BUFFER_DATA(gstbuf);
--
-+                      if(!gst_buffer_map(gstbuf,
-+                                         &info,
-+                                         GST_MAP_WRITE)) {
-+                        GST_ERROR_OBJECT(bcmdec, "Failed to map buffer");
-+                        continue;
-+                      }
-+                      data_ptr = info.data;
-                       bcmdec_init_procout(bcmdec, &pout, data_ptr);
-+                      gst_buffer_unmap(gstbuf, &info);
-+
-                       rx_flush = TRUE;
-                       pout.PicInfo.picture_number = 0;
-                       // For interlaced content, if I am holding a buffer but 
the next buffer is not from the same picture
-@@ -1473,7 +1484,7 @@ static void * bcmdec_process_output(void *ctx)
-                                       if(pic_number == 0)
-                                               gst_buffer_unref(gstbuf);
-                                       else if (gst_queue_element) {
--                                              GST_BUFFER_FLAG_SET(gstbuf, 
GST_VIDEO_BUFFER_ONEFIELD);
-+                                              GST_BUFFER_FLAG_SET(gstbuf, 
GST_VIDEO_BUFFER_FLAG_ONEFIELD);
-                                               gst_queue_element->gstbuf = 
gstbuf;
-                                               bcmdec_ins_buf(bcmdec, 
gst_queue_element);
-                                               bcmdec->prev_pic = pic_number;
-@@ -1489,7 +1500,7 @@ static void * bcmdec_process_output(void *ctx)
-                       }
-                       if (bEOS) {
-                               if (gstbuf) {
--                                      gst_buffer_unref(gstbuf);
-+                                      gst_buffer_unref(gstbuf);
-                                       gstbuf = NULL;
-                               }
-                               if (gst_queue_element) {
-@@ -1561,14 +1572,6 @@ static void * bcmdec_process_output(void *ctx)
-                                               GST_DEBUG_OBJECT(bcmdec, "LOST 
PICTURE pic_no = %d, prev = %d", pic_number, bcmdec->prev_pic);
-                               }
-
--/*                            if ((bcmdec->prev_pic == pic_number) && 
(bcmdec->ses_nbr  == pout.PicInfo.sess_num) && !bcmdec->interlace) {
--                                      if (!bcmdec->silent)
--                                              GST_DEBUG_OBJECT(bcmdec, "rp");
--
--                                      if (!(pout.PicInfo.flags &  
VDEC_FLAG_LAST_PICTURE))
--                                              continue;
--                              }*/
--
-                               if (!bcmdec->interlace || bcmdec->sec_field) {
-                                       GST_DEBUG_OBJECT(bcmdec, "Progressive 
or Second Field");
-                                       GST_BUFFER_OFFSET(gstbuf) = 0;
-@@ -1597,13 +1600,11 @@ static void * bcmdec_process_output(void *ctx)
-                                       }
-                               }
-
--                              GST_BUFFER_SIZE(gstbuf) = 
bcmdec->output_params.width * bcmdec->output_params.height * BUF_MULT;
--
-                               if (!bcmdec->interlace || bcmdec->sec_field) {
-                                       if (gst_queue_element) {
-                                               // If interlaced, set the 
GST_VIDEO_BUFFER_TFF flags
-                                               if(bcmdec->sec_field)
--                                                      
GST_BUFFER_FLAG_SET(gstbuf, GST_VIDEO_BUFFER_TFF);
-+                                                      
GST_BUFFER_FLAG_SET(gstbuf, GST_VIDEO_BUFFER_FLAG_TFF);
-                                               gst_queue_element->gstbuf = 
gstbuf;
-                                               bcmdec_ins_buf(bcmdec, 
gst_queue_element);
-                                               bcmdec->prev_pic = pic_number;
-@@ -1674,7 +1675,7 @@ static void * bcmdec_process_output(void *ctx)
-               }
-               if (rx_flush) {
-                       if (!bcmdec->flushing) {
--//                            GST_DEBUG_OBJECT(bcmdec, "DtsFlushRxCapture 
called");
-+                              GST_DEBUG_OBJECT(bcmdec, "DtsFlushRxCapture 
called");
- //                            sts = decif_flush_rxbuf(&bcmdec->decif, FALSE);
- //                            if (sts != BC_STS_SUCCESS)
- //                                    GST_DEBUG_OBJECT(bcmdec, 
"DtsFlushRxCapture failed");
-@@ -1880,11 +1881,11 @@ static void bcmdec_process_flush_start(GstBcmDec 
*bcmdec)
-               GST_ERROR_OBJECT(bcmdec, "flush_dec failed sts %d", sts);
- }
-
--static BC_STATUS gst_bcmdec_cleanup(GstBcmDec *bcmdec)
-+static BC_STATUS gst_bcm_dec_cleanup(GstBcmDec *bcmdec)
- {
-       BC_STATUS sts = BC_STS_SUCCESS;
-
--      GST_DEBUG_OBJECT(bcmdec, "gst_bcmdec_cleanup - enter");
-+      GST_DEBUG_OBJECT(bcmdec, "gst_bcm_dec_cleanup - enter");
-       bcmdec->streaming = FALSE;
-
-       bcmdec_release_mem_buf_que_pool(bcmdec);
-@@ -2117,11 +2118,11 @@ static GSTBUF_LIST * bcmdec_rem_buf(GstBcmDec *bcmdec)
-       return temp;
- }
-
--static BC_STATUS bcmdec_insert_sps_pps(GstBcmDec *bcmdec, GstBuffer* gstbuf)
-+static BC_STATUS bcmdec_insert_sps_pps(GstBcmDec *bcmdec, GstMapInfo* info)
- {
-       BC_STATUS sts = BC_STS_SUCCESS;
--      guint8 *data = GST_BUFFER_DATA(gstbuf);
--      guint32 data_size = GST_BUFFER_SIZE(gstbuf);
-+      guint8 *data = info->data;
-+      guint32 data_size = info->size;
-       gint profile;
-       guint nal_size;
-       guint num_sps, num_pps, i;
-@@ -2436,7 +2437,6 @@ static void * bcmdec_process_get_rbuf(void *ctx)
-
-               while (bcmdec->streaming && get_buf_start)
-               {
--                      //GST_DEBUG_OBJECT(bcmdec, "process get rbuf 
start....");
-                       gstbuf = NULL;
-
-                       if (!bcmdec->recv_thread && !bcmdec->streaming) {
-@@ -2446,9 +2446,8 @@ static void * bcmdec_process_get_rbuf(void *ctx)
-                               break;
-                       }
-
--                      // If we have enough buffers from the renderer then 
don't get any more
-                       if(bcmdec->gst_padbuf_que_cnt >= 
GST_RENDERER_BUF_POOL_SZ) {
--                              usleep(100 * 1000);
-+                        usleep(100 * 1000); /* we have enought buffers from 
the renderer */
-                               GST_DEBUG_OBJECT(bcmdec, "SLEEPING because we 
have enough buffers");
-                               continue;
-                       }
-@@ -2467,13 +2466,10 @@ static void * bcmdec_process_get_rbuf(void *ctx)
-                       bufSz = bcmdec->output_params.width * 
bcmdec->output_params.height * BUF_MULT;
-
-                       GST_DEBUG_OBJECT(bcmdec, "process get rbuf 
gst_pad_alloc_buffer_and_set_caps ....");
--                      ret = gst_pad_alloc_buffer_and_set_caps(bcmdec->srcpad, 
GST_BUFFER_OFFSET_NONE,
--                                                              bufSz, 
GST_PAD_CAPS(bcmdec->srcpad), &gstbuf);
--                      if (ret != GST_FLOW_OK) {
--                              if (!bcmdec->silent)
--                                      GST_ERROR_OBJECT(bcmdec, 
"gst_pad_alloc_buffer_and_set_caps failed %d ",ret);
--                              usleep(30 * 1000);
--                              continue;
-+                      if (!bcmdec_get_buffer(bcmdec, bufSz, &gstbuf)) {
-+                        GST_ERROR_OBJECT(bcmdec, 
"gst_pad_alloc_buffer_and_set_caps failed %d ",ret);
-+                        usleep(30 * 1000);
-+                        continue;
-                       }
-
-                       GST_DEBUG_OBJECT(bcmdec, "Got GST Buf RCnt:%d", 
bcmdec->gst_padbuf_que_cnt);
-@@ -2501,9 +2497,6 @@ static gboolean bcmdec_start_get_rbuf_thread(GstBcmDec 
*bcmdec)
-       gint ret = 0;
-       pthread_attr_t thread_attr;
-
--//    if (!bcmdec_alloc_mem_rbuf_que_pool(bcmdec))
--//            GST_ERROR_OBJECT(bcmdec, "rend pool alloc failed/n");
--
-       bcmdec->gst_padbuf_que_hd = bcmdec->gst_padbuf_que_tl = NULL;
-
-       ret = sem_init(&bcmdec->rbuf_ins_event, 0, 0);
-@@ -2658,18 +2651,14 @@ static GSTBUF_LIST *bcmdec_rem_padbuf(GstBcmDec 
*bcmdec)
-  */
- static gboolean plugin_init(GstPlugin *bcmdec)
- {
--      //printf("BcmDec_init");
--
-       /*
-        * debug category for fltering log messages
--       *
--       * exchange the string 'Template bcmdec' with your description
-        */
--      GST_DEBUG_CATEGORY_INIT(gst_bcmdec_debug, "bcmdec", 0, "Broadcom video 
decoder");
-+      GST_DEBUG_CATEGORY_INIT(gst_bcm_dec_debug, "bcmdec", 0, "Broadcom video 
decoder");
-
--      return gst_element_register(bcmdec, "bcmdec", GST_BCMDEC_RANK, 
GST_TYPE_BCMDEC);
-+      return gst_element_register(bcmdec, "bcmdec", GST_BCM_DEC_RANK, 
GST_TYPE_BCM_DEC);
- }
-
- /* gstreamer looks for this structure to register bcmdec */
--GST_PLUGIN_DEFINE(GST_VERSION_MAJOR, GST_VERSION_MINOR, "bcmdec", "Video 
decoder", plugin_init, VERSION, "LGPL", "bcmdec", "http://broadcom.com/";)
-+GST_PLUGIN_DEFINE(GST_VERSION_MAJOR, GST_VERSION_MINOR, bcmdec, "Video 
decoder", plugin_init, VERSION, "LGPL", "bcmdec", "http://broadcom.com/";)
-
-diff --git a/filters/gst/gst-plugin/src/gstbcmdec.h 
b/filters/gst/gst-plugin/src/gstbcmdec.h
-index 6e5b100..5c02c8a 100644
---- a/filters/gst/gst-plugin/src/gstbcmdec.h
-+++ b/filters/gst/gst-plugin/src/gstbcmdec.h
-@@ -23,11 +23,11 @@
-  * along with this library.  If not, see <http://www.gnu.org/licenses/>.
-  *
-  *******************************************************************/
--#ifndef __GST_BCMDEC_H__
--#define __GST_BCMDEC_H__
-+#ifndef __GST_BCM_DEC_H__
-+#define __GST_BCM_DEC_H__
-
-
--#define       GST_BCMDEC_RANK 0xffff
-+#define       GST_BCM_DEC_RANK        0xffff
-
- #define CLOCK_BASE 9LL
- #define CLOC_FREQ_CLOC_BASE * 10000
-@@ -127,16 +127,16 @@ typedef struct {
-
- G_BEGIN_DECLS
-
--#define GST_TYPE_BCMDEC \
--  (gst_bcmdec_get_type())
--#define GST_BCMDEC(obj) \
--  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BCMDEC,GstBcmDec))
--#define GST_BCMDEC_CLASS(klass) \
--  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BCMDEC,GstBcmDecClass))
--#define GST_IS_BCMDEC(obj) \
--  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BCMDEC))
--#define GST_IS_BCMDEC_CLASS(klass) \
--  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BCMDEC))
-+#define GST_TYPE_BCM_DEC \
-+  (gst_bcm_dec_get_type())
-+#define GST_BCM_DEC(obj) \
-+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BCM_DEC,GstBcmDec))
-+#define GST_BCM_DEC_CLASS(klass) \
-+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BCM_DEC,GstBcmDecClass))
-+#define GST_IS_BCM_DEC(obj) \
-+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BCM_DEC))
-+#define GST_IS_BCM_DEC_CLASS(klass) \
-+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BCM_DEC))
-
- typedef struct _GstBcmDec      GstBcmDec;
- typedef struct _GstBcmDecClass GstBcmDecClass;
-@@ -188,7 +188,7 @@ struct _GstBcmDec
-
-       gboolean flushing;
-       sem_t push_stop_event;
--    sem_t push_start_event;
-+  sem_t push_start_event;
-       sem_t recv_stop_event;
-       guint ses_nbr;
-       gboolean insert_pps;
-@@ -233,49 +233,50 @@ struct _GstBcmDecClass
-   GstElementClass parent_class;
- };
-
--GType gst_bcmdec_get_type (void);
-+GType gst_bcm_dec_get_type (void);
-
- static void
--gst_bcmdec_base_init (gpointer gclass);
-+gst_bcm_dec_base_init (gpointer gclass);
-
- static void
--gst_bcmdec_class_init(GstBcmDecClass * klass);
-+gst_bcm_dec_class_init(GstBcmDecClass * klass);
-
- static void
--gst_bcmdec_init(GstBcmDec * bcmdec,
--                              GstBcmDecClass * gclass);
-+gst_bcm_dec_init(GstBcmDec * bcmdec);
-+
-
- static void
--gst_bcmdec_finalize(GObject * object);
-+gst_bcm_dec_finalize(GObject * object);
-
- static GstFlowReturn
--gst_bcmdec_chain(GstPad * pad,
-+gst_bcm_dec_chain(GstPad * pad,
-+               GstObject * parent,
-                                GstBuffer * buffer);
-
- static GstStateChangeReturn
--gst_bcmdec_change_state(GstElement * element,
-+gst_bcm_dec_change_state(GstElement * element,
-                                               GstStateChange transition);
-
- static gboolean
--gst_bcmdec_sink_set_caps(GstPad * pad,
-+gst_bcm_dec_sink_set_caps(GstPad * pad,
-                                                GstCaps * caps);
-
--static GstCaps *gst_bcmdec_getcaps (GstPad * pad);
--
- static gboolean
--gst_bcmdec_src_event(GstPad * pad,
-+gst_bcm_dec_src_event(GstPad * pad,
-+                   GstObject * parent,
-                                        GstEvent * event);
-
- static gboolean
--gst_bcmdec_sink_event(GstPad * pad,
-+gst_bcm_dec_sink_event(GstPad * pad,
-+                    GstObject * parent,
-                                         GstEvent * event);
-
- static void
--gst_bcmdec_set_property (GObject * object, guint prop_id,
-+gst_bcm_dec_set_property (GObject * object, guint prop_id,
-                                               const GValue * value, 
GParamSpec * pspec);
-
- static void
--gst_bcmdec_get_property (GObject * object, guint prop_id,
-+gst_bcm_dec_get_property (GObject * object, guint prop_id,
-                                               GValue * value, GParamSpec * 
pspec);
-
- static gboolean
-@@ -285,7 +286,7 @@ static void
- bcmdec_reset(GstBcmDec * bcmdec);
-
- static gboolean
--bcmdec_get_buffer(GstBcmDec * bcmdec, GstBuffer ** obuf);
-+bcmdec_get_buffer(GstBcmDec * bcmdec, gint size, GstBuffer ** obuf);
-
- static void*
- bcmdec_process_output(void * ctx);
-@@ -300,7 +301,7 @@ static gboolean
- bcmdec_format_change(GstBcmDec * filter,BC_PIC_INFO_BLOCK* pic_info);
-
- static BC_STATUS
--gst_bcmdec_cleanup(GstBcmDec *filter);
-+gst_bcm_dec_cleanup(GstBcmDec *filter);
-
- static gboolean
- bcmdec_start_recv_thread(GstBcmDec * bcmdec);
-@@ -339,7 +340,7 @@ bcmdec_start_push_thread(GstBcmDec * bcmdec);
- //bcmdec_insert_startcode(GstBcmDec* filter,GstBuffer* gstbuf, guint8* 
dest_buf,guint32* sz);
-
- static BC_STATUS
--bcmdec_insert_sps_pps(GstBcmDec* filter,GstBuffer* gstbuf);
-+bcmdec_insert_sps_pps(GstBcmDec* filter, GstMapInfo* gstbuf);
-
- static void
- bcmdec_set_aspect_ratio(GstBcmDec *filter,BC_PIC_INFO_BLOCK* pic_info);
-@@ -383,7 +384,6 @@ bcmdec_ins_padbuf(GstBcmDec *filter,GSTBUF_LIST    
*gst_queue_element);
- static GSTBUF_LIST*
- bcmdec_rem_padbuf(GstBcmDec *filter);
-
--
- G_END_DECLS
-
--#endif /* __GST_BCMDEC_H__ */
-+#endif /* __GST_BCM_DEC_H__ */
diff --git a/source/xmultimedia/crystalhd/fix_build_with_gcc5.patch 
b/source/xmultimedia/crystalhd/fix_build_with_gcc5.patch
deleted file mode 100644
index 1b5ed45..0000000
--- a/source/xmultimedia/crystalhd/fix_build_with_gcc5.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- crystalhd/driver/linux/crystalhd_misc.h    2015-10-08 12:23:52.000000000 
+0200
-+++ crystalhd.new/driver/linux/crystalhd_misc.h        2015-10-08 
12:25:25.000000000 +0200
-@@ -73,7 +73,7 @@
-       uint32_t                y_done_sz;
-       uint32_t                uv_done_sz;
-       uint32_t                comp_flags;
--      bool                    b422mode;
-+      uint32_t                b422mode;
- };
-
- struct crystalhd_dio_req {
---- crystalhd/driver/linux/crystalhd_cmds.c    2015-10-08 12:23:52.000000000 
+0200
-+++ crystalhd.new/driver/linux/crystalhd_cmds.c        2015-10-08 
12:31:30.000000000 +0200
-@@ -85,7 +85,7 @@
-               return BC_STS_ERR_USAGE;
-       }
-
--      if ((idata->udata.u.NotifyMode.Mode && 0xFF) == DTS_MONITOR_MODE) {
-+      if ((idata->udata.u.NotifyMode.Mode & 0xFF) == DTS_MONITOR_MODE) {
-               ctx->user[idata->u_id].mode = idata->udata.u.NotifyMode.Mode;
-               return BC_STS_SUCCESS;
-       }
diff --git a/source/xmultimedia/crystalhd/fixes.patch 
b/source/xmultimedia/crystalhd/fixes.patch
deleted file mode 100644
index a298e09..0000000
--- a/source/xmultimedia/crystalhd/fixes.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur a/filters/gst/gst-plugin/configure.ac 
b/filters/gst/gst-plugin/configure.ac
---- a/filters/gst/gst-plugin/configure.ac      2011-03-14 15:02:54.000000000 
-0500
-+++ b/filters/gst/gst-plugin/configure.ac      2013-01-17 00:28:31.676676585 
-0600
-@@ -24,7 +24,7 @@
- dnl make aclocal work in maintainer mode
- AC_SUBST(ACLOCAL_AMFLAGS, "-I m4")
-
--AM_CONFIG_HEADER(config.h)
-+AC_CONFIG_HEADERS(config.h)
-
- dnl check for tools
- AC_PROG_CC
diff --git a/source/xmultimedia/crystalhd/kernel-3.8.patch 
b/source/xmultimedia/crystalhd/kernel-3.8.patch
deleted file mode 100644
index 9b64e55..0000000
--- a/source/xmultimedia/crystalhd/kernel-3.8.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-diff -ur a/driver/linux/crystalhd_cmds.c b/driver/linux/crystalhd_cmds.c
---- a/driver/linux/crystalhd_cmds.c    2011-03-14 15:02:54.000000000 -0500
-+++ b/driver/linux/crystalhd_cmds.c    2013-05-13 07:22:19.147377741 -0500
-@@ -1093,7 +1093,7 @@
-  *
-  * Called at the time of driver load.
-  */
--BC_STATUS __devinit crystalhd_setup_cmd_context(struct crystalhd_cmd *ctx,
-+BC_STATUS crystalhd_setup_cmd_context(struct crystalhd_cmd *ctx,
-                                   struct crystalhd_adp *adp)
- {
-       struct device *dev = &adp->pdev->dev;
-@@ -1136,7 +1136,7 @@
-  *
-  * Called at the time of driver un-load.
-  */
--BC_STATUS __devexit crystalhd_delete_cmd_context(struct crystalhd_cmd *ctx)
-+BC_STATUS crystalhd_delete_cmd_context(struct crystalhd_cmd *ctx)
- {
-       dev_dbg(chddev(), "Deleting Command context..\n");
-
-diff -ur a/driver/linux/crystalhd_lnx.c b/driver/linux/crystalhd_lnx.c
---- a/driver/linux/crystalhd_lnx.c     2011-03-14 15:02:54.000000000 -0500
-+++ b/driver/linux/crystalhd_lnx.c     2013-05-13 07:22:49.876376598 -0500
-@@ -431,7 +431,7 @@
-       .llseek         = noop_llseek,
- };
-
--static int __devinit chd_dec_init_chdev(struct crystalhd_adp *adp)
-+static int chd_dec_init_chdev(struct crystalhd_adp *adp)
- {
-       struct device *xdev = &adp->pdev->dev;
-       struct device *dev;
-@@ -498,7 +498,7 @@
-       return rc;
- }
-
--static void __devexit chd_dec_release_chdev(struct crystalhd_adp *adp)
-+static void chd_dec_release_chdev(struct crystalhd_adp *adp)
- {
-       crystalhd_ioctl_data *temp = NULL;
-       if (!adp)
-@@ -523,7 +523,7 @@
-       /*crystalhd_delete_elem_pool(adp); */
- }
-
--static int __devinit chd_pci_reserve_mem(struct crystalhd_adp *pinfo)
-+static int chd_pci_reserve_mem(struct crystalhd_adp *pinfo)
- {
-       struct device *dev = &pinfo->pdev->dev;
-       int rc;
-@@ -582,7 +582,7 @@
-       return 0;
- }
-
--static void __devexit chd_pci_release_mem(struct crystalhd_adp *pinfo)
-+static void chd_pci_release_mem(struct crystalhd_adp *pinfo)
- {
-       if (!pinfo)
-               return;
-@@ -597,7 +597,7 @@
- }
-
-
--static void __devexit chd_dec_pci_remove(struct pci_dev *pdev)
-+static void chd_dec_pci_remove(struct pci_dev *pdev)
- {
-       struct crystalhd_adp *pinfo;
-       BC_STATUS sts = BC_STS_SUCCESS;
-@@ -625,7 +625,7 @@
-       g_adp_info = NULL;
- }
-
--static int __devinit chd_dec_pci_probe(struct pci_dev *pdev,
-+static int chd_dec_pci_probe(struct pci_dev *pdev,
-                            const struct pci_device_id *entry)
- {
-       struct device *dev = &pdev->dev;
-@@ -815,7 +815,7 @@
- static struct pci_driver bc_chd_driver = {
-       .name     = "crystalhd",
-       .probe    = chd_dec_pci_probe,
--      .remove   = __devexit_p(chd_dec_pci_remove),
-+      .remove   = chd_dec_pci_remove,
-       .id_table = chd_dec_pci_id_table,
-       .suspend  = chd_dec_pci_suspend,
-       .resume   = chd_dec_pci_resume
diff --git a/source/xmultimedia/crystalhd/kernel-module-headers.patch 
b/source/xmultimedia/crystalhd/kernel-module-headers.patch
deleted file mode 100644
index 1b25f25..0000000
--- a/source/xmultimedia/crystalhd/kernel-module-headers.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -ur a/driver/linux/crystalhd_hw.h b/driver/linux/crystalhd_hw.h
---- a/driver/linux/crystalhd_hw.h      2012-05-23 00:35:50.387916633 -0500
-+++ b/driver/linux/crystalhd_hw.h      2012-05-23 00:42:37.071901497 -0500
-@@ -30,6 +30,7 @@
-
- #include <linux/device.h>
- #include <linux/version.h>
-+#include <linux/delay.h>
- #if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 24)
- #include <linux/semaphore.h>
- #else
-diff -ur a/driver/linux/crystalhd_lnx.h b/driver/linux/crystalhd_lnx.h
---- a/driver/linux/crystalhd_lnx.h     2012-05-23 00:35:50.387916633 -0500
-+++ b/driver/linux/crystalhd_lnx.h     2012-05-23 00:41:17.408904475 -0500
-@@ -45,7 +45,6 @@
- #include <linux/io.h>
- #include <asm/irq.h>
- #include <asm/pgtable.h>
--#include <asm/system.h>
- #include <linux/uaccess.h>
-
- #include "crystalhd_cmds.h"
-diff -ur a/driver/linux/crystalhd_misc.h b/driver/linux/crystalhd_misc.h
---- a/driver/linux/crystalhd_misc.h    2012-05-23 00:35:50.387916633 -0500
-+++ b/driver/linux/crystalhd_misc.h    2012-05-23 00:41:17.410904475 -0500
-@@ -35,7 +35,6 @@
- #include <linux/ioctl.h>
- #include <linux/dma-mapping.h>
- #include <linux/sched.h>
--#include <asm/system.h>
- #include "bc_dts_glob_lnx.h"
- #include "crystalhd_hw.h"
-
diff --git a/source/xmultimedia/crystalhd/kernel-module-makefile.patch 
b/source/xmultimedia/crystalhd/kernel-module-makefile.patch
deleted file mode 100644
index b416345..0000000
--- a/source/xmultimedia/crystalhd/kernel-module-makefile.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -ur a/driver/linux/Makefile.in b/driver/linux/Makefile.in
---- a/driver/linux/Makefile.in 2012-05-23 00:35:50.387916633 -0500
-+++ b/driver/linux/Makefile.in 2012-05-23 00:53:38.517876921 -0500
-@@ -30,15 +30,10 @@
-       $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
-
- install:
--      if [ -e "/lib/udev/rules.d" ] ; then cp -f 20-crystalhd.rules 
/lib/udev/rules.d/ ; fi
--      if [ -e "/etc/udev/rules.d" ] ; then cp -f 20-crystalhd.rules 
/etc/udev/rules.d/ ; fi
--      if [ -d "/lib/modules/$(shell uname 
-r)/kernel/drivers/staging/crystalhd" ] ; \
--              then install -m 0644 crystalhd.ko /lib/modules/$(shell uname 
-r)/kernel/drivers/staging/crystalhd/ ; \
--      else \
--              install -d /lib/modules/$(shell uname 
-r)/kernel/drivers/video/broadcom ; \
--              install -m 0644 crystalhd.ko /lib/modules/$(shell uname 
-r)/kernel/drivers/video/broadcom ; \
--      fi
--      /sbin/depmod -a
-+      install -d $(DESTDIR)/lib/udev/rules.d
-+      install -m 0644 20-crystalhd.rules $(DESTDIR)/lib/udev/rules.d
-+      install -d $(DESTDIR)/lib/modules/$(shell uname 
-r)/kernel/drivers/video/broadcom
-+      install -m 0644 crystalhd.ko $(DESTDIR)/lib/modules/$(shell uname 
-r)/kernel/drivers/video/broadcom
-
- clean:
-       rm -f *.map *.list *.o *.ko crystalhd.mod.c $(OBJ)
diff --git a/source/xmultimedia/crystalhd/kernel-module-udev.patch 
b/source/xmultimedia/crystalhd/kernel-module-udev.patch
deleted file mode 100644
index f0e2cfd..0000000
--- a/source/xmultimedia/crystalhd/kernel-module-udev.patch
+++ /dev/null
@@ -1,6 +0,0 @@
-diff -ur a/driver/linux/20-crystalhd.rules b/driver/linux/20-crystalhd.rules
---- a/driver/linux/20-crystalhd.rules  2011-03-14 15:02:54.000000000 -0500
-+++ b/driver/linux/20-crystalhd.rules  2012-05-23 12:18:07.496349951 -0500
-@@ -1 +1 @@
--KERNEL=="crystalhd", MODE="0666"
-+KERNEL=="crystalhd", MODE="0660", GROUP="video"
diff --git a/source/xmultimedia/crystalhd/kernel4x.patch 
b/source/xmultimedia/crystalhd/kernel4x.patch
deleted file mode 100644
index e28ce5c..0000000
--- a/source/xmultimedia/crystalhd/kernel4x.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 536003a1623e9bae8f2eca2d0a6fef66bea3a7fb Mon Sep 17 00:00:00 2001
-From: marlemion <[email protected]>
-Date: Tue, 1 Sep 2015 19:14:49 +0200
-Subject: [PATCH] Making it compile for kernel >4.0
-
----
- driver/linux/crystalhd_lnx.c | 14 --------------
- 1 file changed, 14 deletions(-)
-
-diff --git a/driver/linux/crystalhd_lnx.c b/driver/linux/crystalhd_lnx.c
-index ea5587a..ceb5c18 100644
---- a/driver/linux/crystalhd_lnx.c
-+++ b/driver/linux/crystalhd_lnx.c
-@@ -537,13 +537,6 @@ static int __init chd_pci_reserve_mem(struct 
crystalhd_adp *pinfo)
-       dev_dbg(dev, "bar0:0x%x-0x%08x  bar2:0x%x-0x%08x\n",
-               bar0, i2o_len, bar2, mem_len);
-
--      /* bar-0 */
--      rc = check_mem_region(bar0, i2o_len);
--      if (rc) {
--              printk(KERN_ERR "No valid mem region...\n");
--              return -ENOMEM;
--      }
--
-       pinfo->i2o_addr = ioremap_nocache(bar0, i2o_len);
-       if (!pinfo->i2o_addr) {
-               printk(KERN_ERR "Failed to remap i2o region...\n");
-@@ -553,13 +546,6 @@ static int __init chd_pci_reserve_mem(struct 
crystalhd_adp *pinfo)
-       pinfo->pci_i2o_start = bar0;
-       pinfo->pci_i2o_len   = i2o_len;
-
--      /* bar-2 */
--      rc = check_mem_region(bar2, mem_len);
--      if (rc) {
--              printk(KERN_ERR "No valid mem region...\n");
--              return -ENOMEM;
--      }
--
-       pinfo->mem_addr = ioremap_nocache(bar2, mem_len);
-       if (!pinfo->mem_addr) {
-               printk(KERN_ERR "Failed to remap mem region...\n");
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to