X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fkaeru.cpp;h=9ff672d0f16ab946f1b7e03dce85f068af67f01d;hb=7092d222bb356549ef453f9c6f0b21123fd8a2ce;hp=1a63bb04337ca56841033b9628908c39b7083f8f;hpb=8202dbe236c5e206989c383004f9dba116ea12bd;p=nageru diff --git a/nageru/kaeru.cpp b/nageru/kaeru.cpp index 1a63bb0..9ff672d 100644 --- a/nageru/kaeru.cpp +++ b/nageru/kaeru.cpp @@ -18,6 +18,10 @@ #include #include +extern "C" { +#include +} + using namespace bmusb; using namespace movit; using namespace std; @@ -59,10 +63,10 @@ int write_packet(void *opaque, uint8_t *buf, int buf_size, AVIODataMarkerType ty } // namespace -unique_ptr create_mux(HTTPD *httpd, AVOutputFormat *oformat, X264Encoder *x264_encoder, AudioEncoder *audio_encoder) +unique_ptr create_mux(HTTPD *httpd, const AVOutputFormat *oformat, X264Encoder *x264_encoder, AudioEncoder *audio_encoder) { AVFormatContext *avctx = avformat_alloc_context(); - avctx->oformat = oformat; + avctx->oformat = const_castoformat)>(oformat); // const_cast is a hack to work in FFmpeg both before and after 5.0. uint8_t *buf = (uint8_t *)av_malloc(MUX_BUFFER_SIZE); avctx->pb = avio_alloc_context(buf, MUX_BUFFER_SIZE, 1, httpd, nullptr, nullptr, nullptr); @@ -220,7 +224,7 @@ int main(int argc, char *argv[]) HTTPD httpd; - AVOutputFormat *oformat = av_guess_format(global_flags.stream_mux_name.c_str(), nullptr, nullptr); + const AVOutputFormat *oformat = av_guess_format(global_flags.stream_mux_name.c_str(), nullptr, nullptr); assert(oformat != nullptr); unique_ptr audio_encoder;