mmal: Reference MMAL VC lib explicitly

This is optional, but ensures that linking with -Wl,--as-needed does not
drop the library containing the MMAL VC driver. The driver normally
"registers" itself in the library constructor, but since no symbols are
explicitly referenced, the linker could remove it with --as-needed
enabled.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
This commit is contained in:
wm4 2015-04-13 19:18:00 +02:00 committed by Diego Biurrun
parent 2de7650451
commit 49e531ff47
1 changed files with 8 additions and 0 deletions

View File

@ -29,6 +29,7 @@
#include <interface/mmal/util/mmal_util.h>
#include <interface/mmal/util/mmal_util_params.h>
#include <interface/mmal/util/mmal_default_components.h>
#include <interface/mmal/vc/mmal_vc_api.h>
#include "avcodec.h"
#include "internal.h"
@ -182,6 +183,8 @@ static av_cold int ffmmal_close_decoder(AVCodecContext *avctx)
if (ctx->bsfc)
av_bitstream_filter_close(ctx->bsfc);
mmal_vc_deinit();
return 0;
}
@ -321,6 +324,11 @@ static av_cold int ffmmal_init_decoder(AVCodecContext *avctx)
bcm_host_init();
if (mmal_vc_init()) {
av_log(avctx, AV_LOG_ERROR, "Cannot initialize MMAL VC driver!\n");
return AVERROR(ENOSYS);
}
if ((ret = ff_get_format(avctx, avctx->codec->pix_fmts)) < 0)
return ret;