plugin: only create a src ghost pad #3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Only create a src ghost pad for the pipeline bin to avoid linking an unused sink ghost pad, as this may break delayed linking attempts.
The second argument from gst_parse_bin_from_description enables an automatic creation and linking of ghost pads. In the usual case only a src ghost pad is created, as a potential sink is not necessary and will not be linked to anything.
But in case of a (video) demux element linked with a consumer, the initial linking fails, due the demux element not knowing the streams and therefore not providing any src pads. As the consumer pad is not linked, a sink ghost pad is created and linked. When the demux element knows what streams it has, it creates its src pads and a delayed linking occurs. But as the consumer is already linked, the intended link with the demux element fails.
To avoid this error, we avoid the automatic ghost pad creation and instead manually create the src ghost pad.