OLD | NEW |
1 /* | 1 /* |
2 * MOV demuxer | 2 * MOV demuxer |
3 * Copyright (c) 2001 Fabrice Bellard | 3 * Copyright (c) 2001 Fabrice Bellard |
4 * Copyright (c) 2009 Baptiste Coudurier <baptiste dot coudurier at gmail dot co
m> | 4 * Copyright (c) 2009 Baptiste Coudurier <baptiste dot coudurier at gmail dot co
m> |
5 * | 5 * |
6 * This file is part of FFmpeg. | 6 * This file is part of FFmpeg. |
7 * | 7 * |
8 * FFmpeg is free software; you can redistribute it and/or | 8 * FFmpeg is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Lesser General Public | 9 * modify it under the terms of the GNU Lesser General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 2944 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2955 MOVStreamContext *sc = st->priv_data; | 2955 MOVStreamContext *sc = st->priv_data; |
2956 | 2956 |
2957 av_freep(&sc->ctts_data); | 2957 av_freep(&sc->ctts_data); |
2958 for (j = 0; j < sc->drefs_count; j++) { | 2958 for (j = 0; j < sc->drefs_count; j++) { |
2959 av_freep(&sc->drefs[j].path); | 2959 av_freep(&sc->drefs[j].path); |
2960 av_freep(&sc->drefs[j].dir); | 2960 av_freep(&sc->drefs[j].dir); |
2961 } | 2961 } |
2962 av_freep(&sc->drefs); | 2962 av_freep(&sc->drefs); |
2963 if (sc->pb && sc->pb != s->pb) | 2963 if (sc->pb && sc->pb != s->pb) |
2964 avio_close(sc->pb); | 2964 avio_close(sc->pb); |
| 2965 av_freep(&sc->chunk_offsets); |
| 2966 av_freep(&sc->keyframes); |
| 2967 av_freep(&sc->sample_sizes); |
| 2968 av_freep(&sc->stps_data); |
| 2969 av_freep(&sc->stsc_data); |
| 2970 av_freep(&sc->stts_data); |
2965 } | 2971 } |
2966 | 2972 |
2967 if (mov->dv_demux) { | 2973 if (mov->dv_demux) { |
2968 for (i = 0; i < mov->dv_fctx->nb_streams; i++) { | 2974 for (i = 0; i < mov->dv_fctx->nb_streams; i++) { |
2969 av_freep(&mov->dv_fctx->streams[i]->codec); | 2975 av_freep(&mov->dv_fctx->streams[i]->codec); |
2970 av_freep(&mov->dv_fctx->streams[i]); | 2976 av_freep(&mov->dv_fctx->streams[i]); |
2971 } | 2977 } |
2972 av_freep(&mov->dv_fctx); | 2978 av_freep(&mov->dv_fctx); |
2973 av_freep(&mov->dv_demux); | 2979 av_freep(&mov->dv_demux); |
2974 } | 2980 } |
(...skipping 16 matching lines...) Expand all Loading... |
2991 .name = "mov,mp4,m4a,3gp,3g2,mj2", | 2997 .name = "mov,mp4,m4a,3gp,3g2,mj2", |
2992 .long_name = NULL_IF_CONFIG_SMALL("QuickTime/MPEG-4/Motion JPEG 2000 fo
rmat"), | 2998 .long_name = NULL_IF_CONFIG_SMALL("QuickTime/MPEG-4/Motion JPEG 2000 fo
rmat"), |
2993 .priv_data_size = sizeof(MOVContext), | 2999 .priv_data_size = sizeof(MOVContext), |
2994 .read_probe = mov_probe, | 3000 .read_probe = mov_probe, |
2995 .read_header = mov_read_header, | 3001 .read_header = mov_read_header, |
2996 .read_packet = mov_read_packet, | 3002 .read_packet = mov_read_packet, |
2997 .read_close = mov_read_close, | 3003 .read_close = mov_read_close, |
2998 .read_seek = mov_read_seek, | 3004 .read_seek = mov_read_seek, |
2999 .priv_class = &class, | 3005 .priv_class = &class, |
3000 }; | 3006 }; |
OLD | NEW |