Re: [FFmpeg-devel] [PATCH] avformat/mxg: return reference counted packets
On 3/2/2018 12:10 PM, wm4 wrote: > On Tue, 27 Feb 2018 00:09:47 -0300 > James Almerwrote: > >> Signed-off-by: James Almer >> --- >> 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. Pushed, thanks. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avformat/mxg: return reference counted packets
On Tue, 27 Feb 2018 00:09:47 -0300 James Almerwrote: > Signed-off-by: James Almer > --- > 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
Re: [FFmpeg-devel] [PATCH] avformat/mxg: return reference counted packets
On 2/27/2018 12:09 AM, James Almer wrote: > Signed-off-by: James Almer> --- > 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) { Ping. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel