On Tue, 27 Feb 2018 00:09:47 -0300 James Almer <jamr...@gmail.com> wrote:
> Signed-off-by: James Almer <jamr...@gmail.com> > --- > libavformat/mxg.c | 17 +++++++++++------ > 1 file changed, 11 insertions(+), 6 deletions(-) > > diff --git a/libavformat/mxg.c b/libavformat/mxg.c > index 6fbf99cfa3..fe5879ecf0 100644 > --- a/libavformat/mxg.c > +++ b/libavformat/mxg.c > @@ -169,11 +169,14 @@ static int mxg_read_packet(AVFormatContext *s, AVPacket > *pkt) > continue; > } > > + size = mxg->buffer_ptr - mxg->soi_ptr; > + ret = av_new_packet(pkt, size); > + if (ret < 0) > + return ret; > + memcpy(pkt->data, mxg->soi_ptr, size); > + > pkt->pts = pkt->dts = mxg->dts; > pkt->stream_index = 0; > - pkt->buf = NULL; > - pkt->size = mxg->buffer_ptr - mxg->soi_ptr; > - pkt->data = mxg->soi_ptr; > > if (mxg->soi_ptr - mxg->buffer > mxg->cache_size) { > if (mxg->cache_size > 0) { > @@ -206,12 +209,14 @@ static int mxg_read_packet(AVFormatContext *s, AVPacket > *pkt) > mxg->buffer_ptr += size; > > if (marker == APP13 && size >= 16) { /* audio data */ > + ret = av_new_packet(pkt, size - 14); > + if (ret < 0) > + return ret; > + memcpy(pkt->data, startmarker_ptr + 16, size - 14); > + > /* time (GMT) of first sample in usec since 1970, > little-endian */ > pkt->pts = pkt->dts = AV_RL64(startmarker_ptr + 8); > pkt->stream_index = 1; > - pkt->buf = NULL; > - pkt->size = size - 14; > - pkt->data = startmarker_ptr + 16; > > if (startmarker_ptr - mxg->buffer > mxg->cache_size) { > if (mxg->cache_size > 0) { LGTM if FATE passes. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel