diff --git a/libeplayer3/input.cpp b/libeplayer3/input.cpp index 9676383..b09c636 100644 --- a/libeplayer3/input.cpp +++ b/libeplayer3/input.cpp @@ -194,7 +194,11 @@ bool Input::Play() int err = av_read_frame(avfc, &packet); if (err == AVERROR(EAGAIN)) { +#if (LIBAVFORMAT_VERSION_MAJOR == 57 && LIBAVFORMAT_VERSION_MINOR == 25) + av_packet_unref(&packet); +#else av_free_packet(&packet); +#endif continue; } if (averror(err, av_read_frame)) // EOF? @@ -254,7 +258,11 @@ bool Input::Play() teletext_write(_teletextTrack->pid, packet.data + 1, packet.size - 1); } +#if (LIBAVFORMAT_VERSION_MAJOR == 57 && LIBAVFORMAT_VERSION_MINOR == 25) + av_packet_unref(&packet); +#else av_free_packet(&packet); +#endif } /* while */ if (player->abortRequested) @@ -347,7 +355,11 @@ bool Input::ReadSubtitle(const char *filename, const char *format, int pid) avcodec_decode_subtitle2(c, &sub, &got_sub, &packet); if (got_sub) dvbsub_ass_write(c, &sub, pid); +#if (LIBAVFORMAT_VERSION_MAJOR == 57 && LIBAVFORMAT_VERSION_MINOR == 25) + av_packet_unref(&packet); +#else av_free_packet(&packet); +#endif } avcodec_close(c); avformat_close_input(&subavfc); @@ -442,7 +454,8 @@ again: if (player->noprobe || player->isHttp) { #if (LIBAVFORMAT_VERSION_MAJOR < 55) || \ (LIBAVFORMAT_VERSION_MAJOR == 55 && LIBAVFORMAT_VERSION_MINOR < 43) || \ - (LIBAVFORMAT_VERSION_MAJOR == 55 && LIBAVFORMAT_VERSION_MINOR == 43 && LIBAVFORMAT_VERSION_MICRO < 100) + (LIBAVFORMAT_VERSION_MAJOR == 55 && LIBAVFORMAT_VERSION_MINOR == 43 && LIBAVFORMAT_VERSION_MICRO < 100) || \ + (LIBAVFORMAT_VERSION_MAJOR == 57 && LIBAVFORMAT_VERSION_MINOR == 25) avfc->max_analyze_duration = 1; #else avfc->max_analyze_duration2 = 1; @@ -731,7 +744,11 @@ bool Input::GetMetadata(std::vector &keys, std::vector fwrite(pkt->data, pkt->size, 1, cover_art); fclose(cover_art); } +#if (LIBAVFORMAT_VERSION_MAJOR == 57 && LIBAVFORMAT_VERSION_MINOR == 25) + av_packet_unref(pkt); +#else av_free_packet(pkt); +#endif break; } }