Patchwork [5/7] gst-plugins-good: fix 3.10 libc-headers build failure

login
register
mail settings
Submitter Bruce Ashfield
Date Aug. 25, 2013, 5:16 a.m.
Message ID <03d9de265ca50b2182016c8335193e2f2302698a.1377405083.git.bruce.ashfield@windriver.com>
Download mbox | patch
Permalink /patch/56573/
State New
Headers show

Comments

Bruce Ashfield - Aug. 25, 2013, 5:16 a.m.
kernel commit 24b9f5017 [[media] V4L: Remove deprecated image centering controls]
removed the definitions of V4L2_CID_HCENTER and V4L2_CID_VCENTER after three
years of depreciation.

The ioctl values are still free, and the case statement which processess them
in v4l2 userspace falls through to the proper replacement. So in the short
term, we can explicitly define them using the old absolute values, and everything
will work.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
 ...define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch |   45 ++++++++++++++++++++
 .../gstreamer/gst-plugins-good_0.10.31.bb          |    1 +
 2 files changed, 46 insertions(+)
 create mode 100644 meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch
Jonathan Liu - Aug. 25, 2013, 6:36 a.m.
On 25/08/2013 3:16 PM, Bruce Ashfield wrote:
> kernel commit 24b9f5017 [[media] V4L: Remove deprecated image centering controls]
> removed the definitions of V4L2_CID_HCENTER and V4L2_CID_VCENTER after three
> years of depreciation.
>
> The ioctl values are still free, and the case statement which processess them
> in v4l2 userspace falls through to the proper replacement. So in the short
> term, we can explicitly define them using the old absolute values, and everything
> will work.
>
> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
> ---
>   ...define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch |   45 ++++++++++++++++++++
>   .../gstreamer/gst-plugins-good_0.10.31.bb          |    1 +
>   2 files changed, 46 insertions(+)
>   create mode 100644 meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch
>
> diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch b/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch
> new file mode 100644
> index 0000000..bd0de58
> --- /dev/null
> +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch
> @@ -0,0 +1,45 @@
> +From ccb01de8096a32d86d47b0d92ec3416c57ee4d25 Mon Sep 17 00:00:00 2001
> +From: Bruce Ashfield <bruce.ashfield@windriver.com>
> +Date: Thu, 22 Aug 2013 12:15:54 -0400
> +Subject: [PATCH] v4l2_calls: define V4L2_CID_HCENTER and V4L2_CID_VCENTER
> +
> +kernel commit 24b9f5017 [[media] V4L: Remove deprecated image centering controls]
> +removed the definitions of V4L2_CID_HCENTER and V4L2_CID_VCENTER after three
> +years of depreciation.
> +
> +The ioctl values are still free, and the case statement which processess them
> +in v4l2 userspace falls through to the proper replacement. So in the short
> +term, we can explicitly define them using the old absolute values, and everything
> +will work.
Missing Upstream-Status.

