* Make put_wav_header return the number of bytes that it put.
Originally committed as revision 468 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
ec6ac5e1fb
commit
afc25d93ea
@ -31,9 +31,11 @@ CodecTag codec_wav_tags[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* WAVEFORMATEX header */
|
/* WAVEFORMATEX header */
|
||||||
|
/* returns the size or -1 on error */
|
||||||
int put_wav_header(ByteIOContext *pb, AVCodecContext *enc)
|
int put_wav_header(ByteIOContext *pb, AVCodecContext *enc)
|
||||||
{
|
{
|
||||||
int tag, bps, blkalign, bytespersec;
|
int tag, bps, blkalign, bytespersec;
|
||||||
|
int hdrsize = 18;
|
||||||
|
|
||||||
tag = codec_get_tag(codec_wav_tags, enc->codec_id);
|
tag = codec_get_tag(codec_wav_tags, enc->codec_id);
|
||||||
if (tag == 0)
|
if (tag == 0)
|
||||||
@ -67,6 +69,7 @@ int put_wav_header(ByteIOContext *pb, AVCodecContext *enc)
|
|||||||
put_le16(pb, bps); /* bits per sample */
|
put_le16(pb, bps); /* bits per sample */
|
||||||
if (enc->codec_id == CODEC_ID_MP3LAME) {
|
if (enc->codec_id == CODEC_ID_MP3LAME) {
|
||||||
put_le16(pb, 12); /* wav_extra_size */
|
put_le16(pb, 12); /* wav_extra_size */
|
||||||
|
hdrsize += 12;
|
||||||
put_le16(pb, 1); /* wID */
|
put_le16(pb, 1); /* wID */
|
||||||
put_le32(pb, 2); /* fdwFlags */
|
put_le32(pb, 2); /* fdwFlags */
|
||||||
put_le16(pb, 1152); /* nBlockSize */
|
put_le16(pb, 1152); /* nBlockSize */
|
||||||
@ -74,6 +77,7 @@ int put_wav_header(ByteIOContext *pb, AVCodecContext *enc)
|
|||||||
put_le16(pb, 1393); /* nCodecDelay */
|
put_le16(pb, 1393); /* nCodecDelay */
|
||||||
} else if (enc->codec_id == CODEC_ID_MP2) {
|
} else if (enc->codec_id == CODEC_ID_MP2) {
|
||||||
put_le16(pb, 22); /* wav_extra_size */
|
put_le16(pb, 22); /* wav_extra_size */
|
||||||
|
hdrsize += 22;
|
||||||
put_le16(pb, 2); /* fwHeadLayer */
|
put_le16(pb, 2); /* fwHeadLayer */
|
||||||
put_le32(pb, enc->bit_rate); /* dwHeadBitrate */
|
put_le32(pb, enc->bit_rate); /* dwHeadBitrate */
|
||||||
put_le16(pb, enc->channels == 2 ? 1 : 8); /* fwHeadMode */
|
put_le16(pb, enc->channels == 2 ? 1 : 8); /* fwHeadMode */
|
||||||
@ -85,7 +89,7 @@ int put_wav_header(ByteIOContext *pb, AVCodecContext *enc)
|
|||||||
} else
|
} else
|
||||||
put_le16(pb, 0); /* wav_extra_size */
|
put_le16(pb, 0); /* wav_extra_size */
|
||||||
|
|
||||||
return 0;
|
return hdrsize;
|
||||||
}
|
}
|
||||||
|
|
||||||
int wav_codec_get_id(unsigned int tag, int bps)
|
int wav_codec_get_id(unsigned int tag, int bps)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user