mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-07 07:58:51 +00:00
decodebin2: Don't add non prerolled stream to topology
If a final stream didn't preroll, don't add it to the topology since it doesn't give any information at all. https://bugzilla.gnome.org/show_bug.cgi?id=632988
This commit is contained in:
parent
9c06f55e19
commit
a5752d8ea7
1 changed files with 12 additions and 4 deletions
|
@ -3000,6 +3000,12 @@ gst_decode_chain_get_topology (GstDecodeChain * chain)
|
||||||
GList *l;
|
GList *l;
|
||||||
GstCaps *caps;
|
GstCaps *caps;
|
||||||
|
|
||||||
|
if (G_UNLIKELY ((chain->endpad || chain->deadend)
|
||||||
|
&& (chain->endcaps == NULL))) {
|
||||||
|
GST_WARNING ("End chain without valid caps !");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
u = gst_structure_id_empty_new (topology_structure_name);
|
u = gst_structure_id_empty_new (topology_structure_name);
|
||||||
|
|
||||||
/* Now at the last element */
|
/* Now at the last element */
|
||||||
|
@ -3021,10 +3027,12 @@ gst_decode_chain_get_topology (GstDecodeChain * chain)
|
||||||
g_value_init (&item, GST_TYPE_STRUCTURE);
|
g_value_init (&item, GST_TYPE_STRUCTURE);
|
||||||
for (l = chain->active_group->children; l; l = l->next) {
|
for (l = chain->active_group->children; l; l = l->next) {
|
||||||
s = gst_decode_chain_get_topology (l->data);
|
s = gst_decode_chain_get_topology (l->data);
|
||||||
gst_value_set_structure (&item, s);
|
if (s) {
|
||||||
gst_value_list_append_value (&list, &item);
|
gst_value_set_structure (&item, s);
|
||||||
g_value_reset (&item);
|
gst_value_list_append_value (&list, &item);
|
||||||
gst_structure_free (s);
|
g_value_reset (&item);
|
||||||
|
gst_structure_free (s);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
gst_structure_id_set_value (u, topology_next, &list);
|
gst_structure_id_set_value (u, topology_next, &list);
|
||||||
g_value_unset (&list);
|
g_value_unset (&list);
|
||||||
|
|
Loading…
Reference in a new issue