Regards,
Jonathan
> +
> +Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
> +---
> + sys/v4l2/v4l2_calls.c |    9 +++++++--
> + 1 file changed, 7 insertions(+), 2 deletions(-)
> +
> +diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c
> +index 309bfb6..3c64544 100644
> +--- a/sys/v4l2/v4l2_calls.c
> ++++ b/sys/v4l2/v4l2_calls.c
> +@@ -54,11 +54,16 @@
> + #include "gst/gst-i18n-plugin.h"
> +
> + /* Those are ioctl calls */
> ++
> ++/* V4L2_CID_HCENTER has been removed from the mainline kernel, but
> ++   the ioctl space is still present. Since these values fall through
> ++   to their replacement, it is safe (in the short term) to re-use the
> ++    old values explictily */
> + #ifndef V4L2_CID_HCENTER
> +-#define V4L2_CID_HCENTER V4L2_CID_HCENTER_DEPRECATED
> ++#define V4L2_CID_HCENTER V4L2_CID_BASE+22
> + #endif
> + #ifndef V4L2_CID_VCENTER
> +-#define V4L2_CID_VCENTER V4L2_CID_VCENTER_DEPRECATED
> ++#define V4L2_CID_VCENTER V4L2_CID_BASE+23
> + #endif
> +
> + GST_DEBUG_CATEGORY_EXTERN (v4l2_debug);
> +--
> +1.7.10.4
> +
> diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb
> index daffcf1..d18e155 100644
> --- a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb
> +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb
> @@ -23,6 +23,7 @@ DEPENDS += "gst-plugins-base gconf cairo libpng zlib libid3tag flac \
>   inherit gettext gconf
>   
>   SRC_URI += "file://0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch"
> +SRC_URI += "file://0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch"
>   
>   EXTRA_OECONF += "--disable-aalib --disable-esd --disable-shout2 --disable-libcaca --disable-hal --without-check \
>                    --disable-examples --disable-taglib"
Bruce Ashfield - Aug. 25, 2013, 2:20 p.m.
On 13-08-25 2:36 AM, Jonathan Liu wrote:
> On 25/08/2013 3:16 PM, Bruce Ashfield wrote:
>> kernel commit 24b9f5017 [[media] V4L: Remove deprecated image
>> centering controls]
>> removed the definitions of V4L2_CID_HCENTER and V4L2_CID_VCENTER after
>> three
>> years of depreciation.
>>
>> The ioctl values are still free, and the case statement which
>> processess them
>> in v4l2 userspace falls through to the proper replacement. So in the
>> short
>> term, we can explicitly define them using the old absolute values, and
>> everything
>> will work.
>>
>> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
>> ---
>>   ...define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch |   45
>> ++++++++++++++++++++
>>   .../gstreamer/gst-plugins-good_0.10.31.bb          |    1 +
>>   2 files changed, 46 insertions(+)
>>   create mode 100644
>> meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch
>>
>>
>> diff --git
>> a/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch
>> b/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch
>>
>> new file mode 100644
>> index 0000000..bd0de58
>> --- /dev/null
>> +++
>> b/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch
>>
>> @@ -0,0 +1,45 @@
>> +From ccb01de8096a32d86d47b0d92ec3416c57ee4d25 Mon Sep 17 00:00:00 2001
>> +From: Bruce Ashfield <bruce.ashfield@windriver.com>
>> +Date: Thu, 22 Aug 2013 12:15:54 -0400
>> +Subject: [PATCH] v4l2_calls: define V4L2_CID_HCENTER and
>> V4L2_CID_VCENTER
>> +
>> +kernel commit 24b9f5017 [[media] V4L: Remove deprecated image
>> centering controls]
>> +removed the definitions of V4L2_CID_HCENTER and V4L2_CID_VCENTER
>> after three
>> +years of depreciation.
>> +
>> +The ioctl values are still free, and the case statement which
>> processess them
>> +in v4l2 userspace falls through to the proper replacement. So in the
>> short
>> +term, we can explicitly define them using the old absolute values,
>> and everything
>> +will work.
> Missing Upstream-Status.

The patch is RFC, and I'm really doing in on behalf of khem .. so 
honestly, I knew this wasn't in the patch and it wasn't on the top of
my list when sending it out at 1:30 AM. I don't use them in kernel
changes, so they aren't in my typical workflow.

Saul or Richard can add the status if they take the patch.

Cheers,

Bruce

