mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-22 23:28:16 +00:00
isomp4/qtmux: allow renegotiating when tier / level / profile change
Those are carried either in codec_data or in-band SPS (for avc3), and it is OK for those to change, though decoders obviously need to support it. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047>
This commit is contained in:
parent
896c49cf49
commit
cb75eda13b
1 changed files with 10 additions and 1 deletions
|
@ -5740,9 +5740,18 @@ check_field (GQuark field_id, const GValue * value, gpointer user_data)
|
|||
|
||||
if (g_strcmp0 (name, "video/x-h264") == 0 ||
|
||||
g_strcmp0 (name, "video/x-h265") == 0) {
|
||||
/* we support muxing multiple codec_data structures */
|
||||
/* We support muxing multiple codec_data structures, and the new SPS
|
||||
* will contain updated tier / level / profiles, which means we do
|
||||
* not need to fail renegotiation when those change.
|
||||
*/
|
||||
if (g_strcmp0 (g_quark_to_string (field_id), "codec_data") == 0) {
|
||||
return TRUE;
|
||||
} else if (g_strcmp0 (g_quark_to_string (field_id), "tier") == 0) {
|
||||
return TRUE;
|
||||
} else if (g_strcmp0 (g_quark_to_string (field_id), "level") == 0) {
|
||||
return TRUE;
|
||||
} else if (g_strcmp0 (g_quark_to_string (field_id), "profile") == 0) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue