Message ID | 1595431659-664-3-git-send-email-lance.lmwang@gmail.com |
---|---|
State | Accepted |
Commit | cf81d64282167fc232d28c9e3c12ea8f2246f9fb |
Headers | show |
Series | [FFmpeg-devel,1/8] avformat/mpegts: add dvb ac3 descriptor metadata | expand |
Context | Check | Description |
---|---|---|
andriy/default | pending | |
andriy/make | success | Make finished |
andriy/make_fate | success | Make fate finished |
On Wed, 22 Jul 2020, lance.lmwang@gmail.com wrote: > From: Limin Wang <lance.lmwang@gmail.com> > > Signed-off-by: Limin Wang <lance.lmwang@gmail.com> > --- > libavformat/mpegtsenc.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c > index d827ba3..2d7a8ab 100644 > --- a/libavformat/mpegtsenc.c > +++ b/libavformat/mpegtsenc.c > @@ -483,16 +483,18 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) > /* write optional descriptors here */ > switch (st->codecpar->codec_type) { > case AVMEDIA_TYPE_AUDIO: > - if (st->codecpar->codec_id==AV_CODEC_ID_AC3 && (ts->flags & MPEGTS_FLAG_SYSTEM_B)) { > + if (ts->flags & MPEGTS_FLAG_SYSTEM_B) { > + if (st->codecpar->codec_id==AV_CODEC_ID_AC3) { > *q++=0x6a; // AC3 descriptor see A038 DVB SI > *q++=1; // 1 byte, all flags sets to 0 > *q++=0; // omit all fields... > } > - if (st->codecpar->codec_id==AV_CODEC_ID_EAC3 && (ts->flags & MPEGTS_FLAG_SYSTEM_B)) { > + else if (st->codecpar->codec_id==AV_CODEC_ID_EAC3) { > *q++=0x7a; // EAC3 descriptor see A038 DVB SI > *q++=1; // 1 byte, all flags sets to 0 > *q++=0; // omit all fields... > } > + } > if (st->codecpar->codec_id==AV_CODEC_ID_S302M) > put_registration_descriptor(&q, MKTAG('B', 'S', 'S', 'D')); > if (st->codecpar->codec_id==AV_CODEC_ID_OPUS) { LGTM, thanks. Marton
diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index d827ba3..2d7a8ab 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -483,16 +483,18 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) /* write optional descriptors here */ switch (st->codecpar->codec_type) { case AVMEDIA_TYPE_AUDIO: - if (st->codecpar->codec_id==AV_CODEC_ID_AC3 && (ts->flags & MPEGTS_FLAG_SYSTEM_B)) { + if (ts->flags & MPEGTS_FLAG_SYSTEM_B) { + if (st->codecpar->codec_id==AV_CODEC_ID_AC3) { *q++=0x6a; // AC3 descriptor see A038 DVB SI *q++=1; // 1 byte, all flags sets to 0 *q++=0; // omit all fields... } - if (st->codecpar->codec_id==AV_CODEC_ID_EAC3 && (ts->flags & MPEGTS_FLAG_SYSTEM_B)) { + else if (st->codecpar->codec_id==AV_CODEC_ID_EAC3) { *q++=0x7a; // EAC3 descriptor see A038 DVB SI *q++=1; // 1 byte, all flags sets to 0 *q++=0; // omit all fields... } + } if (st->codecpar->codec_id==AV_CODEC_ID_S302M) put_registration_descriptor(&q, MKTAG('B', 'S', 'S', 'D')); if (st->codecpar->codec_id==AV_CODEC_ID_OPUS) {