[FFmpeg-devel] [PATCH] rtpdec_mpeg4: Add fmtp parsing of bitrate value

Marvin Scholz epirat07 at gmail.com
Fri Mar 21 06:11:34 EET 2025



On 26 Sep 2022, at 21:24, Marvin Scholz wrote:

> According to RFC 6416 the audio stream sender can pass the data rate
> for the audio bitstream as "bitrate=" media format parameter.
>
> Signed-off-by: Marvin Scholz <epirat07 at gmail.com>
> ---

Somehow the correct author line got lost when I sent that patch...

It should be:

Author: Erik Linge <erikli at axis.com>

>  libavformat/rtpdec_mpeg4.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/libavformat/rtpdec_mpeg4.c b/libavformat/rtpdec_mpeg4.c
> index 6531632b2d..06c96b38cb 100644
> --- a/libavformat/rtpdec_mpeg4.c
> +++ b/libavformat/rtpdec_mpeg4.c
> @@ -38,6 +38,7 @@
>
>  /** Structure listing useful vars to parse RTP packet payload */
>  struct PayloadContext {
> +    int bitrate;
>      int sizelength;
>      int indexlength;
>      int indexdeltalength;
> @@ -83,6 +84,9 @@ typedef struct AttrNameMap {
>  #define ATTR_NAME_TYPE_INT 0
>  #define ATTR_NAME_TYPE_STR 1
>  static const AttrNameMap attr_names[] = {
> +    { "bitrate",       ATTR_NAME_TYPE_INT,
> +      offsetof(PayloadContext, bitrate),
> +      {0, INT32_MAX} },
>      { "SizeLength",       ATTR_NAME_TYPE_INT,
>        offsetof(PayloadContext, sizelength),
>        {0, 32} }, // SizeLength number of bits used to encode AU-size integer value
> @@ -332,6 +336,9 @@ static int parse_fmtp(AVFormatContext *s,
>                  }
>              }
>          }
> +        if (!strcmp(attr, "bitrate")) {
> +            par->bit_rate = data->bitrate;
> +        }
>      }
>      return 0;
>  }
>
> base-commit: 0ce405afb8df221b3a975a30b5c229449c8ed7da
> -- 
> 2.39.5 (Apple Git-154)


More information about the ffmpeg-devel mailing list