[Bug 740236] New interleave2 based on GstAggregator and create GstAudioAggregator from audiomixer

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Feb 20 15:47:54 PST 2015


https://bugzilla.gnome.org/show_bug.cgi?id=740236

Olivier CrĂȘte <olivier.crete at ocrete.ca> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #291387|0                           |1
        is obsolete|                            |
 Attachment #291388|0                           |1
        is obsolete|                            |
 Attachment #291389|0                           |1
        is obsolete|                            |
 Attachment #291390|0                           |1
        is obsolete|                            |
 Attachment #291391|0                           |1
        is obsolete|                            |
 Attachment #291392|0                           |1
        is obsolete|                            |
 Attachment #291393|0                           |1
        is obsolete|                            |
 Attachment #291394|0                           |1
        is obsolete|                            |
 Attachment #291395|0                           |1
        is obsolete|                            |
 Attachment #291396|0                           |1
        is obsolete|                            |
 Attachment #291397|0                           |1
        is obsolete|                            |
 Attachment #291398|0                           |1
        is obsolete|                            |
 Attachment #291399|0                           |1
        is obsolete|                            |
 Attachment #291400|0                           |1
        is obsolete|                            |
 Attachment #291401|0                           |1
        is obsolete|                            |
 Attachment #291403|0                           |1
        is obsolete|                            |

--- Comment #43 from Olivier CrĂȘte <olivier.crete at ocrete.ca> ---
Created attachment 297469
  --> https://bugzilla.gnome.org/attachment.cgi?id=297469&action=edit
audioaggregator: Split base class from audiomixer

Merged most of the patches splitting an GstAudioAggregator base class
from the audiomixer element.

I have only one problem with the current code, the GstAudioAggregator
holds the object locks of both the GstElement and the GstPad when
calling "aggregate_one_buffer", it makes the implementation of the
GstAudioAggretor much easier, as it means pads can't appear or
disappear, but it's a bit odd for a base class.

I ran lots and lots of iterations of unit tests and validate over this.


Also:
-  Don't modify size on early buffer
   The size is the size of the buffer, not of remaining part.
- Use the input caps when manipulating the input buffer
   Also store in in the sink pad
- Reply to the position query in bytes too
- Put GAP flag on output if all inputs are GAP data
- Only try to clip buffer if the incoming segment is in time or samples
- Use incoming segment with incoming timestamp
   Handle non-time segments and NONE timestamps
- Don't reset the position when pushing out new caps
- Make a number of member variables private
- Correctly handle case where no pad has a buffer
  If none of the pads have buffers that can be handled, don't claim to be EOS.
- Ensure proper locking

-- 
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