mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-11 17:30:00 +01:00
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 <epirat07@gmail.com>
This commit is contained in:
committed by
Marvin Scholz
parent
cacc68f3b5
commit
09a83e095d
@@ -38,6 +38,7 @@
|
|||||||
|
|
||||||
/** Structure listing useful vars to parse RTP packet payload */
|
/** Structure listing useful vars to parse RTP packet payload */
|
||||||
struct PayloadContext {
|
struct PayloadContext {
|
||||||
|
int bitrate;
|
||||||
int sizelength;
|
int sizelength;
|
||||||
int indexlength;
|
int indexlength;
|
||||||
int indexdeltalength;
|
int indexdeltalength;
|
||||||
@@ -83,6 +84,9 @@ typedef struct AttrNameMap {
|
|||||||
#define ATTR_NAME_TYPE_INT 0
|
#define ATTR_NAME_TYPE_INT 0
|
||||||
#define ATTR_NAME_TYPE_STR 1
|
#define ATTR_NAME_TYPE_STR 1
|
||||||
static const AttrNameMap attr_names[] = {
|
static const AttrNameMap attr_names[] = {
|
||||||
|
{ "bitrate", ATTR_NAME_TYPE_INT,
|
||||||
|
offsetof(PayloadContext, bitrate),
|
||||||
|
{0, INT32_MAX} },
|
||||||
{ "SizeLength", ATTR_NAME_TYPE_INT,
|
{ "SizeLength", ATTR_NAME_TYPE_INT,
|
||||||
offsetof(PayloadContext, sizelength),
|
offsetof(PayloadContext, sizelength),
|
||||||
{0, 32} }, // SizeLength number of bits used to encode AU-size integer value
|
{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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user