[FFmpeg-devel] [PATCH] avformat/matroskaenc: Fix writing of markers
Martin Storsjö
martin at martin.st
Tue Aug 29 23:39:25 EEST 2023
On Mon, 28 Aug 2023, Martin Storsjö wrote:
> On Mon, 28 Aug 2023, Steinar H. Gunderson wrote:
>
>> When the marker writing code was merged from libav to FFmpeg
>> in dc62016c, it failed to take into account that the meaning of
>> cluster_pos had changed in bda5b662; in particular, the special
>> value for “I'm not currently working on a cluster” had changed
>> from 0 to -1. This makes the avio_write_marker() call never
>> be called. Update the if statement to fix it.
>>
>> Fixes: Ticket9843
>> Signed-off-by: Steinar H. Gunderson <steinar+ffmpeg at gunderson.no>
>> ---
>> libavformat/matroskaenc.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
>> index e813ef86cf7..1dfcf763e2d 100644
>> --- a/libavformat/matroskaenc.c
>> +++ b/libavformat/matroskaenc.c
>> @@ -3027,7 +3027,7 @@ static int mkv_write_packet(AVFormatContext *s, const
>> AVPacket *pkt)
>> }
>> }
>>
>> - if (!mkv->cluster_pos)
>> + if (mkv->cluster_pos == -1)
>> avio_write_marker(s->pb,
>> av_rescale_q(pkt->dts,
>> s->streams[pkt->stream_index]->time_base, AV_TIME_BASE_Q),
>> keyframe && (mkv->have_video ? codec_type ==
>> AVMEDIA_TYPE_VIDEO : 1) ? AVIO_DATA_MARKER_SYNC_POINT :
>> AVIO_DATA_MARKER_BOUNDARY_POINT);
>> --
>> 2.39.2
>
> LGTM, thanks, this sounds reasonable to me.
>
> I'll push it tomorrow or so.
Pushed now, thanks for the contribution!
// Martin
More information about the ffmpeg-devel
mailing list