Module: libav Branch: master Commit: 49e531ff4706279c7eed774f2c8b896942924ce2
Author: wm4 <[email protected]> Committer: Diego Biurrun <[email protected]> Date: Mon Apr 13 19:18:00 2015 +0200 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 <[email protected]> --- libavcodec/mmaldec.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libavcodec/mmaldec.c b/libavcodec/mmaldec.c index 1f29d2b..76d26bc 100644 --- a/libavcodec/mmaldec.c +++ b/libavcodec/mmaldec.c @@ -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; _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
