mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 19:55:32 +00:00
Revert "discoverer: Consider parent/child streams the same if they have caps with the same name"
This reverts commit 478b7a8eb4
.
video/mpeg,systemstream=true / false distinguishes between container and
elementary stream.
This commit is contained in:
parent
478b7a8eb4
commit
5614862de1
1 changed files with 19 additions and 7 deletions
|
@ -1052,21 +1052,33 @@ find_stream_for_node (GstDiscoverer * dc, const GstStructure * topology)
|
|||
/* this can fail due to {framed,parsed}={TRUE,FALSE} differences, thus we filter
|
||||
* the parent */
|
||||
static gboolean
|
||||
child_is_same_stream (const GstCaps * parent, const GstCaps * child)
|
||||
child_is_same_stream (const GstCaps * _parent, const GstCaps * child)
|
||||
{
|
||||
const GstStructure *s1, *s2;
|
||||
GstCaps *parent;
|
||||
guint i, size;
|
||||
gboolean res;
|
||||
|
||||
if (parent == child)
|
||||
if (_parent == child)
|
||||
return TRUE;
|
||||
if (!parent)
|
||||
if (!_parent)
|
||||
return FALSE;
|
||||
if (!child)
|
||||
return FALSE;
|
||||
|
||||
s1 = gst_caps_get_structure (parent, 0);
|
||||
s2 = gst_caps_get_structure (child, 0);
|
||||
parent = gst_caps_copy (_parent);
|
||||
size = gst_caps_get_size (parent);
|
||||
|
||||
return gst_structure_has_name (s1, gst_structure_get_name (s2));
|
||||
for (i = 0; i < size; i++) {
|
||||
gst_structure_remove_field (gst_caps_get_structure (parent, i), "parsed");
|
||||
gst_structure_remove_field (gst_caps_get_structure (parent, i), "framed");
|
||||
gst_structure_remove_field (gst_caps_get_structure (parent, i),
|
||||
"stream-format");
|
||||
gst_structure_remove_field (gst_caps_get_structure (parent, i),
|
||||
"alignment");
|
||||
}
|
||||
res = gst_caps_can_intersect (parent, child);
|
||||
gst_caps_unref (parent);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue