{configure,avformat/movenc}: enable AC-3 parser for movenc

This simplifies the code to no longer have #ifs in a manner which
does not require handling avpriv_ac3_parse_header returning ENOSYS.

As an existing example, the MPEG-TS muxer already requires the AC-3
parser, and in order to fix existing issues with the current AC-3
movenc code, switching to use the AC-3 parser is required, so this
is an enabling change for that.

Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>
release/5.1
Jan Ekström 3 years ago committed by Jan Ekström
parent 92dc9c9d68
commit 3bb23a8b3c
  1. 2
      configure
  2. 4
      libavformat/movenc.c

2
configure vendored

@ -3444,7 +3444,7 @@ mlp_demuxer_select="mlp_parser"
mmf_muxer_select="riffenc" mmf_muxer_select="riffenc"
mov_demuxer_select="iso_media riffdec" mov_demuxer_select="iso_media riffdec"
mov_demuxer_suggest="zlib" mov_demuxer_suggest="zlib"
mov_muxer_select="iso_media riffenc rtpenc_chain vp9_superframe_bsf aac_adtstoasc_bsf" mov_muxer_select="iso_media riffenc rtpenc_chain vp9_superframe_bsf aac_adtstoasc_bsf ac3_parser"
mp3_demuxer_select="mpegaudio_parser" mp3_demuxer_select="mpegaudio_parser"
mp3_muxer_select="mpegaudioheader" mp3_muxer_select="mpegaudioheader"
mp4_muxer_select="mov_muxer" mp4_muxer_select="mov_muxer"

@ -408,7 +408,6 @@ struct eac3_info {
} substream[1]; /* TODO: support 8 independent substreams */ } substream[1]; /* TODO: support 8 independent substreams */
}; };
#if CONFIG_AC3_PARSER
static int handle_eac3(MOVMuxContext *mov, AVPacket *pkt, MOVTrack *track) static int handle_eac3(MOVMuxContext *mov, AVPacket *pkt, MOVTrack *track)
{ {
AC3HeaderInfo *hdr = NULL; AC3HeaderInfo *hdr = NULL;
@ -549,7 +548,6 @@ end:
return ret; return ret;
} }
#endif
static int mov_write_eac3_tag(AVFormatContext *s, AVIOContext *pb, MOVTrack *track) static int mov_write_eac3_tag(AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
{ {
@ -6093,7 +6091,6 @@ int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt)
} }
} }
#if CONFIG_AC3_PARSER
} else if (par->codec_id == AV_CODEC_ID_EAC3) { } else if (par->codec_id == AV_CODEC_ID_EAC3) {
size = handle_eac3(mov, pkt, trk); size = handle_eac3(mov, pkt, trk);
if (size < 0) if (size < 0)
@ -6101,7 +6098,6 @@ int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt)
else if (!size) else if (!size)
goto end; goto end;
avio_write(pb, pkt->data, size); avio_write(pb, pkt->data, size);
#endif
} else if (par->codec_id == AV_CODEC_ID_EIA_608) { } else if (par->codec_id == AV_CODEC_ID_EIA_608) {
size = 8; size = 8;

Loading…
Cancel
Save