Fix smart rendering
pipeline: Restrict the presence only if the user didn't explicitly provided one
timeline: Add a simplified version of track selection signal Most user do not need to select several tracks for a single TrackElement and this signal is not binding friendly so this is adding a simpler, more user and binding friendly version
uri-source: Respect user stream selection
launch: Also print the position when disabling validate
launch: Print more useful information to stdout
build: Add an option to disable examples And make it yield as in other modules
launcher: Re activate smart rendering support Now also try to get the best encoding profile for smart rendering when the user didn't specify anything.
ges: Fix smart rendering Smart rendering has been broken since, mostly forever, but some code was there pretending it was supported... let's try to stop pretending. We now keep track of the smart rendering state in the timeline, track and sources to be able to: * tell decodebin to stop plugging more (decoding elements) as soon as downstream supports the format. * avoid plugging converters after the source element when smart rendering.
validate: Pipe debug output to a file when discovering scenarios Otherwise `gst-validate-launcher` can get veeery noisy
nle: Minor debug enhancement
tests: Mark audio identity as audio Otherwise GES fallbacks to video...
pipeline: stop setting the track caps Stop setting the track 'caps' property. The previous code could overwrite a users own setting of the caps for video and audio caps. Moreover, the 'caps' property is listed as construct only, and users will likely expect it to stay the same after a track has been added to a timeline.
launcher: Delay setting rendering setting to right before rendering So that user settings have been applied to the timeline taking into account any `validatetest` arguments
source: Refactor the way we plug converter elements Paving the way to skipping converters when rendering smartly
pipeline: Do not name urisink as `urisink` as it is useless And actually harmful in case you are debugging several pipelines.
pipeline: Remove urisink from timeline instead of unrefing it Doing what was suggested in the FIXME and avoiding to unref something it while we do not actually own it ourself.
pipeline: Discard encoding profiles that don't match any track Otherwise we get a 'not linked' error and we should just help the user as we can here. If the user adds a new track, he should set a new encoding profile anyway.
uri*source: Factor out common logic into a GESUriSource private data The two classes are *very* close but have different hierarchy so this introduces a new GESUriSource structure that is used as private structure by both subclasses and makes most of the logic shared this way.
*uri-source: Call free from the object ->finalize not ->dispose