|
|
|
@ -1080,7 +1080,7 @@ static void ebml_free(EbmlSyntax *syntax, void *data) |
|
|
|
|
for (j = 0; j < list->nb_elem; |
|
|
|
|
j++, ptr += syntax[i].list_elem_size) |
|
|
|
|
ebml_free(syntax[i].def.n, ptr); |
|
|
|
|
av_free(list->elem); |
|
|
|
|
av_freep(&list->elem); |
|
|
|
|
} else |
|
|
|
|
ebml_free(syntax[i].def.n, data_off); |
|
|
|
|
default: |
|
|
|
@ -2137,7 +2137,7 @@ static int matroska_deliver_packet(MatroskaDemuxContext *matroska, |
|
|
|
|
{ |
|
|
|
|
if (matroska->num_packets > 0) { |
|
|
|
|
memcpy(pkt, matroska->packets[0], sizeof(AVPacket)); |
|
|
|
|
av_free(matroska->packets[0]); |
|
|
|
|
av_freep(&matroska->packets[0]); |
|
|
|
|
if (matroska->num_packets > 1) { |
|
|
|
|
void *newpackets; |
|
|
|
|
memmove(&matroska->packets[0], &matroska->packets[1], |
|
|
|
@ -2168,7 +2168,7 @@ static void matroska_clear_queue(MatroskaDemuxContext *matroska) |
|
|
|
|
int n; |
|
|
|
|
for (n = 0; n < matroska->num_packets; n++) { |
|
|
|
|
av_free_packet(matroska->packets[n]); |
|
|
|
|
av_free(matroska->packets[n]); |
|
|
|
|
av_freep(&matroska->packets[n]); |
|
|
|
|
} |
|
|
|
|
av_freep(&matroska->packets); |
|
|
|
|
matroska->num_packets = 0; |
|
|
|
@ -3006,7 +3006,7 @@ static int matroska_read_close(AVFormatContext *s) |
|
|
|
|
|
|
|
|
|
for (n = 0; n < matroska->tracks.nb_elem; n++) |
|
|
|
|
if (tracks[n].type == MATROSKA_TRACK_TYPE_AUDIO) |
|
|
|
|
av_free(tracks[n].audio.buf); |
|
|
|
|
av_freep(&tracks[n].audio.buf); |
|
|
|
|
ebml_free(matroska_cluster, &matroska->current_cluster); |
|
|
|
|
ebml_free(matroska_segment, matroska); |
|
|
|
|
|
|
|
|
|