annotate voc.c @ 5854:3dc78fb78b2a libavformat

Fix erroneous behaviour when format probe hits end of file If the format probe hits end of file, do not add the error code to the buffer position. This is obviously wrong, and with a small input file would cause a negative buffer overflow. Fixes issue 1818.
author mru
date Tue, 16 Mar 2010 21:45:30 +0000
parents 0d5653941bf9
children c7b98381ec2d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1536
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
1 /*
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
2 * Creative Voice File common data.
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
3 * Copyright (c) 2006 Aurelien Jacobs <aurel@gnuage.org>
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
4 *
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
5 * This file is part of FFmpeg.
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
6 *
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
11 *
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
15 * Lesser General Public License for more details.
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
16 *
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
2217
06083249909c license header consistency cosmetics
diego
parents: 1677
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1536
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
20 */
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
21
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
22 #include "voc.h"
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
23
3764
9cff515fd4c6 voc: add ff_ prefix to some global const data
aurel
parents: 2217
diff changeset
24 const unsigned char ff_voc_magic[21] = "Creative Voice File\x1A";
1536
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
25
3764
9cff515fd4c6 voc: add ff_ prefix to some global const data
aurel
parents: 2217
diff changeset
26 const AVCodecTag ff_voc_codec_tags[] = {
1536
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
27 {CODEC_ID_PCM_U8, 0x00},
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
28 {CODEC_ID_ADPCM_SBPRO_4, 0x01},
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
29 {CODEC_ID_ADPCM_SBPRO_3, 0x02},
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
30 {CODEC_ID_ADPCM_SBPRO_2, 0x03},
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
31 {CODEC_ID_PCM_S16LE, 0x04},
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
32 {CODEC_ID_PCM_ALAW, 0x06},
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
33 {CODEC_ID_PCM_MULAW, 0x07},
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
34 {CODEC_ID_ADPCM_CT, 0x0200},
5290
0d5653941bf9 Make AVCodecTag.id enum CodecID and use CODEC_ID_NONE instead of 0.
cehoyos
parents: 3764
diff changeset
35 {CODEC_ID_NONE, 0},
1536
6dc55143f99f move common voc muxer and demuxer data to voc.c
aurel
parents:
diff changeset
36 };