[FFmpeg-devel] [PATCH] lavf/mpegtsenc: write metadata descriptor for timed ID3 packets

Stefano Sabatini stefasab at gmail.com
Sun Aug 21 11:44:27 EEST 2016


On date Saturday 2016-08-20 18:57:52 +0200, Michael Niedermayer encoded:
> On Sat, Aug 20, 2016 at 03:48:35PM +0200, Stefano Sabatini wrote:
> > On date Thursday 2016-05-19 18:45:35 +0200, Stefano Sabatini encoded:
> > > This is required since some softwares are not able to correctly recognize
> > > the metadata.
> > > ---
> > >  libavformat/mpegtsenc.c | 24 ++++++++++++++----------
> > >  1 file changed, 14 insertions(+), 10 deletions(-)
> > 
> > Updated, with some more documentation and references to the MPEGTS
> > standard.
> > 
> > Note: this patch was created comparing the output of FFmpeg with those
> > from encoding.com and elemental. With the change the output metadata
> > can be read by third-party players.
> > 
> > If the maintainers prefer, I can enable this output mode through a
> > flag.
> > -- 
> > FFmpeg = Fiendish & Fiendish Mastering Purposeless Egregious Goblin
> 
> >  mpegtsenc.c |   24 ++++++++++++++----------
> >  1 file changed, 14 insertions(+), 10 deletions(-)
> > 3a6655bca70653c64bfb5f2073d01feee73e64c2  0003-lavf-mpegtsenc-write-metadata-descriptor-for-timed-I.patch
> > From 20f22c426a9f5c59d28f66a17b59d62301503d67 Mon Sep 17 00:00:00 2001
> > From: Stefano Sabatini <stefasab at gmail.com>
> > Date: Tue, 12 Apr 2016 18:16:21 +0200
> > Subject: [PATCH] lavf/mpegtsenc: write metadata descriptor for timed ID3
> >  packets
> > 
> > This is required since some programs are not able to correctly recognize
> > the metadata. See H.222, 2.6.58 Metadata pointer descriptor.
> > 
> > putstr8() is modified in order to allow to skip writing the string
> > length.
> > ---
> >  libavformat/mpegtsenc.c | 24 ++++++++++++++----------
> >  1 file changed, 14 insertions(+), 10 deletions(-)
> > 
> > diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
> > index b437100..6f40615 100644
> > --- a/libavformat/mpegtsenc.c
> > +++ b/libavformat/mpegtsenc.c
> > @@ -256,7 +256,7 @@ static void mpegts_write_pat(AVFormatContext *s)
> >  }
> >  
> >  /* NOTE: !str is accepted for an empty string */
> > -static void putstr8(uint8_t **q_ptr, const char *str)
> > +static void putstr8(uint8_t **q_ptr, const char *str, int write_len)
> 
> breaks build, putstr8() seems after the place where a use is added
> in git master, or i did somehing silly

Another patch is needed (already approved, but doesn't make sense
without this other patch), in attachment.
-- 
FFmpeg = Funny and Fancy Mournful Puristic Evil Glue
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-lavf-mpegtsenc-move-putstr8-definition-up.patch
Type: text/x-diff
Size: 1613 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160821/6350eb44/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-lavf-mpegtsenc-write-metadata-descriptor-for-timed-I.patch
Type: text/x-diff
Size: 2651 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160821/6350eb44/attachment-0001.patch>


More information about the ffmpeg-devel mailing list