avformat/smoothstreamingenc: Use av_freep() avoid leaving stale pointers in memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-12-25 12:42:22 +01:00
parent 443bd2715d
commit 7dce91368f
1 changed files with 5 additions and 5 deletions

View File

@ -179,13 +179,13 @@ static void ism_free(AVFormatContext *s)
if (os->ctx && os->ctx_inited)
av_write_trailer(os->ctx);
if (os->ctx && os->ctx->pb)
av_free(os->ctx->pb);
av_freep(&os->ctx->pb);
if (os->ctx)
avformat_free_context(os->ctx);
av_free(os->private_str);
av_freep(&os->private_str);
for (j = 0; j < os->nb_fragments; j++)
av_free(os->fragments[j]);
av_free(os->fragments);
av_freep(&os->fragments[j]);
av_freep(&os->fragments);
}
av_freep(&c->streams);
}
@ -558,7 +558,7 @@ static int ism_flush(AVFormatContext *s, int final)
for (j = 0; j < remove; j++) {
unlink(os->fragments[j]->file);
unlink(os->fragments[j]->infofile);
av_free(os->fragments[j]);
av_freep(&os->fragments[j]);
}
os->nb_fragments -= remove;
memmove(os->fragments, os->fragments + remove, os->nb_fragments * sizeof(*os->fragments));