annotate au.c @ 3754:8d267b43eaba libavformat

Move malloc() down until after all initializations, so that the resource is only allocated if initialization worked. This means that on failure, we don't have to deallocate it.
author rbultje
date Sat, 23 Aug 2008 18:46:30 +0000
parents 441e758e1a5e
children f062deeedb8d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
885
da1d5db0ce5c COSMETICS: Remove all trailing whitespace.
diego
parents: 858
diff changeset
1 /*
1415
3b00fb8ef8e4 replace coder/decoder file description in libavformat by muxer/demuxer
aurel
parents: 1358
diff changeset
2 * AU muxer and demuxer
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
3 * Copyright (c) 2001 Fabrice Bellard.
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: 1172
diff changeset
5 * This file is part of FFmpeg.
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1172
diff changeset
6 *
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1172
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: 1172
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: 1172
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: 1172
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: 885
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 */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
21
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
22 /*
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
23 * First version by Francois Revol revol@free.fr
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
24 *
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
25 * Reference documents:
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
26 * http://www.opengroup.org/public/pubs/external/auformat.html
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
27 * http://www.goice.co.jp/member/mo/formats/au.html
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
28 */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
29
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
30 #include "avformat.h"
2545
213268d7594e move unrelated functions declarations out of allformats.h
aurel
parents: 2274
diff changeset
31 #include "raw.h"
1172
6a5e58d2114b move common stuff from avienc.c and wav.c to new file riff.c
mru
parents: 1169
diff changeset
32 #include "riff.h"
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
33
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
34 /* if we don't know the size in advance */
1885
3ffb9763dfc2 Fix UNKOWN --> UNKNOWN typo
diego
parents: 1683
diff changeset
35 #define AU_UNKNOWN_SIZE ((uint32_t)(~0))
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
36
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
37 /* The ffmpeg codecs we support, and the IDs they have in the file */
1677
2a85c82b8538 add codec_id <-> codec_tag tables to AVIn/OutputFormat
michael
parents: 1415
diff changeset
38 static const AVCodecTag codec_au_tags[] = {
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
39 { CODEC_ID_PCM_MULAW, 1 },
2933
473906f5a3b9 Add support for S8 PCM (codec 2)
rtogni
parents: 2771
diff changeset
40 { CODEC_ID_PCM_S8, 2 },
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
41 { CODEC_ID_PCM_S16BE, 3 },
3736
441e758e1a5e Make AU demuxer handle S24BE, S32BE and F64BE PCM audio.
pross
parents: 3599
diff changeset
42 { CODEC_ID_PCM_S24BE, 4 },
441e758e1a5e Make AU demuxer handle S24BE, S32BE and F64BE PCM audio.
pross
parents: 3599
diff changeset
43 { CODEC_ID_PCM_S32BE, 5 },
3599
d99961d92b99 Support 32-bit floating point audio samples in Sun AU demuxer
pross
parents: 3484
diff changeset
44 { CODEC_ID_PCM_F32BE, 6 },
3736
441e758e1a5e Make AU demuxer handle S24BE, S32BE and F64BE PCM audio.
pross
parents: 3599
diff changeset
45 { CODEC_ID_PCM_F64BE, 7 },
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
46 { CODEC_ID_PCM_ALAW, 27 },
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
47 { 0, 0 },
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
48 };
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
49
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 820
diff changeset
50 #ifdef CONFIG_MUXERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
51 /* AUDIO_FILE header */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
52 static int put_au_header(ByteIOContext *pb, AVCodecContext *enc)
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
53 {
196
01bec1059bdf use codec_tag for encoding too
michaelni
parents: 187
diff changeset
54 if(!enc->codec_tag)
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
55 return -1;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
56 put_tag(pb, ".snd"); /* magic number */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
57 put_be32(pb, 24); /* header size */
1885
3ffb9763dfc2 Fix UNKOWN --> UNKNOWN typo
diego
parents: 1683
diff changeset
58 put_be32(pb, AU_UNKNOWN_SIZE); /* data size */
196
01bec1059bdf use codec_tag for encoding too
michaelni
parents: 187
diff changeset
59 put_be32(pb, (uint32_t)enc->codec_tag); /* codec ID */
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
60 put_be32(pb, enc->sample_rate);
65
a58a8a53eb46 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 5
diff changeset
61 put_be32(pb, (uint32_t)enc->channels);
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
62 return 0;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
63 }
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
64
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
65 static int au_write_header(AVFormatContext *s)
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
66 {
2771
d52c718e83f9 Use dynamically allocated ByteIOContext in AVFormatContext
andoma
parents: 2545
diff changeset
67 ByteIOContext *pb = s->pb;
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
68
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
69 s->priv_data = NULL;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
70
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
71 /* format header */
820
feca73904e67 changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents: 775
diff changeset
72 if (put_au_header(pb, s->streams[0]->codec) < 0) {
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
73 return -1;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
74 }
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
75
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
76 put_flush_packet(pb);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
77
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
78 return 0;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
79 }
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
80
468
60f897e8dd2d pass AVPacket into av_write_frame()
michael
parents: 306
diff changeset
81 static int au_write_packet(AVFormatContext *s, AVPacket *pkt)
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
82 {
2771
d52c718e83f9 Use dynamically allocated ByteIOContext in AVFormatContext
andoma
parents: 2545
diff changeset
83 ByteIOContext *pb = s->pb;
468
60f897e8dd2d pass AVPacket into av_write_frame()
michael
parents: 306
diff changeset
84 put_buffer(pb, pkt->data, pkt->size);
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
85 return 0;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
86 }
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
87
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
88 static int au_write_trailer(AVFormatContext *s)
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
89 {
2771
d52c718e83f9 Use dynamically allocated ByteIOContext in AVFormatContext
andoma
parents: 2545
diff changeset
90 ByteIOContext *pb = s->pb;
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
91 offset_t file_size;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
92
2771
d52c718e83f9 Use dynamically allocated ByteIOContext in AVFormatContext
andoma
parents: 2545
diff changeset
93 if (!url_is_streamed(s->pb)) {
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
94
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
95 /* update file size */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
96 file_size = url_ftell(pb);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
97 url_fseek(pb, 8, SEEK_SET);
65
a58a8a53eb46 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 5
diff changeset
98 put_be32(pb, (uint32_t)(file_size - 24));
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
99 url_fseek(pb, file_size, SEEK_SET);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
100
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
101 put_flush_packet(pb);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
102 }
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
103
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
104 return 0;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
105 }
858
66cc656ea404 Replace CONFIG_ENCODERS/CONFIG_DECODERS with CONFIG_MUXERS/CONFIG_DEMUXERS
diego
parents: 820
diff changeset
106 #endif //CONFIG_MUXERS
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
107
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
108 static int au_probe(AVProbeData *p)
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
109 {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
110 /* check file header */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
111 if (p->buf[0] == '.' && p->buf[1] == 's' &&
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
112 p->buf[2] == 'n' && p->buf[3] == 'd')
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
113 return AVPROBE_SCORE_MAX;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
114 else
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
115 return 0;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
116 }
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
117
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
118 /* au input */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
119 static int au_read_header(AVFormatContext *s,
306
e7a8d4dd8e14 seek support for PCM formats
bellard
parents: 277
diff changeset
120 AVFormatParameters *ap)
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
121 {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
122 int size;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
123 unsigned int tag;
2771
d52c718e83f9 Use dynamically allocated ByteIOContext in AVFormatContext
andoma
parents: 2545
diff changeset
124 ByteIOContext *pb = s->pb;
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
125 unsigned int id, codec, channels, rate;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
126 AVStream *st;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
127
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
128 /* check ".snd" header */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
129 tag = get_le32(pb);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
130 if (tag != MKTAG('.', 's', 'n', 'd'))
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
131 return -1;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
132 size = get_be32(pb); /* header size */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
133 get_be32(pb); /* data size */
885
da1d5db0ce5c COSMETICS: Remove all trailing whitespace.
diego
parents: 858
diff changeset
134
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
135 id = get_be32(pb);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
136 rate = get_be32(pb);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
137 channels = get_be32(pb);
885
da1d5db0ce5c COSMETICS: Remove all trailing whitespace.
diego
parents: 858
diff changeset
138
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
139 codec = codec_get_id(codec_au_tags, id);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
140
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
141 if (size >= 24) {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
142 /* skip unused data */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
143 url_fseek(pb, size - 24, SEEK_CUR);
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
144 }
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
145
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
146 /* now we are ready: build format streams */
187
2fa5e94ba716 add av_new_stream() usage
bellard
parents: 65
diff changeset
147 st = av_new_stream(s, 0);
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
148 if (!st)
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
149 return -1;
820
feca73904e67 changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents: 775
diff changeset
150 st->codec->codec_type = CODEC_TYPE_AUDIO;
feca73904e67 changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents: 775
diff changeset
151 st->codec->codec_tag = id;
feca73904e67 changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents: 775
diff changeset
152 st->codec->codec_id = codec;
feca73904e67 changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents: 775
diff changeset
153 st->codec->channels = channels;
feca73904e67 changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
michael
parents: 775
diff changeset
154 st->codec->sample_rate = rate;
567
23b915bb10f5 set correct timebase
michael
parents: 564
diff changeset
155 av_set_pts_info(st, 64, 1, rate);
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
156 return 0;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
157 }
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
158
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
159 #define MAX_SIZE 4096
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
160
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
161 static int au_read_packet(AVFormatContext *s,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
162 AVPacket *pkt)
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
163 {
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
164 int ret;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
165
2771
d52c718e83f9 Use dynamically allocated ByteIOContext in AVFormatContext
andoma
parents: 2545
diff changeset
166 if (url_feof(s->pb))
2274
b21c2af60bc9 Replace all occurrences of AVERROR_IO with AVERROR(EIO).
takis
parents: 2001
diff changeset
167 return AVERROR(EIO);
2771
d52c718e83f9 Use dynamically allocated ByteIOContext in AVFormatContext
andoma
parents: 2545
diff changeset
168 ret= av_get_packet(s->pb, pkt, MAX_SIZE);
775
c5077fdab490 AVPacket.pos
michael
parents: 570
diff changeset
169 if (ret < 0)
2274
b21c2af60bc9 Replace all occurrences of AVERROR_IO with AVERROR(EIO).
takis
parents: 2001
diff changeset
170 return AVERROR(EIO);
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
171 pkt->stream_index = 0;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
172
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
173 /* note: we need to modify the packet size here to handle the last
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
174 packet */
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
175 pkt->size = ret;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
176 return 0;
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
177 }
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
178
1169
d18cc9a1fd02 allow individual selection of muxers and demuxers
mru
parents: 1167
diff changeset
179 #ifdef CONFIG_AU_DEMUXER
d18cc9a1fd02 allow individual selection of muxers and demuxers
mru
parents: 1167
diff changeset
180 AVInputFormat au_demuxer = {
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
181 "au",
3424
7a0230981402 Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents: 2933
diff changeset
182 NULL_IF_CONFIG_SMALL("SUN AU format"),
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
183 0,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
184 au_probe,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
185 au_read_header,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
186 au_read_packet,
3484
31a0f3b99ef7 remove useless close funcs
bcoudurier
parents: 3424
diff changeset
187 NULL,
306
e7a8d4dd8e14 seek support for PCM formats
bellard
parents: 277
diff changeset
188 pcm_read_seek,
1679
ba58d49d4685 get rid of the [4] limitation of codec tag lists
michael
parents: 1678
diff changeset
189 .codec_tag= (const AVCodecTag*[]){codec_au_tags, 0},
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
190 };
1169
d18cc9a1fd02 allow individual selection of muxers and demuxers
mru
parents: 1167
diff changeset
191 #endif
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
192
1169
d18cc9a1fd02 allow individual selection of muxers and demuxers
mru
parents: 1167
diff changeset
193 #ifdef CONFIG_AU_MUXER
d18cc9a1fd02 allow individual selection of muxers and demuxers
mru
parents: 1167
diff changeset
194 AVOutputFormat au_muxer = {
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
195 "au",
3424
7a0230981402 Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
diego
parents: 2933
diff changeset
196 NULL_IF_CONFIG_SMALL("SUN AU format"),
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
197 "audio/basic",
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
198 "au",
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
199 0,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
200 CODEC_ID_PCM_S16BE,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
201 CODEC_ID_NONE,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
202 au_write_header,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
203 au_write_packet,
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
204 au_write_trailer,
1679
ba58d49d4685 get rid of the [4] limitation of codec tag lists
michael
parents: 1678
diff changeset
205 .codec_tag= (const AVCodecTag*[]){codec_au_tags, 0},
0
05318cf2e886 renamed libav to libavformat
bellard
parents:
diff changeset
206 };
1169
d18cc9a1fd02 allow individual selection of muxers and demuxers
mru
parents: 1167
diff changeset
207 #endif //CONFIG_AU_MUXER