Add keys() to IOStream trait — streams know their own decrypt keys
- IOStream::keys() default returns DecryptKeys::None - IsoStream and DiscStream override with real AACS/CSS keys - Pipeline calls input.keys() instead of separate scan_keys() - Streams are self-contained: read bytes + provide keys
This commit is contained in:
+8
-2
@@ -36,8 +36,8 @@ pub mod resolve;
|
||||
pub mod stdio;
|
||||
pub mod ts;
|
||||
|
||||
pub use disc::{DiscOptions, DiscStream};
|
||||
pub use iso::IsoStream;
|
||||
pub use disc::{DiscOpenResult, DiscStream};
|
||||
pub use iso::{IsoSectorReader, IsoStream};
|
||||
pub use m2ts::M2tsStream;
|
||||
pub use mkvstream::MkvStream;
|
||||
pub use network::NetworkStream;
|
||||
@@ -63,6 +63,12 @@ pub trait IOStream: Read + Write {
|
||||
fn total_bytes(&self) -> Option<u64> {
|
||||
None
|
||||
}
|
||||
|
||||
/// Decryption keys for this stream. Default: no encryption.
|
||||
/// Overridden by DiscStream and IsoStream for AACS/CSS.
|
||||
fn keys(&self) -> crate::decrypt::DecryptKeys {
|
||||
crate::decrypt::DecryptKeys::None
|
||||
}
|
||||
}
|
||||
|
||||
// Combined traits for internal trait objects.
|
||||
|
||||
Reference in New Issue
Block a user