On 6/14/20, Carl Eugen Hoyos <ceffm...@gmail.com> wrote:
> 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!

Do you have files that previously worked when being muxed by ffmpeg into mov?
Thats is only scenario that no longer works, old invalid ffmpeg
generated mov files.
I guess similar patch should be done for mov muxer. If not already.

>
> 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".
_______________________________________________
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".

Reply via email to