>
> Regards,
> Jonathan
>> +
>> +Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
>> +---
>> + sys/v4l2/v4l2_calls.c |    9 +++++++--
>> + 1 file changed, 7 insertions(+), 2 deletions(-)
>> +
>> +diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c
>> +index 309bfb6..3c64544 100644
>> +--- a/sys/v4l2/v4l2_calls.c
>> ++++ b/sys/v4l2/v4l2_calls.c
>> +@@ -54,11 +54,16 @@
>> + #include "gst/gst-i18n-plugin.h"
>> +
>> + /* Those are ioctl calls */
>> ++
>> ++/* V4L2_CID_HCENTER has been removed from the mainline kernel, but
>> ++   the ioctl space is still present. Since these values fall through
>> ++   to their replacement, it is safe (in the short term) to re-use the
>> ++    old values explictily */
>> + #ifndef V4L2_CID_HCENTER
>> +-#define V4L2_CID_HCENTER V4L2_CID_HCENTER_DEPRECATED
>> ++#define V4L2_CID_HCENTER V4L2_CID_BASE+22
>> + #endif
>> + #ifndef V4L2_CID_VCENTER
>> +-#define V4L2_CID_VCENTER V4L2_CID_VCENTER_DEPRECATED
>> ++#define V4L2_CID_VCENTER V4L2_CID_BASE+23
>> + #endif
>> +
>> + GST_DEBUG_CATEGORY_EXTERN (v4l2_debug);
>> +--
>> +1.7.10.4
>> +
>> diff --git
>> a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb
>> b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb
>> index daffcf1..d18e155 100644
>> --- a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb
>> +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb
>> @@ -23,6 +23,7 @@ DEPENDS += "gst-plugins-base gconf cairo libpng zlib
>> libid3tag flac \
>>   inherit gettext gconf
>>   SRC_URI +=
>> "file://0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch"
>> +SRC_URI +=
>> "file://0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch"
>>   EXTRA_OECONF += "--disable-aalib --disable-esd --disable-shout2
>> --disable-libcaca --disable-hal --without-check \
>>                    --disable-examples --disable-taglib"
>

Patch

diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch b/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch
new file mode 100644
index 0000000..bd0de58
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch
@@ -0,0 +1,45 @@ 
+From ccb01de8096a32d86d47b0d92ec3416c57ee4d25 Mon Sep 17 00:00:00 2001
+From: Bruce Ashfield <bruce.ashfield@windriver.com>
+Date: Thu, 22 Aug 2013 12:15:54 -0400
+Subject: [PATCH] v4l2_calls: define V4L2_CID_HCENTER and V4L2_CID_VCENTER
+
+kernel commit 24b9f5017 [[media] V4L: Remove deprecated image centering controls]
+removed the definitions of V4L2_CID_HCENTER and V4L2_CID_VCENTER after three
+years of depreciation.
+
+The ioctl values are still free, and the case statement which processess them
+in v4l2 userspace falls through to the proper replacement. So in the short
+term, we can explicitly define them using the old absolute values, and everything
+will work.
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
+---
+ sys/v4l2/v4l2_calls.c |    9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c
+index 309bfb6..3c64544 100644
+--- a/sys/v4l2/v4l2_calls.c
++++ b/sys/v4l2/v4l2_calls.c
+@@ -54,11 +54,16 @@
+ #include "gst/gst-i18n-plugin.h"
+ 
+ /* Those are ioctl calls */
++
++/* V4L2_CID_HCENTER has been removed from the mainline kernel, but
++   the ioctl space is still present. Since these values fall through
++   to their replacement, it is safe (in the short term) to re-use the
++    old values explictily */
+ #ifndef V4L2_CID_HCENTER
+-#define V4L2_CID_HCENTER V4L2_CID_HCENTER_DEPRECATED
++#define V4L2_CID_HCENTER V4L2_CID_BASE+22
+ #endif
+ #ifndef V4L2_CID_VCENTER
+-#define V4L2_CID_VCENTER V4L2_CID_VCENTER_DEPRECATED
++#define V4L2_CID_VCENTER V4L2_CID_BASE+23
+ #endif
+ 
+ GST_DEBUG_CATEGORY_EXTERN (v4l2_debug);
+-- 
+1.7.10.4
+
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb
index daffcf1..d18e155 100644
--- a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb
@@ -23,6 +23,7 @@  DEPENDS += "gst-plugins-base gconf cairo libpng zlib libid3tag flac \
 inherit gettext gconf
 
 SRC_URI += "file://0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch"
+SRC_URI += "file://0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch"
 
 EXTRA_OECONF += "--disable-aalib --disable-esd --disable-shout2 --disable-libcaca --disable-hal --without-check \
                  --disable-examples --disable-taglib"