Skip to main content

Crate player_plugin

Crate player_plugin 

Source

Re-exports§

pub use source_normalizer::SourceNormalizerError;
pub use source_normalizer::SourceNormalizerNormalizeLevel;
pub use source_normalizer::SourceNormalizerOperationStatus;
pub use source_normalizer::SourceNormalizerOutputRoute;
pub use source_normalizer::SourceNormalizerPacket;
pub use source_normalizer::SourceNormalizerPacketCapabilities;
pub use source_normalizer::SourceNormalizerPacketLease;
pub use source_normalizer::SourceNormalizerPacketMediaKind;
pub use source_normalizer::SourceNormalizerPacketPluginFactory;
pub use source_normalizer::SourceNormalizerPacketSeek;
pub use source_normalizer::SourceNormalizerPacketSession;
pub use source_normalizer::SourceNormalizerPacketSessionConfig;
pub use source_normalizer::SourceNormalizerPacketSessionRequirements;
pub use source_normalizer::SourceNormalizerPacketStreamInfo;
pub use source_normalizer::SourceNormalizerPacketTrackInfo;
pub use source_normalizer::SourceNormalizerReadPacketMetadata;
pub use source_normalizer::SourceNormalizerReadPacketStatus;
pub use source_normalizer::SourceNormalizerRequiredCapabilities;
pub use source_normalizer::SourceNormalizerResourceCachePolicy;
pub use source_normalizer::SourceNormalizerResourceCapabilities;
pub use source_normalizer::SourceNormalizerResourceInfo;
pub use source_normalizer::SourceNormalizerResourcePluginFactory;
pub use source_normalizer::SourceNormalizerResourceSession;
pub use source_normalizer::SourceNormalizerResourceSessionConfig;
pub use source_normalizer::SourceNormalizerResourceSessionInfo;
pub use source_normalizer::SourceNormalizerResourceSessionRequirements;
pub use source_normalizer::SourceNormalizerResourceSessionState;
pub use source_normalizer::SourceNormalizerResourceSessionStatus;
pub use source_normalizer::SourceNormalizerResourceSessionWaitStatus;
pub use source_normalizer::SourceNormalizerSessionCapabilities;
pub use source_normalizer::SourceNormalizerSessionRequirements;

Modules§

source_normalizer

Structs§

