<?php

declare(strict_types=1);

namespace Drupal\ffmpeg_media\VideoFilter;

use Drupal\ffmpeg_media\ValueObject\VideoInfo;

/**
 * Context passed to video filter providers during command building.
 */
final readonly class FilterContext {

  /**
   * Constructs a FilterContext.
   *
   * @param string $sourcePath
   *   Absolute path to the source video file.
   * @param string $outputType
   *   Output container type (e.g., 'webm', 'mp4', 'mkv').
   * @param \Drupal\ffmpeg_media\ValueObject\VideoInfo|null $videoInfo
   *   Source video information, if available.
   * @param string|null $profileId
   *   Active conversion profile ID, if any.
   * @param string $fieldName
   *   The entity field name this conversion targets.
   */
  public function __construct(
    public string $sourcePath,
    public string $outputType,
    public ?VideoInfo $videoInfo = NULL,
    public ?string $profileId = NULL,
    public string $fieldName = '',
  ) {}

}
