mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
rmdemux: Parse and post bitrate for streams
Parse the bitrate of the streams and post their tags. Fixes #599299
This commit is contained in:
parent
db73c4337d
commit
6dd3525806
1 changed files with 22 additions and 1 deletions
|
@ -1492,7 +1492,8 @@ gst_rmdemux_add_stream (GstRMDemux * rmdemux, GstRMDemuxStream * stream)
|
|||
|
||||
/* save for later, we must send the tags after the newsegment event */
|
||||
if (codec_name != NULL && codec_tag != NULL) {
|
||||
stream->pending_tags = gst_tag_list_new ();
|
||||
if (stream->pending_tags == NULL)
|
||||
stream->pending_tags = gst_tag_list_new ();
|
||||
gst_tag_list_add (stream->pending_tags, GST_TAG_MERGE_KEEP,
|
||||
codec_tag, codec_name, NULL);
|
||||
}
|
||||
|
@ -1556,6 +1557,8 @@ gst_rmdemux_parse_mdpr (GstRMDemux * rmdemux, const guint8 * data, int length)
|
|||
guint str_len = 0;
|
||||
int stream_type;
|
||||
int offset;
|
||||
guint32 max_bitrate;
|
||||
guint32 avg_bitrate;
|
||||
|
||||
stream = g_new0 (GstRMDemuxStream, 1);
|
||||
|
||||
|
@ -1569,6 +1572,24 @@ gst_rmdemux_parse_mdpr (GstRMDemux * rmdemux, const guint8 * data, int length)
|
|||
stream->adapter = gst_adapter_new ();
|
||||
GST_LOG_OBJECT (rmdemux, "stream_number=%d", stream->id);
|
||||
|
||||
/* parse the bitrates */
|
||||
max_bitrate = RMDEMUX_GUINT32_GET (data + 2);
|
||||
avg_bitrate = RMDEMUX_GUINT32_GET (data + 6);
|
||||
GST_LOG_OBJECT (rmdemux, "Stream max bitrate=%u", max_bitrate);
|
||||
GST_LOG_OBJECT (rmdemux, "Stream avg bitrate=%u", avg_bitrate);
|
||||
if (max_bitrate != 0) {
|
||||
if (stream->pending_tags == NULL)
|
||||
stream->pending_tags = gst_tag_list_new ();
|
||||
gst_tag_list_add (stream->pending_tags, GST_TAG_MERGE_REPLACE,
|
||||
GST_TAG_MAXIMUM_BITRATE, max_bitrate, NULL);
|
||||
}
|
||||
if (avg_bitrate != 0) {
|
||||
if (stream->pending_tags == NULL)
|
||||
stream->pending_tags = gst_tag_list_new ();
|
||||
gst_tag_list_add (stream->pending_tags, GST_TAG_MERGE_REPLACE,
|
||||
GST_TAG_BITRATE, avg_bitrate, NULL);
|
||||
}
|
||||
|
||||
offset = 30;
|
||||
stream1_type_string = gst_rm_utils_read_string8 (data + offset,
|
||||
length - offset, &str_len);
|
||||
|
|
Loading…
Reference in a new issue