AudioPlaybackPolicy
Playback policy applied to an audio processor chain.
AudioProcessorCapabilities
AudioProcessorChain
AudioProcessorOperationStatus
Empty success payload used by configure, flush, and close operations.
AudioProcessorSessionConfig
Configuration used to open one native audio processor session.
AudioProcessorSessionInfo
Metadata returned after opening one audio processor session.
BenchmarkEvent
One high-resolution benchmark event emitted by a host playback session.
BenchmarkEventBatch
Batch payload sent from the host to a benchmark sink plugin.
BenchmarkSinkReport
Final report returned by a benchmark sink when the host flushes a run.
BenchmarkSinkStatus
Lightweight acknowledgement returned after a sink receives one event batch.
BenchmarkThresholdViolation
CanonicalPluginArtifactDescriptor
CompletedDownloadInfo
CompletedStream
DecoderCapabilities
Decoder plugin capability payload returned through the dynamic ABI.
DecoderCodecCapability
Describes one codec a decoder plugin can open.
DecoderNativeFrame
A decoded native frame returned by the Rust-side decoder session trait.
DecoderNativeFrameMetadata
Metadata for a decoded native frame. The native handle is transferred separately.
DecoderNativeFrameReleaseTracking
Release tracking diagnostics attached to a native frame.
DecoderNativeRequirements
Native-frame decoder requirements advertised through the plugin ABI.
DecoderOperationStatus
Empty success payload used by flush/close operations.
DecoderPacket
Compressed packet metadata passed to NativeDecoderSession::send_packet.
DecoderPacketResult
Result returned after sending one compressed packet.
DecoderPcmFrame
A decoded PCM audio frame returned by an audio decoder session.
DecoderPcmFrameMetadata
Metadata for a decoded PCM audio frame.
DecoderReceiveNativeFrameMetadata
Metadata returned by the dynamic native-frame receive call.
DecoderReceivePcmFrameMetadata
Receive state encoded in PCM frame metadata over the future audio decoder ABI.
DecoderSessionConfig
Configuration used to open a decoder session.
DecoderSessionInfo
Optional session metadata returned by a plugin after opening a decoder.
DecoderSessionRequirements
Requirements a host session needs from a decoder plugin.
DecoderVisibleRect
Visible content rectangle within a coded native frame.
DownloadMetadata
FrameProcessorCapabilities
Native-frame capabilities advertised by a frame processor plugin.
FrameProcessorFrameTimings
Timing metadata reported for one processed output.
FrameProcessorInputFrame
Call-scoped view of a host-owned native frame submitted to a processor.
FrameProcessorOperationStatus
Empty success payload used by flush/close operations.
FrameProcessorOutputFrame
Processor-owned output frame returned by a frame processor session.
FrameProcessorReceiveFrameMetadata
Metadata returned by the dynamic ABI receive call.
FrameProcessorSessionConfig
Configuration used to open one frame processor session.
FrameProcessorSessionInfo
Optional session metadata returned after opening a frame processor session.
FrameProcessorSessionRequirements
Capability requirements used when opening one frame processor session.
FrameProcessorSubmitFrame
Frame metadata and scheduling hints submitted to a frame processor.
FrameProcessorSubmitResult
Structured result returned by a submit operation.
NativeFrame
A native frame handle plus metadata.
NativeFrameColorMetadata
Color characteristics that must be preserved for HDR native-frame playback.
NativeFrameContentLightMetadata
Content light metadata carried by HDR streams.
NativeFrameDolbyVisionMetadata
Dolby Vision stream metadata used for diagnostics and route selection.
NativeFrameHdrMetadata
Structured HDR metadata attached to tracks and native frames.
NativeFrameMasteringDisplayMetadata
Mastering display metadata carried by HDR10-style streams.
NativeFrameMetadata
Metadata shared by native frame producers, processors, and consumers.
NativeFrameReleaseTracking
Release tracking diagnostics attached to a native frame.
NativeFrameSyncInfo
Platform synchronization information associated with a native frame.
NativeFrameTransform
Display transform metadata that must be preserved across native-frame stages.
PipelineEvent
One bounded, transport-neutral event emitted by a host pipeline.
PipelineEventHookOutcome
Plugin
Fully validated plugin definition returned by an exported factory.
PluginActivePlaybackCorrelation
Correlation carried by one active playback scope.
PluginArtifactCapability
A capability exposed by one artifact. The descriptor owns the interface identity; executable availability is established later by the runtime.
PluginArtifactDescriptor
Artifact metadata that can be inspected without opening the artifact.
PluginBuilder
Safe builder used by Rust plugin authors.
PluginCatalog
Immutable catalog projection. Construction validates and sorts records; querying it cannot load or instantiate a plugin.
PluginCatalogDiagnostic
Bounded, redacted provenance diagnostic kept with a catalog record.
PluginCatalogRecord
A catalog record adds immutable artifact provenance and content identity to PluginArtifactDescriptor. It intentionally has no live owner field.
PluginDiagnostic
PluginInvocationPolicy
Host-owned policy that keeps transport labels separate from workload safety.
PluginInvocationPolicyError
Typed rejection from the host-owned transport workload policy.
PluginMeasurement
PluginNextPrewarmCorrelation
Correlation carried by the one allowed next-item prewarm scope.
PluginOwnerDisposalError
Signals that an owner cleanup completed but could not release its resource.
PluginOwnerToken
Non-zero disposer identity that is unique within one PluginRuntime.
PluginPlan
Canonical metadata-only result that can be inspected before runtime startup.
PluginPlanPolicy
Immutable host policy snapshot bound into a plugin plan fingerprint.
PluginPlanProvider
One service selection stored without a live artifact owner or session.
PluginPlaybackAttachment
One runtime-local attachment to a managed metadata-only scope.
PluginPlaybackAttachmentToken
Runtime-local token that invalidates stale slot attachments.
PluginPlaybackTransitionReport
Bounded settlement result from promoting or replacing active playback.
PluginProvision
A typed service/capability provided by an artifact.
PluginReference
Explicit selection of one plugin and transport.
PluginRequirement
A typed provider declaration. Resolution is intentionally outside the catalog; this value only records the author-owned requirement.
PluginResolution
Pure result of provider resolution. Artifacts are ordered dependency-first.
PluginResolvedProvider
One selected service provider and its immutable artifact metadata.
PluginResolver
Resolves service providers from an immutable catalog without artifact I/O.
PluginResolverPolicy
Host-owned compatibility and preference inputs for one resolution.
PluginResourcePolicy
Bounded resource declarations used by a future resolver policy.
PluginRuntime
Runtime owner for one immutable plan and its root scope.
PluginRuntimeDependency
A native/runtime dependency declaration preserved as catalog metadata.
PluginScope
A hierarchical lifecycle coordinator that never carries media data.
PluginScopeCloseReport
Bounded aggregate from one settlement attempt.
PluginScopeQuarantine
PluginSessionCorrelation
Plan and sequence identity shared by active playback and next-item prewarm.
ProcessorCapabilities
VisibleRect
Visible content rectangle within a coded native frame.

