[FFmpeg-devel] [PATCH v2] avformat/hlsenc: Fix initial setting for start_pts

Steven Liu lq at chinaffmpeg.org
Thu Mar 12 07:16:44 EET 2020



> 2020年3月11日 上午7:06,Steven Liu <lq at chinaffmpeg.org> 写道:
> 
>> 
>> 2020年3月7日 上午11:26,Steven Liu <lq at chinaffmpeg.org> 写道:
>> 
>> 
>> 
>>> 2020年3月6日 上午11:58,Hongcheng Zhong <sj.hc_zhong at sjtu.edu.cn> 写道:
>>> 
>>> This patch fixes Bug #8469
>>> If x264 baseline profile is used with other profiles,
>>> start_pts will be initialized to audio stream's first pts,
>>> while the duration is calculated based on video stream's pts.
>>> In this patch the start_pts is initialized with the correct stream's first pts.
>>> 
>>> Signed-off-by: Hongcheng Zhong <sj.hc_Zhong at sjtu.edu.cn>
>>> ---
>>> libavformat/hlsenc.c | 7 +++++++
>>> 1 file changed, 7 insertions(+)
>>> 
>>> diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
>>> index f6dd894..19aa2b1 100644
>>> --- a/libavformat/hlsenc.c
>>> +++ b/libavformat/hlsenc.c
>>> @@ -126,6 +126,7 @@ typedef struct VariantStream {
>>>   int has_video;
>>>   int has_subtitle;
>>>   int new_start;
>>> +    int start_pts_from_audio;
>>>   double dpp;           // duration per packet
>>>   int64_t start_pts;
>>>   int64_t end_pts;
>>> @@ -2274,6 +2275,12 @@ static int hls_write_packet(AVFormatContext *s, AVPacket *pkt)
>>> 
>>>   if (vs->start_pts == AV_NOPTS_VALUE) {
>>>       vs->start_pts = pkt->pts;
>>> +        if (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO)
>>> +            vs->start_pts_from_audio = 1;
>>> +    }
>>> +    if (vs->start_pts_from_audio && st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO && vs->start_pts > pkt->pts) {
>>> +        vs->start_pts = pkt->pts;
>>> +        vs->start_pts_from_audio = 0;
>>>   }
>>> 
>>>  if (vs->has_video) {
>>> -- 
>>> 2.7.4
>>> 
>>> _______________________________________________
>>> ffmpeg-devel mailing list
>>> ffmpeg-devel at ffmpeg.org
>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>> 
>>> To unsubscribe, visit link above, or email
>>> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe”.
>> LGTM
>> 
> 
> Will apply if there have no more comments.
Applied

> 
> Thanks
> 
> Steven





More information about the ffmpeg-devel mailing list