annotate pcmenc.c @ 6455:3f50c7effad1 libavformat

rtsp: 10l, try to update the correct rtp stream This fixes a bug from rev 22917. Now RTSP streams where the individual RTCP sender reports aren't sent at the same time actually are synced properly.
author mstorsjo
date Fri, 03 Sep 2010 07:10:21 +0000
parents 4775a49a6045
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
885
da1d5db0ce5c COSMETICS: Remove all trailing whitespace.
diego
parents: 868
diff changeset
1 /*
6446
659a7e022950 move pcm muxers to their own file
aurel
parents: 6445
diff changeset
2 * RAW PCM muxers
659a7e022950 move pcm muxers to their own file
aurel
parents: 6445
diff changeset
3 * Copyright (c) 2002 Fabrice Bellard
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
4 *
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1245
diff changeset
5 * This file is part of FFmpeg.
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1245
diff changeset
6 *
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1245
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1245
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
11 *
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1245
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
15 * Lesser General Public License for more details.
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
16 *
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1245
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
896
edbe5c3717f9 Update licensing information: The FSF changed postal address.
diego
parents: 887
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
20 */
3286
6f61c3b36632 Use full path for #includes from another directory.
diego
parents: 3274
diff changeset
21
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
22 #include "avformat.h"
6448
4775a49a6045 split raw.c into rawdec.c and rawenc.c
aurel
parents: 6446
diff changeset
23 #include "rawenc.h"
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
24
6446
659a7e022950 move pcm muxers to their own file
aurel
parents: 6445
diff changeset
25 #define PCMDEF(name, long_name, ext, codec) \
1167
d89d7ef290da give AVInput/OutputFormat structs consistent names
mru
parents: 1121
diff changeset
26 AVOutputFormat pcm_ ## name ## _muxer = {\
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
27 #name,\
3424
7a0230981402 Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents: 3405
diff changeset
28 NULL_IF_CONFIG_SMALL(long_name),\
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
29 NULL,\
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
30 ext,\
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
31 0,\
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
32 codec,\
3289
811c78fac294 Replace some occurrences of 0 with CODEC_ID_NONE.
cehoyos
parents: 3286
diff changeset
33 CODEC_ID_NONE,\
2305
7843ebbe9b0a remove useless raw_write_header
bcoudurier
parents: 2304
diff changeset
34 NULL,\
6425
61cc005602fc move id roq muxer to its own file
aurel
parents: 6424
diff changeset
35 ff_raw_write_packet,\
1245
e59b75051ded dont be too picky about timestampsbeing wrong if the destination container is without timestamps and raw of the raw video / raw audio sort
michael
parents: 1169
diff changeset
36 .flags= AVFMT_NOTIMESTAMPS,\
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
37 };
1121
787a70a8b867 Fix compilation with all combinations of --disable-(de)muxers.
diego
parents: 1078
diff changeset
38
3757
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
39 PCMDEF(f64be, "PCM 64 bit floating-point big-endian format",
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
40 NULL, CODEC_ID_PCM_F64BE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
41
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
42 PCMDEF(f64le, "PCM 64 bit floating-point little-endian format",
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
43 NULL, CODEC_ID_PCM_F64LE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
44
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
45 PCMDEF(f32be, "PCM 32 bit floating-point big-endian format",
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
46 NULL, CODEC_ID_PCM_F32BE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
47
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
48 PCMDEF(f32le, "PCM 32 bit floating-point little-endian format",
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
49 NULL, CODEC_ID_PCM_F32LE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
50
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
51 PCMDEF(s32be, "PCM signed 32 bit big-endian format",
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
52 NULL, CODEC_ID_PCM_S32BE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
53
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
54 PCMDEF(s32le, "PCM signed 32 bit little-endian format",
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
55 NULL, CODEC_ID_PCM_S32LE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
56
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
57 PCMDEF(s24be, "PCM signed 24 bit big-endian format",
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
58 NULL, CODEC_ID_PCM_S24BE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
59
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
60 PCMDEF(s24le, "PCM signed 24 bit little-endian format",
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
61 NULL, CODEC_ID_PCM_S24LE)
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
62
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
63 PCMDEF(s16be, "PCM signed 16 bit big-endian format",
6443
9a1a187b1de7 simplify code by using the AV_NE() macro
aurel
parents: 6442
diff changeset
64 AV_NE("sw", NULL), CODEC_ID_PCM_S16BE)
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
65
3543
1d8d52ca1e54 spelling cosmetics in PCM codec long names
diego
parents: 3484
diff changeset
66 PCMDEF(s16le, "PCM signed 16 bit little-endian format",
6443
9a1a187b1de7 simplify code by using the AV_NE() macro
aurel
parents: 6442
diff changeset
67 AV_NE(NULL, "sw"), CODEC_ID_PCM_S16LE)
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
68
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
69 PCMDEF(s8, "PCM signed 8 bit format",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
70 "sb", CODEC_ID_PCM_S8)
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
71
3757
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
72 PCMDEF(u32be, "PCM unsigned 32 bit big-endian format",
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
73 NULL, CODEC_ID_PCM_U32BE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
74
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
75 PCMDEF(u32le, "PCM unsigned 32 bit little-endian format",
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
76 NULL, CODEC_ID_PCM_U32LE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
77
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
78 PCMDEF(u24be, "PCM unsigned 24 bit big-endian format",
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
79 NULL, CODEC_ID_PCM_U24BE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
80
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
81 PCMDEF(u24le, "PCM unsigned 24 bit little-endian format",
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
82 NULL, CODEC_ID_PCM_U24LE)
7ab85dd1ef03 Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
pross
parents: 3730
diff changeset
83
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
84 PCMDEF(u16be, "PCM unsigned 16 bit big-endian format",
6443
9a1a187b1de7 simplify code by using the AV_NE() macro
aurel
parents: 6442
diff changeset
85 AV_NE("uw", NULL), CODEC_ID_PCM_U16BE)
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
86
3543
1d8d52ca1e54 spelling cosmetics in PCM codec long names
diego
parents: 3484
diff changeset
87 PCMDEF(u16le, "PCM unsigned 16 bit little-endian format",
6443
9a1a187b1de7 simplify code by using the AV_NE() macro
aurel
parents: 6442
diff changeset
88 AV_NE(NULL, "uw"), CODEC_ID_PCM_U16LE)
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
89
3543
1d8d52ca1e54 spelling cosmetics in PCM codec long names
diego
parents: 3484
diff changeset
90 PCMDEF(u8, "PCM unsigned 8 bit format",
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
91 "ub", CODEC_ID_PCM_U8)
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
92
3543
1d8d52ca1e54 spelling cosmetics in PCM codec long names
diego
parents: 3484
diff changeset
93 PCMDEF(alaw, "PCM A-law format",
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
94 "al", CODEC_ID_PCM_ALAW)
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
95
3546
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
96 PCMDEF(mulaw, "PCM mu-law format",
45c3d2b2b2fb Alphabetically order AVInputFormat/AVOutputFormat declarations.
diego
parents: 3545
diff changeset
97 "ul", CODEC_ID_PCM_MULAW)