2018-03-24 6:42 GMT+08:00 Jan Ekström <jee...@gmail.com>: > From: Jan Ekström <jan.ekst...@aminocom.com> > > Enables having proper bit rate values being written into the master > playlist in case of hard-constrained VBR where the maximum bit > rate utilized is known before hand. > > Does the same thing as movenc.c, for example. > > Signed-off-by: Jan Ekström <jan.ekst...@aminocom.com> > --- > libavformat/hlsenc.c | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) > > diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c > index b7c6fbde6a..07569dbff1 100644 > --- a/libavformat/hlsenc.c > +++ b/libavformat/hlsenc.c > @@ -1174,6 +1174,17 @@ static int get_relative_url(const char *master_url, > const char *media_url, > return 0; > } > > +static int64_t get_stream_bit_rate(AVStream *stream) { > + AVCPBProperties *props = > (AVCPBProperties*)av_stream_get_side_data(stream, AV_PKT_DATA_CPB_PROPERTIES, > NULL); > + > + if (stream->codecpar->bit_rate) > + return stream->codecpar->bit_rate; > + else if (props) > + return props->max_bitrate; > + > + return 0; > +} > + > static int create_master_playlist(AVFormatContext *s, > VariantStream * const input_vs) > { > @@ -1300,9 +1311,9 @@ static int create_master_playlist(AVFormatContext *s, > > bandwidth = 0; > if (vid_st) > - bandwidth += vid_st->codecpar->bit_rate; > + bandwidth += get_stream_bit_rate(vid_st); > if (aud_st) > - bandwidth += aud_st->codecpar->bit_rate; > + bandwidth += get_stream_bit_rate(aud_st); > bandwidth += bandwidth / 10; > > ccgroup = NULL; > -- > 2.14.3 >
LGTM Thanks Steven _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel