Am So., 14. Juni 2020 um 14:22 Uhr schrieb Paul B Mahol <one...@gmail.com>: > > Fixes #4616. > > Signed-off-by: Paul B Mahol <one...@gmail.com> > --- > libavformat/mov.c | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/libavformat/mov.c b/libavformat/mov.c > index 2fc27d2aec..6d83a8a4b3 100644 > --- a/libavformat/mov.c > +++ b/libavformat/mov.c > @@ -7854,6 +7854,27 @@ static int mov_change_extradata(MOVStreamContext *sc, > AVPacket *pkt) > return 0; > } > > +static int get_eia608_packet(AVIOContext *pb, AVPacket *pkt, int size) > +{ > + int new_size, ret; > + > + if (size <= 8) > + return AVERROR_INVALIDDATA; > + new_size = ((size - 8) / 2) * 3; > + ret = av_new_packet(pkt, new_size); > + if (ret < 0) > + return ret; > + > + avio_skip(pb, 8); > + for (int j = 0; j < new_size; j += 3) { > + pkt->data[j] = 0xFC; > + pkt->data[j+1] = avio_r8(pb); > + pkt->data[j+2] = avio_r8(pb); > + } > + > + return 0; > +} > + > static int mov_read_packet(AVFormatContext *s, AVPacket *pkt) > { > MOVContext *mov = s->priv_data; > @@ -7898,6 +7919,9 @@ static int mov_read_packet(AVFormatContext *s, AVPacket > *pkt) > goto retry; > } > > + if (st->codecpar->codec_id == AV_CODEC_ID_EIA_608 && sample->size > > 8) > + ret = get_eia608_packet(sc->pb, pkt, sample->size); > + else > ret = av_get_packet(sc->pb, pkt, sample->size);
I have to repeat the question that I raised in the ticket: Doesn't this patch break remuxing of the subtitle stream? Thank you for looking into this issue! Carl Eugen _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".