Fix problems for older ffmpeg versions

Fix the following issues when building against older ffmpeg versions

- the call to avcodec_free_context exceptions as avformat_close_input
  already performs cleanup of the AVCodecContext, so link the calling of
  avcodec_free_context in the close method of k9avidecode.cpp to the
  version of libavformat in which codecpar appeared rather than when
  avcodec_free_context appeared.
- avcodec_decode_video2 was deprecated in libavcodec 57.106.100, not
  57.12.100, so the version has been corrected.

Signed-off-by: aneejit1 <aneejit1@gmail.com>
(cherry picked from commit bd83eb0951)
r14.0.x
aneejit1 3 years ago committed by Slávek Banko
parent bb8d39297f
commit 9fb9c20217
No known key found for this signature in database
GPG Key ID: 608F5293A04BE668

@ -216,7 +216,7 @@ void k9AviDecode::readFrame(double _seconds) {
// Is this a packet from the video stream?
if (packet->stream_index==m_videoStream) {
// Decode video frame
#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 37, 100)
#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 106, 100)
int ret = avcodec_receive_frame(m_CodecCtx, m_Frame);
if (ret == 0)
frameFinished = 1;
@ -300,7 +300,7 @@ void k9AviDecode::close() {
av_close_input_file(m_FormatCtx);
#endif
#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 63, 100)
#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(57, 33, 100)
avcodec_free_context(&m_CodecCtx);
#endif

Loading…
Cancel
Save