Bug 32208

Summary: Missing buffer allocation handler for fs-funnel
Product: Farstream Reporter: Yongnian <yongnian.le>
Component: RTP PluginAssignee: Olivier Crête <olivier.crete>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium    
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: patch for proposed solution on fs-funnel

Description Yongnian 2010-12-07 19:26:45 UTC
Created attachment 40890 [details]
patch for proposed solution on fs-funnel

I am working on video conference application using gstreamer & farsight2 framework. 

In video conference pipeline, the element “fs-funnel” is used after remote video stream is decoded, finally the stream is sent to xvimagesink for rendering. But the sink pad of “fs-funnel” is created by request dynamically and there is no associate buffer allocation handler. So during runtime, the output buffer allocation request chain will be chopped in “fs-funnel” and only traditional buffer will be allocated to upstream elements as output buffer.
In that case, the downstream buffer allocation (device specific buffer: XvImage) will not be enabled and lots of buffer allocation/de-allocation and memory copy operations incurred. That will cause resource (CPU & power) waste finally, especially at mobile and thin client side.
Comment 1 Olivier Crête 2010-12-20 03:27:47 UTC
Committed with some stylistic fixes:

commit 78458336223f2f28b61a92e0399d14566ed73815
Author: Olivier Crête <olivier.crete@collabora.co.uk>
Date:   Mon Dec 20 16:56:44 2010 +0530

    tests: Add test for pad alloc in fsfunnel
    
    Patch by Yongnian Le <yongnian.le@intel.com>

commit 4dafd5471f6a006f41e3eb55d5aa5accff6dbdf7
Author: Olivier Crête <olivier.crete@collabora.co.uk>
Date:   Mon Dec 20 16:50:07 2010 +0530

    funnel: Implement pad allocation
    
    Patch by Yongnian Le <yongnian.le@intel.com>
    
    https://bugs.freedesktop.org/show_bug.cgi?id=32208

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.