mirror of https://git.ffmpeg.org/ffmpeg.git
Remove fake Speex header creation from FLV demuxer. Having it there was not the
correct solution to the problem. A better solution might be possible later once Speex is supported in muxers. Originally committed as revision 19761 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
1d07029fea
commit
d2a47a578e
|
@ -45,32 +45,6 @@ static int flv_probe(AVProbeData *p)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Builds a Speex header.
|
|
||||||
* This is not needed for the libavcodec libspeex decoder, but is needed for
|
|
||||||
* stream copy and for decoders which require a header.
|
|
||||||
*/
|
|
||||||
static void flv_build_speex_header(uint8_t *extradata)
|
|
||||||
{
|
|
||||||
memset(extradata, 0, 80);
|
|
||||||
bytestream_put_buffer(&extradata, "Speex ", 8); // speex_string
|
|
||||||
bytestream_put_buffer(&extradata, "1.2rc1", 6); // speex_version
|
|
||||||
extradata += 14; // speex_version padding
|
|
||||||
bytestream_put_le32(&extradata, 1); // speex_version_id
|
|
||||||
bytestream_put_le32(&extradata, 80); // header_size
|
|
||||||
bytestream_put_le32(&extradata, 16000); // rate
|
|
||||||
bytestream_put_le32(&extradata, 1); // mode
|
|
||||||
bytestream_put_le32(&extradata, 4); // mode_bitstream_version
|
|
||||||
bytestream_put_le32(&extradata, 1); // nb_channels
|
|
||||||
bytestream_put_le32(&extradata, -1); // bitrate
|
|
||||||
bytestream_put_le32(&extradata, 320); // frame_size
|
|
||||||
// vbr = 0
|
|
||||||
// frames_per_packet = 0
|
|
||||||
// extra_headers = 0
|
|
||||||
// reserved1 = 0
|
|
||||||
// reserved2 = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
static void flv_set_audio_codec(AVFormatContext *s, AVStream *astream, int flv_codecid) {
|
static void flv_set_audio_codec(AVFormatContext *s, AVStream *astream, int flv_codecid) {
|
||||||
AVCodecContext *acodec = astream->codec;
|
AVCodecContext *acodec = astream->codec;
|
||||||
switch(flv_codecid) {
|
switch(flv_codecid) {
|
||||||
|
@ -90,13 +64,6 @@ static void flv_set_audio_codec(AVFormatContext *s, AVStream *astream, int flv_c
|
||||||
case FLV_CODECID_SPEEX:
|
case FLV_CODECID_SPEEX:
|
||||||
acodec->codec_id = CODEC_ID_SPEEX;
|
acodec->codec_id = CODEC_ID_SPEEX;
|
||||||
acodec->sample_rate = 16000;
|
acodec->sample_rate = 16000;
|
||||||
acodec->extradata = av_mallocz(80 + FF_INPUT_BUFFER_PADDING_SIZE);
|
|
||||||
if (acodec->extradata) {
|
|
||||||
acodec->extradata_size = 80;
|
|
||||||
flv_build_speex_header(acodec->extradata);
|
|
||||||
} else {
|
|
||||||
av_log(s, AV_LOG_WARNING, "Unable to create Speex extradata\n");
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case FLV_CODECID_MP3 : acodec->codec_id = CODEC_ID_MP3 ; astream->need_parsing = AVSTREAM_PARSE_FULL; break;
|
case FLV_CODECID_MP3 : acodec->codec_id = CODEC_ID_MP3 ; astream->need_parsing = AVSTREAM_PARSE_FULL; break;
|
||||||
case FLV_CODECID_NELLYMOSER_8KHZ_MONO:
|
case FLV_CODECID_NELLYMOSER_8KHZ_MONO:
|
||||||
|
|
Loading…
Reference in New Issue