Browse Source

mpegts: dont set stream info when a decoder has already been opened.

Fixes assertion failure.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n1.1
Michael Niedermayer 12 years ago
parent
commit
4facddd568
1 changed files with 6 additions and 0 deletions
  1. +6
    -0
      libavformat/mpegts.c

+ 6
- 0
libavformat/mpegts.c View File

@@ -613,6 +613,12 @@ static int mpegts_set_stream_info(AVStream *st, PESContext *pes,
{
int old_codec_type= st->codec->codec_type;
int old_codec_id = st->codec->codec_id;

if (old_codec_id != AV_CODEC_ID_NONE && avcodec_is_open(st->codec)) {
av_log(pes->stream, AV_LOG_DEBUG, "cannot set stream info, codec is open\n");
return 0;
}

avpriv_set_pts_info(st, 33, 1, 90000);
st->priv_data = pes;
st->codec->codec_type = AVMEDIA_TYPE_DATA;


Loading…
Cancel
Save