Enums§

AssemblyMode
AudioPitchMode
Pitch behavior requested from an audio processing chain.
AudioProcessorError
AudioProcessorSubmitStatus
BenchmarkSinkError
Error payload shared by benchmark sink plugins and host-side adapters.
CompletedContentFormat
ContentFormatKind
DecoderBitstreamFormat
Compressed video bitstream representation expected by a native decoder.
DecoderError
Error payload shared by decoder plugins and host-side adapters.
DecoderFrameFormat
Decoded frame formats advertised by decoder plugins.
DecoderMediaKind
Media kind handled by a decoder plugin.
DecoderNativeDeviceContext
Borrowed native device/context pointer passed from host to decoder plugin.
DecoderNativeDeviceContextKind
Native graphics device/context kinds that a host may share with a decoder plugin.
DecoderNativeHandleKind
Native frame handle kinds returned by the decoder plugin ABI.
DecoderPcmSampleLayout
PCM sample layout returned by audio decoder plugins.
DecoderReceiveFrameStatus
Receive state encoded in frame metadata over the C ABI.
DecoderReceiveNativeFrameOutput
Rust-side receive result returned by native decoder sessions.
DecoderReceivePcmFrameOutput
Rust-side receive result returned by audio decoder sessions.
FrameProcessorError
Error payload shared by frame processor plugins and host-side adapters.
FrameProcessorReceiveOutput
Rust-side receive result returned by frame processor sessions.
FrameProcessorReceiveStatus
Receive state encoded in frame processor output metadata over the C ABI.
FrameProcessorSubmitStatus
Submit state returned after handing a frame to a processor.
NativeFramePipelineProfile
Cross-component native-frame pipeline profiles used for decoder/processor/presenter matching.
NativeHandleKind
Native frame handle kinds shared by decoder, frame processor, and presenter paths.
OutputFormat
PipelineEventHookError
PluginArtifactFormat
Artifact packaging format independent of the loader implementation.
PluginArtifactTransport
Storage transport used by an artifact package. This is kept separate from capability selection’s PluginTransport so package provenance cannot be mistaken for workload support.
PluginBuildError
Errors reported while constructing one exported plugin root.
PluginCapability
Capability families that can be exported by a native Rust plugin.
PluginCatalogError
PluginCatalogSource
Why a catalog record came from a particular source. This is provenance, not a transport or capability claim.
PluginDiagnosticSeverity
PluginInvocationWorkload
Workload class used to select a plugin invocation transport.
PluginPlanError
PluginPlaybackAuthority
Authority that only the current active playback slot may exercise.
PluginPlaybackError
PluginPlaybackRole
Finite role held by one managed playback attachment.
PluginProtocolViolation
PluginReferenceError
PluginResolutionError
PluginRuntimeLinkage
PluginScopeError
PluginScopeKind
PluginScopeQuarantineReason
PluginScopeResource
PluginScopeState
PluginTransport
ProcessorError
ProcessorOutput
StreamKind

Constants§

