annotate mpegts.h @ 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 072cb3a1d4a7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
152
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
1 /*
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
2 * MPEG2 transport stream defines
4251
77e0c7511d41 cosmetics: Remove pointless period after copyright statement non-sentences.
diego
parents: 3852
diff changeset
3 * Copyright (c) 2003 Fabrice Bellard
152
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
4 *
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1167
diff changeset
5 * This file is part of FFmpeg.
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1167
diff changeset
6 *
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1167
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
152
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
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: 1167
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
152
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
11 *
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1167
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
152
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
15 * Lesser General Public License for more details.
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
16 *
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
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: 1167
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: 891
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
152
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
20 */
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
21
3852
1b6245500d8c Globally rename the header inclusion guard names.
stefano
parents: 3716
diff changeset
22 #ifndef AVFORMAT_MPEGTS_H
1b6245500d8c Globally rename the header inclusion guard names.
stefano
parents: 3716
diff changeset
23 #define AVFORMAT_MPEGTS_H
2172
92f61ed53965 add multiple inclusion guards to headers
mru
parents: 2171
diff changeset
24
2171
a6d6b2b19341 include all prerequisites in header files
mru
parents: 1774
diff changeset
25 #include "avformat.h"
a6d6b2b19341 include all prerequisites in header files
mru
parents: 1774
diff changeset
26
152
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
27 #define TS_FEC_PACKET_SIZE 204
891
6e45fbd73a52 added support for DVHS (192) packet size
nicodvb
parents: 885
diff changeset
28 #define TS_DVHS_PACKET_SIZE 192
152
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
29 #define TS_PACKET_SIZE 188
5143
f25bc340370b mpegts: change variable-length array to fixed length
mru
parents: 4979
diff changeset
30 #define TS_MAX_PACKET_SIZE 204
f25bc340370b mpegts: change variable-length array to fixed length
mru
parents: 4979
diff changeset
31
152
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
32 #define NB_PID_MAX 8192
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
33 #define MAX_SECTION_SIZE 4096
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
34
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
35 /* pids */
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
36 #define PAT_PID 0x0000
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
37 #define SDT_PID 0x0011
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
38
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
39 /* table ids */
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
40 #define PAT_TID 0x00
885
da1d5db0ce5c COSMETICS: Remove all trailing whitespace.
diego
parents: 819
diff changeset
41 #define PMT_TID 0x02
152
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
42 #define SDT_TID 0x42
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
43
160
9bde37b1a5ce try to filter _all_ PATs if no SDT could be found patch by (<gbazin at altern dot org>)
michaelni
parents: 152
diff changeset
44 #define STREAM_TYPE_VIDEO_MPEG1 0x01
9bde37b1a5ce try to filter _all_ PATs if no SDT could be found patch by (<gbazin at altern dot org>)
michaelni
parents: 152
diff changeset
45 #define STREAM_TYPE_VIDEO_MPEG2 0x02
9bde37b1a5ce try to filter _all_ PATs if no SDT could be found patch by (<gbazin at altern dot org>)
michaelni
parents: 152
diff changeset
46 #define STREAM_TYPE_AUDIO_MPEG1 0x03
9bde37b1a5ce try to filter _all_ PATs if no SDT could be found patch by (<gbazin at altern dot org>)
michaelni
parents: 152
diff changeset
47 #define STREAM_TYPE_AUDIO_MPEG2 0x04
152
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
48 #define STREAM_TYPE_PRIVATE_SECTION 0x05
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
49 #define STREAM_TYPE_PRIVATE_DATA 0x06
313
622892a75ddb support more codecs in MPEG-TS patch by (mru at kth dot se (Mns Rullgrd))
michael
parents: 292
diff changeset
50 #define STREAM_TYPE_AUDIO_AAC 0x0f
622892a75ddb support more codecs in MPEG-TS patch by (mru at kth dot se (Mns Rullgrd))
michael
parents: 292
diff changeset
51 #define STREAM_TYPE_VIDEO_MPEG4 0x10
493
166b71445aec h264 in mpeg-ts fix by (Mns Rullgrd <mru at kth dot se>)
michael
parents: 313
diff changeset
52 #define STREAM_TYPE_VIDEO_H264 0x1b
1774
814fbf5732eb demux VC1 in mpegts
nicodvb
parents: 1723
diff changeset
53 #define STREAM_TYPE_VIDEO_VC1 0xea
3716
2ca19db359bd Dirac encapsulation in MPEG-TS
diego
parents: 3059
diff changeset
54 #define STREAM_TYPE_VIDEO_DIRAC 0xd1
152
cc03a75cbde4 mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
bellard
parents:
diff changeset
55
165
e4d2f704bf80 - Looks a tiny bit harder in mpegps_probe() for a valid start code. This is
michaelni
parents: 160
diff changeset
56 #define STREAM_TYPE_AUDIO_AC3 0x81
496
112057e05179 libdts support by (Benjamin Zores <ben at geexbox dot org>)
michael
parents: 493
diff changeset
57 #define STREAM_TYPE_AUDIO_DTS 0x8a
819
a6c035e7f429 DVB subtitle decoder by (Ian Caulfield: imc25, cam ac uk)
michael
parents: 496
diff changeset
58
5619
072cb3a1d4a7 Fix warnings about implicit function declaration when compiling rtpdec.c
cehoyos
parents: 5541
diff changeset
59 typedef struct MpegTSContext MpegTSContext;
072cb3a1d4a7 Fix warnings about implicit function declaration when compiling rtpdec.c
cehoyos
parents: 5541
diff changeset
60
072cb3a1d4a7 Fix warnings about implicit function declaration when compiling rtpdec.c
cehoyos
parents: 5541
diff changeset
61 MpegTSContext *ff_mpegts_parse_open(AVFormatContext *s);
072cb3a1d4a7 Fix warnings about implicit function declaration when compiling rtpdec.c
cehoyos
parents: 5541
diff changeset
62 int ff_mpegts_parse_packet(MpegTSContext *ts, AVPacket *pkt,
072cb3a1d4a7 Fix warnings about implicit function declaration when compiling rtpdec.c
cehoyos
parents: 5541
diff changeset
63 const uint8_t *buf, int len);
072cb3a1d4a7 Fix warnings about implicit function declaration when compiling rtpdec.c
cehoyos
parents: 5541
diff changeset
64 void ff_mpegts_parse_close(MpegTSContext *ts);
072cb3a1d4a7 Fix warnings about implicit function declaration when compiling rtpdec.c
cehoyos
parents: 5541
diff changeset
65
3852
1b6245500d8c Globally rename the header inclusion guard names.
stefano
parents: 3716
diff changeset
66 #endif /* AVFORMAT_MPEGTS_H */