annotate libmpdemux/mpeg_packetizer.h @ 33109:01b19cf2649c

Fix segfault in lavcac3enc audio filter. The FFmpeg ac3 encoder would fail to open if the correct sample format is not set. As the opening is done in control() the audio filter would not fail back, but would instead continue and call encoding functions that dereference NULL pointer.
author iive
date Sun, 03 Apr 2011 14:39:27 +0000
parents 0f1b5b68af32
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
1 /*
26742
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
2 * helper routines for building MPEG 1/2 PS/PES packets
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
3 *
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
4 * Copyright (C) 2006 Benjamin Zores
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
5 *
26742
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
6 * based on code borrowed from vo_mpegpes/vo_dxr2:
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
7 * (C) 2000 Ralph Metzler <ralph@convergence.de>
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
8 * Marcus Metzler <marcus@convergence.de>
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
9 * Gerard Lantau
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
10 *
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
11 * This file is part of MPlayer.
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
12 *
26742
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
13 * MPlayer is free software; you can redistribute it and/or modify
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
14 * it under the terms of the GNU General Public License as published by
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
15 * the Free Software Foundation; either version 2 of the License, or
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
16 * (at your option) any later version.
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
17 *
26742
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
18 * MPlayer is distributed in the hope that it will be useful,
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
21 * GNU General Public License for more details.
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
22 *
26742
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
23 * You should have received a copy of the GNU General Public License along
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
24 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
0c1db5fd3f79 Use standard license headers with standard formatting.
diego
parents: 26143
diff changeset
25 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
26 */
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
27
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25673
diff changeset
28 #ifndef MPLAYER_MPEG_PACKETIZER_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25673
diff changeset
29 #define MPLAYER_MPEG_PACKETIZER_H
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
30
26143
268ecf0e1ba4 Add missing header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
31 #include <stdint.h>
268ecf0e1ba4 Add missing header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
32
19149
73d8ea32ebb8 cosmetics: comments and reindentation asked by gxben
nicodvb
parents: 19148
diff changeset
33 /* Send MPEG <type> PES packet */
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 26742
diff changeset
34 int send_mpeg_pes_packet (unsigned char *data, int len, int id, uint64_t pts,
25673
d576b679747b Write functions used by send_mpeg_*_packet may _not_ modify data
reimar
parents: 23689
diff changeset
35 int type, int my_write (const unsigned char *data, int len));
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
36
19149
73d8ea32ebb8 cosmetics: comments and reindentation asked by gxben
nicodvb
parents: 19148
diff changeset
37 /* Send MPEG <type> PS packet */
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 26742
diff changeset
38 int send_mpeg_ps_packet (unsigned char *data, int len, int id, uint64_t pts,
25673
d576b679747b Write functions used by send_mpeg_*_packet may _not_ modify data
reimar
parents: 23689
diff changeset
39 int type,int my_write (const unsigned char *data, int len));
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
40
19149
73d8ea32ebb8 cosmetics: comments and reindentation asked by gxben
nicodvb
parents: 19148
diff changeset
41 /* Send MPEG 2 LPCM packet */
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
42 int send_mpeg_lpcm_packet (unsigned char *data, int len,
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
43 int id, uint64_t pts, int freq_id,
25673
d576b679747b Write functions used by send_mpeg_*_packet may _not_ modify data
reimar
parents: 23689
diff changeset
44 int my_write (const unsigned char *data, int len));
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
45
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25673
diff changeset
46 #endif /* MPLAYER_MPEG_PACKETIZER_H */