ffmpeg | branch: master | Erik Linge <eri...@axis.com> | Mon Sep 26 21:24:25 
2022 +0200| [09a83e095d84fe91223a1cd309dc6ed221baa8e1] | committer: Marvin 
Scholz

rtpdec_mpeg4: Add fmtp parsing of bitrate value

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 <epira...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=09a83e095d84fe91223a1cd309dc6ed221baa8e1
---

 libavformat/rtpdec_mpeg4.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/libavformat/rtpdec_mpeg4.c b/libavformat/rtpdec_mpeg4.c
index c506bcbed1..80e89bda70 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;
 }

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to