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:
@@ -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;
|
||||
|
||||
|
Reference in New Issue
Block a user