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