summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2014-10-09 11:46:23 +0300
committerSebastian Dröge <sebastian@centricular.com>2014-10-09 11:46:23 +0300
commit2817472b9ede1034d9592ccea524fc0103bc5b62 (patch)
tree645baaa5163914d56e232ce3d49bab69035fcd88 /gst
parentb1a286cd7c6b1a4bc6a8e81cac79aa3ccd5ff523 (diff)
downloadgstreamer-plugins-bad-2817472b9ede1034d9592ccea524fc0103bc5b62.tar.gz
h265parse: expose parsed profile, tier and level to downstream
https://bugzilla.gnome.org/show_bug.cgi?id=732239
Diffstat (limited to 'gst')
-rw-r--r--gst/videoparsers/gsth265parse.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gst/videoparsers/gsth265parse.c b/gst/videoparsers/gsth265parse.c
index fa4ad50e6..70ddba95e 100644
--- a/gst/videoparsers/gsth265parse.c
+++ b/gst/videoparsers/gsth265parse.c
@@ -1359,6 +1359,19 @@ gst_h265_parse_update_src_caps (GstH265Parse * h265parse, GstCaps * caps)
gst_buffer_replace (&h265parse->codec_data, NULL);
}
+ /* set profile and level in caps */
+ if (sps) {
+ GstMapInfo map;
+ GstBuffer *sps_buf = h265parse->sps_nals[sps->id];
+
+ if (sps_buf) {
+ gst_buffer_map (sps_buf, &map, GST_MAP_READ);
+ gst_codec_utils_h265_caps_set_level_tier_and_profile (caps,
+ map.data + 1, map.size - 1);
+ gst_buffer_unmap (sps_buf, &map);
+ }
+ }
+
gst_pad_set_caps (GST_BASE_PARSE_SRC_PAD (h265parse), caps);
}