• Andreas Rheinhardt's avatar
    avformat/aviobuf: Also return truncated buffer in avio_get_dyn_buf() · d8407afe
    Andreas Rheinhardt authored
    Two kinds of errors can happen when working with dynamic buffers:
    (Re)allocation errors or truncation errors (one has to truncate the
    buffer to a size of INT_MAX because avio_close_dyn_buf() and
    avio_get_dyn_buf() both return an int). Right now, avio_get_dyn_buf()
    returns an empty buffer in either case. But given that
    avio_get_dyn_buf() does not destroy the dynamic buffer, one can return
    the buffer in case of truncation and let the user check the error flags
    and decide for himself instead of hardcoding a single way to proceed
    in case of truncation.
    
    (This actually restores the behaviour from before commit
    163bb9ac.)
    Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
    (cherry picked from commit c33e56c7a6a8bef7d95e1d36eb2f35748d475695)
    Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
    d8407afe
aviobuf.c 38.2 KB