previewers: Make sure only 1 audio and 1 video pipeline run concurrently
In order to be able to perform well in case we are trying to generate thumbnails and waves for many clips at the same time we need to manage the ressource in a concervative way. The idea in this commit is that we have an object that implements a queue of preview generator and control their execution. For that we also introduce a PreviewGenerator interface that must be implented by any class that generates previews. + We are now able to recover from errors in the waveform previewer, if we get an error on the bus, we stop the pipeline, and add the PreviewGenerator again to the PreviewGeneratorManager so it is tryed again latter, the second time there will be no rate modulation making it less error prone, we abandone after 2 times (1 with rate modulation, the other without) + The thumbnail generation stategy has been sensibly modified so that the thumbnails are generated *only* for the visible area, not the whole clip. This permit us to be able to get thumbnails for visible parts of all clips even though we generate thumbnails for 1 clip after the other.
parent
3cdd2dbe