mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
parse aac extradata to fetch channels and sample rate, patch from Netgem
Originally committed as revision 17506 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
c132938d52
commit
d2718187b9
@ -23,6 +23,8 @@
|
|||||||
* License along with FFmpeg; if not, write to the Free Software
|
* License along with FFmpeg; if not, write to the Free Software
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "libavcodec/mpeg4audio.h"
|
||||||
#include "avformat.h"
|
#include "avformat.h"
|
||||||
#include "flv.h"
|
#include "flv.h"
|
||||||
|
|
||||||
@ -421,6 +423,18 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
if (type == 0) {
|
if (type == 0) {
|
||||||
if ((ret = flv_get_extradata(s, st, size)) < 0)
|
if ((ret = flv_get_extradata(s, st, size)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
if (st->codec->codec_id == CODEC_ID_AAC) {
|
||||||
|
MPEG4AudioConfig cfg;
|
||||||
|
ff_mpeg4audio_get_config(&cfg, st->codec->extradata,
|
||||||
|
st->codec->extradata_size);
|
||||||
|
if (cfg.chan_config > 7)
|
||||||
|
return -1;
|
||||||
|
st->codec->channels = ff_mpeg4audio_channels[cfg.chan_config];
|
||||||
|
st->codec->sample_rate = cfg.sample_rate;
|
||||||
|
dprintf(s, "mp4a config channels %d sample rate %d\n",
|
||||||
|
st->codec->channels, st->codec->sample_rate);
|
||||||
|
}
|
||||||
|
|
||||||
return AVERROR(EAGAIN);
|
return AVERROR(EAGAIN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user