History

demux_mkv: fix av_parser_codec leak

Kacper Michajłow committed 2 years ago

Commit b6f05991 parent e3a9ce21 file · +5 −1Browse files

Unified · Split

demux/demux_mkv.c+5−1
@@ -2756,9 +2756,13 @@ static void mkv_parse_and_add_packet(demuxer_t *demuxer, mkv_track_t *track, · 2755 unmodified lines
27562756 if (track->parse && !track->av_parser) {
27572757 int id = mp_codec_to_av_codec_id(track->stream->codec->codec);
27582758 const AVCodec *codec = avcodec_find_decoder(id);
2759− track->av_parser = av_parser_init(id);
2759+ assert(!track->av_parser_codec);
27602760 if (codec)
27612761 track->av_parser_codec = avcodec_alloc_context3(codec);
2762+ if (track->av_parser_codec)
2763+ track->av_parser = av_parser_init(id);
2764+ if (!track->av_parser)
2765+ avcodec_free_context(&track->av_parser_codec);
27622766 }
27632767
27642768 if (!track->parse || !track->av_parser || !track->av_parser_codec) {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t