Speedup camerabin pipeline element creation (rhbz#797188, gnome#677698)
- Re-enable building of -extras package accidentally disabled by the spec-file re-organization done in 0.10.23-3 - Add teletextdec and musicbrainz plugins to -extras - Minor spec-file cleanups
This commit is contained in:
parent
27af02f648
commit
ef2d6c3f66
26
0001-gstcamerabin-Fix-spelling-error-in-debug-logging.patch
Normal file
26
0001-gstcamerabin-Fix-spelling-error-in-debug-logging.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
From 62c58f011e7069aa45e980930cdfa2d937920a77 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
Date: Fri, 8 Jun 2012 10:57:54 +0200
|
||||||
|
Subject: [PATCH 1/4] gstcamerabin: Fix spelling error in debug logging
|
||||||
|
|
||||||
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
---
|
||||||
|
gst/camerabin/gstcamerabin.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/gst/camerabin/gstcamerabin.c b/gst/camerabin/gstcamerabin.c
|
||||||
|
index a17e02c..8a36970 100644
|
||||||
|
--- a/gst/camerabin/gstcamerabin.c
|
||||||
|
+++ b/gst/camerabin/gstcamerabin.c
|
||||||
|
@@ -1517,7 +1517,7 @@ gst_camerabin_set_capsfilter_caps (GstCameraBin * camera, GstCaps * new_caps)
|
||||||
|
if (camera->src_zoom_filter)
|
||||||
|
g_object_set (G_OBJECT (camera->src_zoom_filter), "caps", new_caps, NULL);
|
||||||
|
gst_camerabin_update_aspect_filter (camera, new_caps);
|
||||||
|
- GST_INFO_OBJECT (camera, "udpated");
|
||||||
|
+ GST_INFO_OBJECT (camera, "updated");
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
--
|
||||||
|
1.7.10.2
|
||||||
|
|
121
0002-camerabin-Add-a-camerabin_create_view_finder_caps-he.patch
Normal file
121
0002-camerabin-Add-a-camerabin_create_view_finder_caps-he.patch
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
From a07a1138a8cf8ad1029845dfe4cfdf5a0a36e670 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
Date: Fri, 8 Jun 2012 11:31:05 +0200
|
||||||
|
Subject: [PATCH 2/4] camerabin: Add a camerabin_create_view_finder_caps()
|
||||||
|
helper function
|
||||||
|
|
||||||
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
---
|
||||||
|
gst/camerabin/gstcamerabin.c | 72 +++++++++++++++++++++++-------------------
|
||||||
|
1 file changed, 40 insertions(+), 32 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gst/camerabin/gstcamerabin.c b/gst/camerabin/gstcamerabin.c
|
||||||
|
index 8a36970..3f87ff9 100644
|
||||||
|
--- a/gst/camerabin/gstcamerabin.c
|
||||||
|
+++ b/gst/camerabin/gstcamerabin.c
|
||||||
|
@@ -505,22 +505,15 @@ GST_BOILERPLATE_FULL (GstCameraBin, gst_camerabin, GstPipeline,
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
- * camerabin_setup_src_elements:
|
||||||
|
+ * camerabin_create_view_finder_caps:
|
||||||
|
* @camera: camerabin object
|
||||||
|
*
|
||||||
|
- * This function updates camerabin capsfilters according
|
||||||
|
- * to fps, resolution and zoom that have been configured
|
||||||
|
- * to camerabin.
|
||||||
|
+ * This function creates new view_finder_caps, according to
|
||||||
|
+ * fps and resolution that have been configured to camerabin.
|
||||||
|
*/
|
||||||
|
-static void
|
||||||
|
-camerabin_setup_src_elements (GstCameraBin * camera)
|
||||||
|
+static GstCaps *camerabin_create_view_finder_caps (GstCameraBin * camera)
|
||||||
|
{
|
||||||
|
GstStructure *st;
|
||||||
|
- GstCaps *new_caps;
|
||||||
|
- gboolean detect_framerate = FALSE;
|
||||||
|
-
|
||||||
|
- /* clear video update status */
|
||||||
|
- camera->video_capture_caps_update = FALSE;
|
||||||
|
|
||||||
|
if (!camera->view_finder_caps) {
|
||||||
|
st = gst_structure_from_string (CAMERABIN_DEFAULT_VF_CAPS, NULL);
|
||||||
|
@@ -529,39 +522,54 @@ camerabin_setup_src_elements (GstCameraBin * camera)
|
||||||
|
0));
|
||||||
|
}
|
||||||
|
|
||||||
|
- gst_camerabin_monitor_video_source_properties (camera);
|
||||||
|
-
|
||||||
|
if (camera->app_width > 0 && camera->app_height > 0) {
|
||||||
|
gst_structure_set (st,
|
||||||
|
"width", G_TYPE_INT, camera->app_width,
|
||||||
|
"height", G_TYPE_INT, camera->app_height, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (camera->app_fps_n > 0 && camera->app_fps_d > 0) {
|
||||||
|
- if (camera->night_mode) {
|
||||||
|
- GST_INFO_OBJECT (camera, "night mode, lowest allowed fps will be forced");
|
||||||
|
- camera->pre_night_fps_n = camera->app_fps_n;
|
||||||
|
- camera->pre_night_fps_d = camera->app_fps_d;
|
||||||
|
- detect_framerate = TRUE;
|
||||||
|
- } else {
|
||||||
|
- gst_structure_set (st,
|
||||||
|
- "framerate", GST_TYPE_FRACTION, camera->app_fps_n,
|
||||||
|
- camera->app_fps_d, NULL);
|
||||||
|
- new_caps = gst_caps_new_full (st, NULL);
|
||||||
|
- }
|
||||||
|
+ if (!camera->night_mode && camera->app_fps_n > 0 && camera->app_fps_d > 0) {
|
||||||
|
+ gst_structure_set (st,
|
||||||
|
+ "framerate", GST_TYPE_FRACTION, camera->app_fps_n,
|
||||||
|
+ camera->app_fps_d, NULL);
|
||||||
|
} else {
|
||||||
|
- GST_DEBUG_OBJECT (camera, "no framerate specified");
|
||||||
|
- detect_framerate = TRUE;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if (detect_framerate) {
|
||||||
|
- GST_DEBUG_OBJECT (camera, "detecting allowed framerate");
|
||||||
|
/* Remove old framerate if any */
|
||||||
|
if (gst_structure_has_field (st, "framerate")) {
|
||||||
|
gst_structure_remove_field (st, "framerate");
|
||||||
|
}
|
||||||
|
- new_caps = gst_caps_new_full (st, NULL);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /* The returned caps take ownership of the structure st */
|
||||||
|
+ return gst_caps_new_full (st, NULL);
|
||||||
|
+}
|
||||||
|
|
||||||
|
+/*
|
||||||
|
+ * camerabin_setup_src_elements:
|
||||||
|
+ * @camera: camerabin object
|
||||||
|
+ *
|
||||||
|
+ * This function updates camerabin capsfilters according
|
||||||
|
+ * to fps, resolution and zoom that have been configured
|
||||||
|
+ * to camerabin.
|
||||||
|
+ */
|
||||||
|
+static void
|
||||||
|
+camerabin_setup_src_elements (GstCameraBin * camera)
|
||||||
|
+{
|
||||||
|
+ GstCaps *new_caps;
|
||||||
|
+
|
||||||
|
+ /* clear video update status */
|
||||||
|
+ camera->video_capture_caps_update = FALSE;
|
||||||
|
+
|
||||||
|
+ gst_camerabin_monitor_video_source_properties (camera);
|
||||||
|
+
|
||||||
|
+ new_caps = camerabin_create_view_finder_caps (camera);
|
||||||
|
+
|
||||||
|
+ if (camera->night_mode || camera->app_fps_n <= 0 || camera->app_fps_d <= 0) {
|
||||||
|
+ if (camera->night_mode) {
|
||||||
|
+ GST_INFO_OBJECT (camera, "night mode, lowest allowed fps will be forced");
|
||||||
|
+ camera->pre_night_fps_n = camera->app_fps_n;
|
||||||
|
+ camera->pre_night_fps_d = camera->app_fps_d;
|
||||||
|
+ }
|
||||||
|
+ GST_DEBUG_OBJECT (camera, "detecting allowed framerate");
|
||||||
|
/* Set allowed framerate for the resolution */
|
||||||
|
gst_camerabin_set_allowed_framerate (camera, new_caps);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.7.10.2
|
||||||
|
|
@ -0,0 +1,97 @@
|
|||||||
|
From 1ef6977002ef18631f81646f198ef6a667ef8f73 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
Date: Fri, 8 Jun 2012 11:41:17 +0200
|
||||||
|
Subject: [PATCH 3/4] camerabin: Add
|
||||||
|
gst_camerabin_get_video_source_properties() helper
|
||||||
|
function
|
||||||
|
|
||||||
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
---
|
||||||
|
gst/camerabin/gstcamerabin.c | 31 +++++++++++++++++++++++++------
|
||||||
|
1 file changed, 25 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gst/camerabin/gstcamerabin.c b/gst/camerabin/gstcamerabin.c
|
||||||
|
index 3f87ff9..a36d5b5 100644
|
||||||
|
--- a/gst/camerabin/gstcamerabin.c
|
||||||
|
+++ b/gst/camerabin/gstcamerabin.c
|
||||||
|
@@ -347,6 +347,7 @@ static void gst_camerabin_scene_mode_notify_cb (GObject * video_source,
|
||||||
|
GParamSpec * pspec, gpointer user_data);
|
||||||
|
static void gst_camerabin_zoom_notify_cb (GObject * video_source,
|
||||||
|
GParamSpec * pspec, gpointer user_data);
|
||||||
|
+static void gst_camerabin_get_video_source_properties (GstCameraBin * camera);
|
||||||
|
static void gst_camerabin_monitor_video_source_properties (GstCameraBin *
|
||||||
|
camera);
|
||||||
|
static void gst_camerabin_configure_format (GstCameraBin * camera,
|
||||||
|
@@ -528,6 +529,8 @@ static GstCaps *camerabin_create_view_finder_caps (GstCameraBin * camera)
|
||||||
|
"height", G_TYPE_INT, camera->app_height, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ gst_camerabin_get_video_source_properties (camera);
|
||||||
|
+
|
||||||
|
if (!camera->night_mode && camera->app_fps_n > 0 && camera->app_fps_d > 0) {
|
||||||
|
gst_structure_set (st,
|
||||||
|
"framerate", GST_TYPE_FRACTION, camera->app_fps_n,
|
||||||
|
@@ -559,8 +562,6 @@ camerabin_setup_src_elements (GstCameraBin * camera)
|
||||||
|
/* clear video update status */
|
||||||
|
camera->video_capture_caps_update = FALSE;
|
||||||
|
|
||||||
|
- gst_camerabin_monitor_video_source_properties (camera);
|
||||||
|
-
|
||||||
|
new_caps = camerabin_create_view_finder_caps (camera);
|
||||||
|
|
||||||
|
if (camera->night_mode || camera->app_fps_n <= 0 || camera->app_fps_d <= 0) {
|
||||||
|
@@ -574,6 +575,8 @@ camerabin_setup_src_elements (GstCameraBin * camera)
|
||||||
|
gst_camerabin_set_allowed_framerate (camera, new_caps);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ gst_camerabin_monitor_video_source_properties (camera);
|
||||||
|
+
|
||||||
|
/* Set default zoom method */
|
||||||
|
if (camera->src_zoom_scale) {
|
||||||
|
g_object_set (camera->src_zoom_scale, "method",
|
||||||
|
@@ -2660,6 +2663,26 @@ gst_camerabin_zoom_notify_cb (GObject * video_source, GParamSpec * pspec,
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
+ * gst_camerabin_monitor_get_video_source_properties:
|
||||||
|
+ * @camera: camerabin object
|
||||||
|
+ *
|
||||||
|
+ * Get properties from video source photography interface property scene mode.
|
||||||
|
+ *
|
||||||
|
+ */
|
||||||
|
+static void
|
||||||
|
+gst_camerabin_get_video_source_properties (GstCameraBin * camera)
|
||||||
|
+{
|
||||||
|
+ if (GST_IS_ELEMENT (camera->src_vid_src) &&
|
||||||
|
+ gst_element_implements_interface (camera->src_vid_src,
|
||||||
|
+ GST_TYPE_PHOTOGRAPHY)) {
|
||||||
|
+ gint scene_mode;
|
||||||
|
+ g_object_get (G_OBJECT (camera->src_vid_src), "scene-mode", &scene_mode,
|
||||||
|
+ NULL);
|
||||||
|
+ camera->night_mode = scene_mode == GST_PHOTOGRAPHY_SCENE_MODE_NIGHT;
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
* gst_camerabin_monitor_video_source_properties:
|
||||||
|
* @camera: camerabin object
|
||||||
|
*
|
||||||
|
@@ -2674,15 +2697,11 @@ gst_camerabin_monitor_video_source_properties (GstCameraBin * camera)
|
||||||
|
if (GST_IS_ELEMENT (camera->src_vid_src) &&
|
||||||
|
gst_element_implements_interface (camera->src_vid_src,
|
||||||
|
GST_TYPE_PHOTOGRAPHY)) {
|
||||||
|
- gint scene_mode;
|
||||||
|
GST_DEBUG_OBJECT (camera,
|
||||||
|
"connecting to %" GST_PTR_FORMAT " - notify::scene-mode",
|
||||||
|
camera->src_vid_src);
|
||||||
|
g_signal_connect (G_OBJECT (camera->src_vid_src), "notify::scene-mode",
|
||||||
|
(GCallback) gst_camerabin_scene_mode_notify_cb, camera);
|
||||||
|
- g_object_get (G_OBJECT (camera->src_vid_src), "scene-mode", &scene_mode,
|
||||||
|
- NULL);
|
||||||
|
- camera->night_mode = scene_mode == GST_PHOTOGRAPHY_SCENE_MODE_NIGHT;
|
||||||
|
|
||||||
|
GST_DEBUG_OBJECT (camera,
|
||||||
|
"connecting to %" GST_PTR_FORMAT " - notify::zoom",
|
||||||
|
--
|
||||||
|
1.7.10.2
|
||||||
|
|
@ -0,0 +1,74 @@
|
|||||||
|
From 9ea00bf5e7043cab7da93abcb345b2f5c65285de Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
Date: Fri, 8 Jun 2012 13:39:37 +0200
|
||||||
|
Subject: [PATCH 4/4] camerabin: Set src_filter and zoom_src_filter caps while
|
||||||
|
creating the pipeline
|
||||||
|
|
||||||
|
We (Fedora) have been receiving bug reports for cheese, about cheese
|
||||||
|
taking 30-60 seconds before showing video, and pausing the same amount of
|
||||||
|
time when changing the resolution for example.
|
||||||
|
|
||||||
|
I've managed to reproduce this with a Logitech Webcam Pro 9000, which
|
||||||
|
supports a large list of resolutions at about 5 different framerates /
|
||||||
|
resolution, in my case with an unmodified gst-plugins-bad-0.10.23, the
|
||||||
|
camerabin_create_src_elements function takes approx 7 seconds.
|
||||||
|
|
||||||
|
Running under gdb and interrupting the execution during these 7 seconds
|
||||||
|
consistenly points to gst_caps_intersect_full.
|
||||||
|
|
||||||
|
Part of the problem is cheese setting the
|
||||||
|
GST_CAMERABIN_FLAG_SOURCE_COLOR_CONVERSION flag, which means that after
|
||||||
|
the first ffmpegcsp element in the pipe the total number of caps is
|
||||||
|
x resolutions * y framerates * z formats, where both x (due to the camera)
|
||||||
|
and z (due to ffmpegcsp) being large. intersecting this with the capabilities
|
||||||
|
of other parts of the pipeline simply leads to an explosion of combinations
|
||||||
|
which pegs my core i5 CPU @3.1GHz for 7 seconds!
|
||||||
|
|
||||||
|
This patch fixes this issue by setting up the capsfilter elements in the pipe
|
||||||
|
with an initial filter, greatly reducing the number of combinations when doing
|
||||||
|
cap intersecting.
|
||||||
|
|
||||||
|
This reduces the time spend in camerabin_create_src_elements from approx 7
|
||||||
|
to 0.2 seconds. And when patching cheese to use the default camerabin flags,
|
||||||
|
(so removing the first ffmpegcsp element) from approx 0.7 to 0.04 seconds
|
||||||
|
|
||||||
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
---
|
||||||
|
gst/camerabin/gstcamerabin.c | 7 +++++++
|
||||||
|
1 file changed, 7 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/gst/camerabin/gstcamerabin.c b/gst/camerabin/gstcamerabin.c
|
||||||
|
index a36d5b5..6d7d30f 100644
|
||||||
|
--- a/gst/camerabin/gstcamerabin.c
|
||||||
|
+++ b/gst/camerabin/gstcamerabin.c
|
||||||
|
@@ -606,6 +606,7 @@ camerabin_create_src_elements (GstCameraBin * camera)
|
||||||
|
gboolean ret = FALSE;
|
||||||
|
GstBin *cbin = GST_BIN (camera);
|
||||||
|
gchar *driver_name = NULL;
|
||||||
|
+ GstCaps *filter_caps;
|
||||||
|
|
||||||
|
/* Add application set or default video src element */
|
||||||
|
if (!(camera->src_vid_src = gst_camerabin_setup_default_element (cbin,
|
||||||
|
@@ -625,6 +626,10 @@ camerabin_create_src_elements (GstCameraBin * camera)
|
||||||
|
gst_camerabin_create_and_add_element (cbin, "capsfilter",
|
||||||
|
"src-capsfilter")))
|
||||||
|
goto done;
|
||||||
|
+
|
||||||
|
+ filter_caps = camerabin_create_view_finder_caps (camera);
|
||||||
|
+ g_object_set (G_OBJECT (camera->src_filter), "caps", filter_caps, NULL);
|
||||||
|
+
|
||||||
|
if (camera->flags & GST_CAMERABIN_FLAG_SOURCE_RESIZE) {
|
||||||
|
if (!(camera->src_zoom_crop =
|
||||||
|
gst_camerabin_create_and_add_element (cbin, "videocrop",
|
||||||
|
@@ -638,6 +643,8 @@ camerabin_create_src_elements (GstCameraBin * camera)
|
||||||
|
gst_camerabin_create_and_add_element (cbin, "capsfilter",
|
||||||
|
"src-resize-capsfilter")))
|
||||||
|
goto done;
|
||||||
|
+ g_object_set (G_OBJECT (camera->src_zoom_filter), "caps", filter_caps,
|
||||||
|
+ NULL);
|
||||||
|
}
|
||||||
|
if (camera->app_video_filter) {
|
||||||
|
if (!gst_camerabin_add_element (cbin, camera->app_video_filter)) {
|
||||||
|
--
|
||||||
|
1.7.10.2
|
||||||
|
|
@ -6,15 +6,15 @@
|
|||||||
|
|
||||||
# Turn of extras package on RHEL.
|
# Turn of extras package on RHEL.
|
||||||
%if ! 0%{?rhel}
|
%if ! 0%{?rhel}
|
||||||
%bcond_with extras
|
|
||||||
%else
|
|
||||||
%bcond_without extras
|
%bcond_without extras
|
||||||
|
%else
|
||||||
|
%bcond_with extras
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Summary: GStreamer streaming media framework "bad" plug-ins
|
Summary: GStreamer streaming media framework "bad" plug-ins
|
||||||
Name: gstreamer-plugins-bad-free
|
Name: gstreamer-plugins-bad-free
|
||||||
Version: 0.10.23
|
Version: 0.10.23
|
||||||
Release: 5%{?dist}
|
Release: 6%{?dist}
|
||||||
# The freeze and nfs plugins are LGPLv2 (only)
|
# The freeze and nfs plugins are LGPLv2 (only)
|
||||||
License: LGPLv2+ and LGPLv2
|
License: LGPLv2+ and LGPLv2
|
||||||
Group: Applications/Multimedia
|
Group: Applications/Multimedia
|
||||||
@ -26,7 +26,11 @@ Source: gst-plugins-bad-free-%{version}.tar.xz
|
|||||||
Source1: gst-p-bad-cleanup.sh
|
Source1: gst-p-bad-cleanup.sh
|
||||||
# Based on upstream 04909e2c50e68
|
# Based on upstream 04909e2c50e68
|
||||||
Patch0: vp8enc-bitrate-fix.patch
|
Patch0: vp8enc-bitrate-fix.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
# https://bugzilla.gnome.org/show_bug.cgi?id=677698 / rhbz#797188
|
||||||
|
Patch1: 0001-gstcamerabin-Fix-spelling-error-in-debug-logging.patch
|
||||||
|
Patch2: 0002-camerabin-Add-a-camerabin_create_view_finder_caps-he.patch
|
||||||
|
Patch3: 0003-camerabin-Add-gst_camerabin_get_video_source_propert.patch
|
||||||
|
Patch4: 0004-camerabin-Set-src_filter-and-zoom_src_filter-caps-wh.patch
|
||||||
|
|
||||||
Requires: %{gstreamer} >= %{gst_minver}
|
Requires: %{gstreamer} >= %{gst_minver}
|
||||||
BuildRequires: %{gstreamer}-devel >= %{gst_minver}
|
BuildRequires: %{gstreamer}-devel >= %{gst_minver}
|
||||||
@ -69,6 +73,7 @@ BuildRequires: libdc1394-devel
|
|||||||
%endif
|
%endif
|
||||||
BuildRequires: libkate-devel
|
BuildRequires: libkate-devel
|
||||||
BuildRequires: libmodplug-devel
|
BuildRequires: libmodplug-devel
|
||||||
|
BuildRequires: libmusicbrainz-devel
|
||||||
BuildRequires: libtimidity-devel
|
BuildRequires: libtimidity-devel
|
||||||
BuildRequires: libvdpau-devel
|
BuildRequires: libvdpau-devel
|
||||||
BuildRequires: opencv-devel
|
BuildRequires: opencv-devel
|
||||||
@ -78,6 +83,7 @@ BuildRequires: slv2-devel
|
|||||||
BuildRequires: soundtouch-devel
|
BuildRequires: soundtouch-devel
|
||||||
BuildRequires: wildmidi-devel
|
BuildRequires: wildmidi-devel
|
||||||
BuildRequires: zbar-devel
|
BuildRequires: zbar-devel
|
||||||
|
BuildRequires: zvbi-devel
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Obsoletes: gstreamer-plugins-flumpegdemux < 0.10.15-9
|
Obsoletes: gstreamer-plugins-flumpegdemux < 0.10.15-9
|
||||||
@ -116,6 +122,7 @@ sources (mythtv), sinks (fbdev) and effects (pitch) which are not used
|
|||||||
very much and require additional libraries to be installed.
|
very much and require additional libraries to be installed.
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development files for the GStreamer media framework "bad" plug-ins
|
Summary: Development files for the GStreamer media framework "bad" plug-ins
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
@ -150,30 +157,32 @@ aren't tested well enough, or the code is not of good enough quality.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n gst-plugins-bad-%{version}
|
%setup -q -n gst-plugins-bad-%{version}
|
||||||
%patch0 -p1 -b .vp8enc_bitrate
|
%patch0 -p1 -b .vp8enc_bitrate
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure
|
sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure \
|
%configure \
|
||||||
--with-package-name="Fedora gstreamer-plugins-bad package" \
|
--with-package-name="Fedora gstreamer-plugins-bad package" \
|
||||||
--with-package-origin="http://download.fedora.redhat.com/fedora" \
|
--with-package-origin="http://download.fedora.redhat.com/fedora" \
|
||||||
%{!?with_extras:--disable-fbdev --disable-decklink --disable-linsys} \
|
%{!?with_extras:--disable-fbdev --disable-decklink --disable-linsys} \
|
||||||
--enable-debug --disable-static --enable-gtk-doc --enable-experimental \
|
--enable-debug --disable-static --enable-gtk-doc --enable-experimental \
|
||||||
--disable-divx
|
--disable-divx --disable-dts --disable-faac --disable-faad --disable-nas \
|
||||||
|
--disable-mimic --disable-libmms --disable-mpeg2enc --disable-mplex \
|
||||||
|
--disable-neon --disable-openal --disable-rtmp --disable-xvid
|
||||||
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%{__make} %{?_smp_mflags}
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%{__rm} -rf %{buildroot}
|
make install DESTDIR="$RPM_BUILD_ROOT"
|
||||||
%{__make} install DESTDIR="%{buildroot}"
|
|
||||||
%find_lang gst-plugins-bad-%{majorminor}
|
%find_lang gst-plugins-bad-%{majorminor}
|
||||||
|
|
||||||
# Clean out files that should not be part of the rpm.
|
# Clean out files that should not be part of the rpm.
|
||||||
%{__rm} -f %{buildroot}%{_libdir}/gstreamer-%{majorminor}/*.la
|
rm $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/*.la
|
||||||
%{__rm} -f %{buildroot}%{_libdir}/*.la
|
rm $RPM_BUILD_ROOT%{_libdir}/*.la
|
||||||
|
|
||||||
|
|
||||||
%clean
|
|
||||||
%{__rm} -rf %{buildroot}
|
|
||||||
|
|
||||||
|
|
||||||
%post -p /sbin/ldconfig
|
%post -p /sbin/ldconfig
|
||||||
@ -182,7 +191,6 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure
|
|||||||
|
|
||||||
|
|
||||||
%files -f gst-plugins-bad-%{majorminor}.lang
|
%files -f gst-plugins-bad-%{majorminor}.lang
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%doc AUTHORS COPYING README REQUIREMENTS
|
%doc AUTHORS COPYING README REQUIREMENTS
|
||||||
#%{_datadir}/gstreamer-%{majorminor}
|
#%{_datadir}/gstreamer-%{majorminor}
|
||||||
%{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so.*
|
%{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so.*
|
||||||
@ -290,7 +298,6 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure
|
|||||||
|
|
||||||
%if %{with extras}
|
%if %{with extras}
|
||||||
%files extras
|
%files extras
|
||||||
%defattr(-,root,root,-)
|
|
||||||
# Plugins with external dependencies
|
# Plugins with external dependencies
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstassrender.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstassrender.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstcdaudio.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstcdaudio.so
|
||||||
@ -308,7 +315,9 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure
|
|||||||
%{_libdir}/gstreamer-%{majorminor}/libgstschro.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstschro.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstsdl.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstsdl.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstsoundtouch.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstsoundtouch.so
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstteletextdec.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgsttimidity.so
|
%{_libdir}/gstreamer-%{majorminor}/libgsttimidity.so
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgsttrm.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstvdpau.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstvdpau.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstwildmidi.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstwildmidi.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstzbar.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstzbar.so
|
||||||
@ -319,7 +328,6 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so
|
%{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so
|
||||||
%{_libdir}/libgstbasevideo-%{majorminor}.so
|
%{_libdir}/libgstbasevideo-%{majorminor}.so
|
||||||
%{_libdir}/libgstcodecparsers-%{majorminor}.so
|
%{_libdir}/libgstcodecparsers-%{majorminor}.so
|
||||||
@ -343,11 +351,18 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure
|
|||||||
%{_libdir}/pkgconfig/gstreamer-plugins-bad-%{majorminor}.pc
|
%{_libdir}/pkgconfig/gstreamer-plugins-bad-%{majorminor}.pc
|
||||||
|
|
||||||
%files devel-docs
|
%files devel-docs
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%doc %{_datadir}/gtk-doc/html/gst-plugins-bad-plugins-%{majorminor}
|
%doc %{_datadir}/gtk-doc/html/gst-plugins-bad-plugins-%{majorminor}
|
||||||
%doc %{_datadir}/gtk-doc/html/gst-plugins-bad-libs-%{majorminor}
|
%doc %{_datadir}/gtk-doc/html/gst-plugins-bad-libs-%{majorminor}
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jun 08 2012 Hans de Goede <hdegoede@redhat.com> - 0.10.23-6
|
||||||
|
- Speedup camerabin pipeline element creation (rhbz#797188, gnome#677698)
|
||||||
|
- Re-enable building of -extras package accidentally disabled by the spec-file
|
||||||
|
re-organization done in 0.10.23-3
|
||||||
|
- Add teletextdec and musicbrainz plugins to -extras
|
||||||
|
- Minor spec-file cleanups
|
||||||
|
|
||||||
* Fri Jun 01 2012 Karsten Hopp <karsten@redhat.com> 0.10.23-5
|
* Fri Jun 01 2012 Karsten Hopp <karsten@redhat.com> 0.10.23-5
|
||||||
- bump release and rebuild (linked with old libs on PPC)
|
- bump release and rebuild (linked with old libs on PPC)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user