Revision 4ed899f2

View differences:

libavformat/avidec.c
759 759
    for (i=0; i<s->nb_streams; i++) {
760 760
        st  = s->streams[i];
761 761
        ast = st->priv_data;
762
        if (st->discard < AVDISCARD_ALL && ast->sub_pkt.data) {
762
        if (st->discard < AVDISCARD_ALL && ast && ast->sub_pkt.data) {
763 763
            ts = av_rescale_q(ast->sub_pkt.dts, st->time_base, AV_TIME_BASE_Q);
764 764
            if (ts <= next_ts && ts < ts_min) {
765 765
                ts_min = ts;
......
1294 1294
        AVStream *st = s->streams[i];
1295 1295
        AVIStream *ast = st->priv_data;
1296 1296
        av_free(st->codec->palctrl);
1297
        if (ast) {
1297 1298
        if (ast->sub_ctx) {
1298 1299
            av_freep(&ast->sub_ctx->pb);
1299 1300
            av_close_input_stream(ast->sub_ctx);
1300 1301
        }
1301 1302
        av_free(ast->sub_buffer);
1302 1303
        av_free_packet(&ast->sub_pkt);
1304
        }
1303 1305
    }
1304 1306

  
1305 1307
    if (avi->dv_demux)

Also available in: Unified diff