• Michael Niedermayer's avatar
    avcodec/allcodecs: Provide empty codec_list in allcodecs when ossfuzz is used · 42f40d36
    Michael Niedermayer authored
    The last workaround is not sufficient to make oss fuzz work with the iterate API
    as it did not provide a FFmpeg that external libs can be linked to.
    
    This patch does not fully restore the pre iterate functionality. My attempts to
    do this have so far failed.
    
    The problem with this solution is that it renders the fuzzers virtual system
    ffmpeg (libs) non functional. Which differs from a real system compared to the
    virtual system tested by the fuzzer.
    It should theoretically not matter as the system ffmpeg wouldnt be used.
    But with more cases being fuzzed we likely will hit a case where a external
    lib is involved and it does matter ...
    
    Working around this may be possible with weak symbols but so far my attempts
    failed
    
    Alternatively multiple ffmpeg could be built, this becomes messy though
    quickly as they need to be all linked together. That is we need a FFmpeg
    that has the iterate API modified so it can work with the resources
    available to ossfuzz. And at the same time we need a ffmpeg that has
    its full functionality for any external libs which use ffmpeg and are
    used by ffmpeg.
    Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
    42f40d36
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
ffbuild Loading commit data...
fftools Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavresample Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswresample Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
CONTRIBUTING.md Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
INSTALL.md Loading commit data...
LICENSE.md Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
RELEASE Loading commit data...
configure Loading commit data...