[FFmpeg-devel] [PATCH v2] avformat/vpcc: fix VP9 metadata in FLV and RTMP

James Almer jamrial at gmail.com
Sun Sep 3 19:17:13 EEST 2023


On 9/3/2023 1:15 PM, aler9 wrote:
> sorry, to git add what?

You say you integrated my comment, but the contents of the patch are 
exactly the same.

> 
> Il giorno dom 3 set 2023 alle ore 18:02 James Almer <jamrial at gmail.com> ha
> scritto:
> 
>> On 9/3/2023 1:00 PM, Alessandro Ros wrote:
>>> I integrated James A. comment and fixed patch format.
>>
>> I think you forgot to git add.
>>
>>>
>>> In order to send VP9 tracks with FLV or RTMP, the enhanced RTMP
>>> specification tells that VPCodecConfigurationRecord, a.k.a. vpcC
>>> ISO-BMFF box, must be inserted into a metadata message. However, the
>>> function responsible for generating vpcCs currently returns invalid
>>> boxes, that are lacking the Version and Flag fields, inherited from
>>> FullBox. For some reason, both flags were being added manually in
>>> movenc. This patch fixes the issue.
>>>
>>> Signed-off-by: Alessandro Ros <aler9.dev at gmail.com>
>>> ---
>>>    libavformat/movenc.c | 3 ---
>>>    libavformat/vpcc.c   | 2 ++
>>>    2 files changed, 2 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/libavformat/movenc.c b/libavformat/movenc.c
>>> index 7ef6cef46a..696ae5a6c9 100644
>>> --- a/libavformat/movenc.c
>>> +++ b/libavformat/movenc.c
>>> @@ -1441,10 +1441,7 @@ static int mov_write_vpcc_tag(AVFormatContext *s,
>> AVIOContext *pb, MOVTrack *tra
>>>
>>>        avio_wb32(pb, 0);
>>>        ffio_wfourcc(pb, "vpcC");
>>> -    avio_w8(pb, 1); /* version */
>>> -    avio_wb24(pb, 0); /* flags */
>>>        ff_isom_write_vpcc(s, pb, track->vos_data, track->vos_len,
>> track->par);
>>> -
>>>        return update_size(pb, pos);
>>>    }
>>>
>>> diff --git a/libavformat/vpcc.c b/libavformat/vpcc.c
>>> index ea66959abf..256407dd6d 100644
>>> --- a/libavformat/vpcc.c
>>> +++ b/libavformat/vpcc.c
>>> @@ -208,6 +208,8 @@ int ff_isom_write_vpcc(AVFormatContext *s,
>> AVIOContext *pb,
>>>        if (ret < 0)
>>>            return ret;
>>>
>>> +    avio_w8(pb, 1); /* version */
>>> +    avio_wb24(pb, 0); /* flags */
>>>        avio_w8(pb, vpcc.profile);
>>>        avio_w8(pb, vpcc.level);
>>>        avio_w8(pb, (vpcc.bitdepth << 4) | (vpcc.chroma_subsampling << 1)
>> | vpcc.full_range_flag);
>> _______________________________________________
>> 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".
>>
> _______________________________________________
> 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".


More information about the ffmpeg-devel mailing list