1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! Unified metadata reading and writing for container formats.
//!
//! This module provides a unified API for reading and writing metadata tags
//! across different container formats:
//!
//! - **Matroska/WebM**: Native Matroska tags
//! - **Ogg (Opus/Vorbis)**: Vorbis comments
//! - **FLAC**: Vorbis comments in FLAC metadata blocks
//!
//! # Example: Reading Metadata
//!
//! ```ignore
//! use oximedia_container::metadata::MetadataReader;
//! use oximedia_io::FileSource;
//!
//! let source = FileSource::open("audio.flac").await?;
//! let metadata = MetadataReader::read(source).await?;
//!
//! if let Some(title) = metadata.get("TITLE") {
//! println!("Title: {}", title);
//! }
//! ```
//!
//! # Example: Writing Metadata
//!
//! ```ignore
//! use oximedia_container::metadata::{MetadataEditor, TagValue};
//!
//! let mut editor = MetadataEditor::open("audio.flac").await?;
//! editor.set("TITLE", "New Title");
//! editor.set("ARTIST", "New Artist");
//! editor.save().await?;
//! ```
pub use MetadataEditor;
pub use ;
pub use MetadataReader;
pub use ;
pub use MetadataWriter;