#include "libavutil/common.h"
#include "avcodec.h"
+#include "internal.h"
#include "mpegaudio.h"
#include "mpegaudiodata.h"
#include "mpegaudiodecheader.h"
{
int sample_rate, frame_size, mpeg25, padding;
int sample_rate_index, bitrate_index;
+ int ret;
+
+ ret = ff_mpa_check_header(header);
+ if (ret < 0)
+ return ret;
+
if (header & (1<<20)) {
s->lsf = (header & (1<<19)) ? 0 : 1;
mpeg25 = 0;
}
#if defined(DEBUG)
- av_dlog(NULL, "layer%d, %d Hz, %d kbits/s, ",
+ ff_dlog(NULL, "layer%d, %d Hz, %d kbits/s, ",
s->layer, s->sample_rate, s->bit_rate);
if (s->nb_channels == 2) {
if (s->layer == 3) {
if (s->mode_ext & MODE_EXT_MS_STEREO)
- av_dlog(NULL, "ms-");
+ ff_dlog(NULL, "ms-");
if (s->mode_ext & MODE_EXT_I_STEREO)
- av_dlog(NULL, "i-");
+ ff_dlog(NULL, "i-");
}
- av_dlog(NULL, "stereo");
+ ff_dlog(NULL, "stereo");
} else {
- av_dlog(NULL, "mono");
+ ff_dlog(NULL, "mono");
}
- av_dlog(NULL, "\n");
+ ff_dlog(NULL, "\n");
#endif
return 0;
}
-int avpriv_mpa_decode_header(AVCodecContext *avctx, uint32_t head, int *sample_rate, int *channels, int *frame_size, int *bit_rate)
+int ff_mpa_decode_header(AVCodecContext *avctx, uint32_t head, int *sample_rate,
+ int *channels, int *frame_size, int *bit_rate)
{
MPADecodeHeader s1, *s = &s1;
- if (ff_mpa_check_header(head) != 0)
- return -1;
-
if (avpriv_mpegaudio_decode_header(s, head) != 0) {
return -1;
}
break;
default:
case 3:
- avctx->codec_id = AV_CODEC_ID_MP3;
+ if (avctx->codec_id != AV_CODEC_ID_MP3ADU)
+ avctx->codec_id = AV_CODEC_ID_MP3;
if (s->lsf)
*frame_size = 576;
else
*bit_rate = s->bit_rate;
return s->frame_size;
}
+
+#if LIBAVCODEC_VERSION_MAJOR < 57
+int avpriv_mpa_decode_header(AVCodecContext *avctx, uint32_t head, int *sample_rate, int *channels, int *frame_size, int *bit_rate)
+{
+ return ff_mpa_decode_header(avctx, head, sample_rate, channels, frame_size, bit_rate);
+}
+#endif