decodebin2: Don't post async-done when not needed

Where it was previously located, we would get async-done for the first
unknown-type, even if other valid streams would appear afterwards.
decode_bin_expose() will take care of posting async-done when the group
is exposed.

But we still want to post it in case the typefinding returned an unknown
type, in which case we will post it after posting an error.

These two changes ensure we do as much as possible before posting async-done.
This commit is contained in:
Edward Hervey 2010-09-29 18:54:28 +02:00
parent a0fa0ff8bf
commit b8dea19bbd

View file

@ -1522,7 +1522,6 @@ unknown_type:
gst_decode_bin_expose (dbin);
}
EXPOSE_UNLOCK (dbin);
do_async_done (dbin);
if (src == dbin->typefind) {
gchar *desc;
@ -1540,6 +1539,7 @@ unknown_type:
(_("Could not determine type of stream")),
("Stream caps %" GST_PTR_FORMAT, caps));
}
do_async_done (dbin);
}
return;
}