[Bug 677698] New: PATCH: camerabin: Set src_filter and zoom_src_filter caps while creating the pipeline
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Fri Jun 8 05:03:22 PDT 2012
https://bugzilla.gnome.org/show_bug.cgi?id=677698
GStreamer | gst-plugins-bad | unspecified
Summary: PATCH: camerabin: Set src_filter and zoom_src_filter
caps while creating the pipeline
Classification: Platform
Product: GStreamer
Version: unspecified
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-bad
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: jwrdegoede at fedoraproject.org
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created an attachment (id=215939)
View: https://bugzilla.gnome.org/attachment.cgi?id=215939
Review: https://bugzilla.gnome.org/review?bug=677698&attachment=215939
gstcamerabin: Fix spelling error in debug logging
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-set 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 .
This patch set consists of 4 patches, the first one fixes an unrelated spelling
error I noticed while working on this, 2 and 3 are preparation patches and 4
contains the actual fix.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list