public void SetDocumentParameters(ManifestParameters docParams) { parameters = docParams; // Setting new doc parameters for dynamic content require // data purge. timelinePurged = !parameters.Document.IsDynamic; }
private void ProcessManifest(CancellationToken token) { logger.Info(""); token.ThrowIfCancellationRequested(); var tmpPeriod = GetPeriod(token); if (tmpPeriod == null) { // If we do not have a period, force HasChanged flag to be set // regardless of document publish time. // Manifest.ForceHasChangedOnNextReload(); return; } if (!Manifest.HasChanged) { return; } // Set period with Manifest Parameters. Will be applied to ALL media within period. // var manifestParams = new ManifestParameters(Manifest.CurrentDocument, tmpPeriod) { PlayClock = Manifest.CurrentDocument.WallClock(CurrentTime) }; tmpPeriod.SetManifestParameters(manifestParams); // Apply new manifest // // Success = Start of playback. // Failure = Static Content: Termination signaled by exception. // Dynamic content: Do manifest reload and force "has changed" flag to be set // to allow re-application of manifest regardless of its content change. // // Manageable errors will be notified by ArgumentException and handled by the caller. // ApplyPeriod(token, tmpPeriod); NotifyDurationChange(); BuildSubtitleInfos(tmpPeriod); token.ThrowIfCancellationRequested(); manifestReadySubject.OnNext(Unit.Default); }
public void SetDocumentParameters(ManifestParameters docParams) { parameters = docParams; }