DEFAULT_PLUGIN_RUNTIME_SHUTDOWN_TIMEOUT
Default total deadline used when a runtime is dropped.
DEFAULT_PLUGIN_SCOPE_CLOSE_TIMEOUT
Default total deadline for direct scope settlement.
MAX_BENCHMARK_BATCH_EVENTS
MAX_BENCHMARK_THRESHOLD_VIOLATIONS
MAX_PIPELINE_EVENT_INPUT_BYTES
Maximum encoded size of one pipeline event at a plugin transport boundary.
MAX_PLUGIN_ARCHITECTURE_BYTES
MAX_PLUGIN_ARTIFACT_CAPABILITIES
MAX_PLUGIN_ARTIFACT_PATH_BYTES
MAX_PLUGIN_ATTRIBUTES
MAX_PLUGIN_ATTRIBUTE_KEY_BYTES
MAX_PLUGIN_ATTRIBUTE_VALUE_BYTES
MAX_PLUGIN_CATALOG_DIAGNOSTICS
MAX_PLUGIN_CATALOG_RECORDS
MAX_PLUGIN_CATALOG_SOURCE_BYTES
MAX_PLUGIN_CORRELATION_ID_BYTES
Maximum UTF-8 bytes accepted for one non-secret correlation identifier.
MAX_PLUGIN_DIAGNOSTICS
MAX_PLUGIN_DIAGNOSTIC_MESSAGE_BYTES
MAX_PLUGIN_ERROR_MESSAGE_BYTES
MAX_PLUGIN_EVENT_ID_BYTES
MAX_PLUGIN_EVENT_NAME_BYTES
MAX_PLUGIN_MEASUREMENTS
MAX_PLUGIN_PLAN_PROVIDERS
Maximum selected providers implied by the resolver’s constraint budget.
MAX_PLUGIN_PLATFORM_BYTES
MAX_PLUGIN_PROTOCOL_BYTES
MAX_PLUGIN_PROVISIONS
MAX_PLUGIN_REQUIREMENTS
MAX_PLUGIN_RESOLUTION_CONSTRAINTS
Upper bound for accumulated root and transitive requirement constraints.
MAX_PLUGIN_RESOLUTION_STATES
Upper bound for deterministic backtracking states derived from catalog size.
MAX_PLUGIN_RESOURCE_IDENTITY_BYTES
MAX_PLUGIN_RUNTIME_DEPENDENCIES
MAX_PLUGIN_RUNTIME_OWNER_REGISTRATIONS
Maximum owner registrations during one runtime lifetime.
MAX_PLUGIN_RUNTIME_SCOPE_REGISTRATIONS
Maximum scope registrations during one runtime lifetime.
MAX_PLUGIN_SCOPE_CHILDREN
Maximum direct children retained by one scope.
MAX_PLUGIN_SCOPE_DEPTH
Maximum scope nesting below the runtime root.
MAX_PLUGIN_SCOPE_OWNERS
Maximum owner disposers retained by one scope.
MAX_PLUGIN_SCOPE_QUARANTINE_RECORDS
Maximum detailed quarantine records retained in one close report.
MAX_PLUGIN_SCOPE_REASON_BYTES
Maximum diagnostic bytes retained for a scope failure reason.
MAX_PLUGIN_TARGET_BYTES
MAX_PLUGIN_THREAD_BYTES
MAX_SOURCE_NORMALIZER_PACKET_BYTES
Maximum byte length of one source-normalizer packet payload.
PLUGIN_CATALOG_MIGRATION_VERSION
Migration guide identity carried by new catalog records.
PLUGIN_CATALOG_SCHEMA_VERSION
Version of the pure artifact/catalog wire model.
PLUGIN_PLAN_SCHEMA_VERSION
Version of the immutable plugin plan wire model.

Traits§

AudioProcessorPluginFactory
Safe factory exported by native Rust audio processor plugins.
AudioProcessorSession
BenchmarkSink
FrameProcessorPluginFactory
Creates frame processor sessions for one plugin.
FrameProcessorSession
Stateful native-frame processor session created by a frame processor plugin.
NativeDecoderPluginFactory
Creates native-frame decoder sessions for one plugin.
NativeDecoderSession
Stateful native-frame decoder session created by a decoder plugin factory.
PipelineEventHook
PostDownloadProcessor
ProcessorProgress

Functions§

normalize_decoder_codec_identifier
Normalizes MIME-wrapped and profile-qualified decoder codec identifiers.
validate_plugin_provisions
Validates author-facing provides declarations using the catalog’s canonical identity and semver rules.
validate_plugin_requirements
Validates author-facing requires declarations using the catalog’s canonical identity and semver rules.

Attribute Macros§

export
Exports a zero-argument plugin factory through the stable native entry.