Skip to content
  • Vincent Penquerc'h's avatar
    adapter: automatically unmap on clearing · 12757e60
    Vincent Penquerc'h authored
    When _clear gets called between _map and _unmap, buffers
    will be unreffed. If the adapter was mapped, memory leaks
    may occur.
    While calling _clear between _map and _unmap does not seem
    like such a great idea, this is possible in the audio
    encoder base class, as _clear may be called in _finish_frame.
    Since the audio encoder relies on flushing to keep track of
    timestamps, delaying flushing till after handle_frame seems
    dangerous.
    So, we unmap on clear, as the next unmap will do nothing.
    This makes _clear safe to call between _map and _unmap,
    while avoiding leaking the mapped buffer.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=664133
    12757e60