[INFO] cloning repository https://github.com/konakona418/flv-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/konakona418/flv-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkonakona418%2Fflv-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkonakona418%2Fflv-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ee770c610c6b335f5a2e88c99a3be7d774c50005
[INFO] testing konakona418/flv-rs against nightly-2025-01-18 for randomize-layout-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkonakona418%2Fflv-rs" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/konakona418/flv-rs on toolchain nightly-2025-01-18
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/konakona418/flv-rs
[INFO] finished tweaking git repo https://github.com/konakona418/flv-rs
[INFO] tweaked toml for git repo https://github.com/konakona418/flv-rs written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/konakona418/flv-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4bdb5851e33b7dcbbb08726c769c56f04aab7939788b62af9c45608f99dbe022
[INFO] running `Command { std: "docker" "start" "-a" "4bdb5851e33b7dcbbb08726c769c56f04aab7939788b62af9c45608f99dbe022", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4bdb5851e33b7dcbbb08726c769c56f04aab7939788b62af9c45608f99dbe022", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4bdb5851e33b7dcbbb08726c769c56f04aab7939788b62af9c45608f99dbe022", kill_on_drop: false }`
[INFO] [stdout] 4bdb5851e33b7dcbbb08726c769c56f04aab7939788b62af9c45608f99dbe022
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fe7658963bbed5963e444c65e767fc740961952086fbe1cdc885ea8fccf6b2aa
[INFO] running `Command { std: "docker" "start" "-a" "fe7658963bbed5963e444c65e767fc740961952086fbe1cdc885ea8fccf6b2aa", kill_on_drop: false }`
[INFO] [stderr]    Compiling flv-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/exchange.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:109:18
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_size`
[INFO] [stdout]    --> src/flv/header.rs:109:41
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:131:18
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn parse(decoder: &mut Decoder) -> Self {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:137:18
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `param_size`
[INFO] [stdout]    --> src/flv/header.rs:137:41
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/fmpeg/remuxer.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Err(e) => Err("[Remuxer] Channel closed.".into())
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/fmpeg/remuxer.rs:197:28
[INFO] [stdout]     |
[INFO] [stdout] 197 |                         if let VideoParseResult::Avc1(parsed) = parsed {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2014:22
[INFO] [stdout]      |
[INFO] [stdout] 2014 |         pub fn build(mut self) -> AacAudioSpecificConfigBox {
[INFO] [stdout]      |                      ----^^^^
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2339:17
[INFO] [stdout]      |
[INFO] [stdout] 2339 |             let mut size = self.size();
[INFO] [stdout]      |                 ----^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/fmpeg/remux_context.rs:411:13
[INFO] [stdout]     |
[INFO] [stdout] 385 |             VideoParseResult::Avc1(h264_info) => {
[INFO] [stdout]     |             --------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 411 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `protection_bit`
[INFO] [stdout]    --> src/fmpeg/parser.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let protection_bit = u16io.read_at(15);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_protection_bit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]    --> src/fmpeg/parser.rs:221:18
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn parse_mp3(header: &AudioTagHeader, body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/fmpeg/encoder.rs:85:24
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn encode_hdlr(ctx: &RemuxContext, handler_type: HandlerType) -> mp4head::HandlerBox {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/flv/demuxer.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Demuxer {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 10 |     channel_exchange: Option<mpsc::Sender<Packed>>,
[INFO] [stdout] 11 |     channel_receiver: mpsc::Receiver<PackedContent>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     channel_sender: mpsc::Sender<PackedContent>,
[INFO] [stdout] 13 |     demuxing: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 14 |
[INFO] [stdout] 15 |     cache_video_tags: VecDeque<Tag>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     cache_audio_tags: VecDeque<Tag>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     cache_script_tags: VecDeque<Tag>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     cache_metadata: Option<RawMetaData>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     cache_flv_header: Option<FlvHeader>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/flv/demuxer.rs:23:12
[INFO] [stdout]     |
[INFO] [stdout] 22  | impl Demuxer {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 23  |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 38  |     fn set_demuxing(&mut self, flag: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42  |     fn process_incoming_tag(&mut self, tag: Tag) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66  |     fn send_to_remuxer(&mut self, pack: Packed) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |     fn send_from_cache(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn run(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn launch_worker_thread(mut self) -> JoinHandle<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data`, `previous_tag_size`, `channel_receiver`, and `decoding` are never read
[INFO] [stdout]   --> src/flv/decoder.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Decoder {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 12 |     data: VecDeque<u8>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     previous_tag_size: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     channel_exchange: Option<mpsc::Sender<Packed>>,
[INFO] [stdout] 15 |     channel_receiver: mpsc::Receiver<PackedContent>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     channel_sender: mpsc::Sender<PackedContent>,
[INFO] [stdout] 17 |     decoding: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/flv/decoder.rs:35:12
[INFO] [stdout]     |
[INFO] [stdout] 34  | impl Decoder {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 35  |     pub fn new(data: VecDeque<u8>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47  |     pub fn push_data(&mut self, data: &mut VecDeque<u8>) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51  |     pub fn push_bytes(&mut self, bytes: &[u8]) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56  |     pub fn drain_u8(&mut self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61  |     pub fn drain_bytes<const SIZE: usize>(&mut self) -> [u8; SIZE] {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  |     pub fn drain_bytes_vec(&mut self, size: usize) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |     pub fn drain_bytes_deque(&mut self, size: usize) -> VecDeque<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82  |     pub fn drain_u16_le(&mut self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90  |     pub fn drain_u16(&mut self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98  |     pub fn drain_u24_le(&mut self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn drain_u24(&mut self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn drain_u32_le(&mut self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn drain_u32(&mut self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn drain_u64(&mut self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn drain_i8(&mut self) -> i8 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn drain_i16(&mut self) -> i16 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn drain_i24(&mut self) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn drain_i32(&mut self) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn drain_i64(&mut self) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn drain_f64(&mut self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn drain_f64_le(&mut self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn drain_f32_le(&mut self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn drain_f32(&mut self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn decode_header(&mut self) -> Result<FlvHeader, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn concat_ts(ts: u32, ts_ext: u8) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn decode_tag(&mut self) -> Result<Tag, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     fn set_decoding(&mut self, flag: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     pub fn decode_body(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     pub fn decode_body_once(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     fn send_to_demuxer(&mut self, pack: Packed) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 418 |     fn send_tag_to_demuxer(&mut self, tag: Tag) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 426 |     fn send_header_to_demuxer(&mut self, flv_header: FlvHeader) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 434 |     fn run(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 450 |     pub fn launch_worker_thread(mut self) -> JoinHandle<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `signature`, `version`, `type_flags_audio`, `type_flags_video`, and `data_offset` are never read
[INFO] [stdout]   --> src/flv/header.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub struct FlvHeader {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 6  |     pub signature: [u8; 3],
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 7  |     pub version: u8,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 8  |     pub type_flags_audio: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub type_flags_video: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub data_offset: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FlvHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/flv/header.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl FlvHeader {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new(signature: [u8; 3], version: u8, type_flags_audio: bool, type_flags_video: bool, data_offset: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Audio`, `Video`, `Script`, and `Placeholder` are never constructed
[INFO] [stdout]   --> src/flv/header.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum TagHeader {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 21 |     Audio(AudioTagHeader),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 22 |     Video(VideoTagHeader),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     Script,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 24 |     Placeholder,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TagHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sound_format`, `sound_rate`, `sound_size`, `sound_type`, and `aac_packet_type` are never read
[INFO] [stdout]   --> src/flv/header.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct AudioTagHeader {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 29 |     // UB4
[INFO] [stdout] 30 |     pub sound_format: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 31 |     // UB2
[INFO] [stdout] 32 |     pub sound_rate: u8,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 33 |     // UB1
[INFO] [stdout] 34 |     pub sound_size: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 35 |     // UB1
[INFO] [stdout] 36 |     pub sound_type: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub aac_packet_type: Option<u8>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AudioTagHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `parse` are never used
[INFO] [stdout]   --> src/flv/header.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl AudioTagHeader {
[INFO] [stdout]    | ------------------- associated functions in this implementation
[INFO] [stdout] 43 |     pub fn new(sound_format: u8, sound_rate: u8, sound_size: bool, sound_type: bool, aac_packet_type: Option<u8>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `frame_type`, `codec_id`, `avc_packet_type`, and `composition_time` are never read
[INFO] [stdout]   --> src/flv/header.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct VideoTagHeader {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 67 |     // UB4
[INFO] [stdout] 68 |     pub frame_type: u8,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 69 |     // UB4
[INFO] [stdout] 70 |     pub codec_id: u8,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub avc_packet_type: Option<u8>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub composition_time: Option<i32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VideoTagHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `parse` are never used
[INFO] [stdout]   --> src/flv/header.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl VideoTagHeader {
[INFO] [stdout]    | ------------------- associated functions in this implementation
[INFO] [stdout] 80 |     pub fn new(frame_type: u8, codec_id: u8, avc_packet_type: Option<u8>, composition_time: Option<i32>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]    --> src/flv/header.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl EncryptionTagHeader {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `EncryptionFilter` and `SelectiveEncryptionFilter` are never constructed
[INFO] [stdout]    --> src/flv/header.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub enum FilterParameters {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 116 |     EncryptionFilter(EncryptionFilterParameters),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 117 |     SelectiveEncryptionFilter(SelectiveEncryptionFilterParameters),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FilterParameters` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]    --> src/flv/header.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl SelectiveEncryptionFilterParameters {
[INFO] [stdout]     | ---------------------------------------- associated function in this implementation
[INFO] [stdout] 131 |     pub fn parse(decoder: &mut Decoder) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]    --> src/flv/header.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl FilterParameters {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/flv/tag.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub struct Tag {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 8  |     pub filter: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 9  |     pub tag_type: TagType,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 10 |     pub data_size: u32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 11 |     pub timestamp_short: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub timestamp_extended: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub timestamp: u32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 14 |     pub stream_id: u32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 15 |     pub tag_header: TagHeader,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 16 |     pub encryption_tag_header: Option<EncryptionTagHeader>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub filter_parameters: Option<FilterParameters>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub tag_body: TagBody,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Audio`, `Video`, `Script`, and `Encryption` are never constructed
[INFO] [stdout]   --> src/flv/tag.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum TagType {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 23 |     Audio,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |     Video,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 25 |     Script,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 26 |     Encryption,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TagType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Normal` and `Encrypted` are never constructed
[INFO] [stdout]   --> src/flv/tag.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub enum TagBody {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 54 |     Normal(NormalTagBody),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 55 |     Encrypted(EncryptedTagBody),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TagBody` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Audio`, `Video`, `Script`, and `Placeholder` are never constructed
[INFO] [stdout]   --> src/flv/tag.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum NormalTagBody {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 60 |     Audio(VecDeque<u8>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 61 |     Video(VecDeque<u8>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 62 |     Script(ScriptTagBody),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 63 |     Placeholder, // todo: temporary
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NormalTagBody` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Audio`, `Video`, `Script`, and `Placeholder` are never constructed
[INFO] [stdout]    --> src/flv/tag.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout] 96  | pub enum EncryptedTagBody {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 97  |     Audio(Vec<u8>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 98  |     Video(Vec<u8>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 99  |     Script(ScriptTagBody),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 100 |     Placeholder, // todo: temporary
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EncryptedTagBody` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]    --> src/flv/tag.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl TagType {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 104 |     pub fn from(tag_type: u8) -> Result<TagType, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/flv/tag.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl Tag {
[INFO] [stdout]     | -------- associated function in this implementation
[INFO] [stdout] 123 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_object` is never used
[INFO] [stdout]  --> src/flv/script.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn parse_object(data: &mut Decoder) -> Result<ScriptData, Box<dyn std::error::Error>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/flv/script.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl ScriptTagBody {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 33 |     pub fn parse(data: &mut Decoder) -> Result<ScriptTagBody, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/flv/script.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum ScriptData {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 42 |     Number(f64),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 43 |     Boolean(u8),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 44 |     String(ScriptDataString),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 45 |     Object(ScriptDataObject),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 46 |     MovieClip,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 47 |     Null,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 48 |     Undefined,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 49 |     Reference(u16),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 50 |     EcmaArray(ScriptDataEcmaArray),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 51 |     ObjectEndMarker,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     StrictArray(ScriptStrictArray),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 53 |     Date(ScriptDataDate),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 54 |     LongString(ScriptDataLongString),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 55 |     NotImplemented,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `properties` is never read
[INFO] [stdout]   --> src/flv/script.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct ScriptDataObject {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 60 |     pub properties: Vec<ScriptDataObjectProp>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptDataObject` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stdout]   --> src/flv/script.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl ScriptDataObject {
[INFO] [stdout]    | --------------------- associated functions in this implementation
[INFO] [stdout] 64 |
[INFO] [stdout] 65 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataObject, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptDataObject, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `value` are never read
[INFO] [stdout]   --> src/flv/script.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct ScriptDataObjectProp {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 97 |     pub name: ScriptDataString,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 98 |     pub value: ScriptData,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptDataObjectProp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `length` and `data` are never read
[INFO] [stdout]    --> src/flv/script.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct ScriptDataString {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 103 |     pub length: u16,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 104 |     pub data: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScriptDataString` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stdout]    --> src/flv/script.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl ScriptDataString {
[INFO] [stdout]     | --------------------- associated functions in this implementation
[INFO] [stdout] 108 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataString, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptDataString, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `length` and `data` are never read
[INFO] [stdout]    --> src/flv/script.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct ScriptDataLongString {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] 134 |     pub length: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 135 |     pub data: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScriptDataLongString` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stdout]    --> src/flv/script.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl ScriptDataLongString {
[INFO] [stdout]     | ------------------------- associated functions in this implementation
[INFO] [stdout] 139 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataLongString, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptDataLongString, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stdout]    --> src/flv/script.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl ScriptDataEcmaArray {
[INFO] [stdout]     | ------------------------ associated functions in this implementation
[INFO] [stdout] 167 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataEcmaArray, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptDataEcmaArray, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `length` and `values` are never read
[INFO] [stdout]    --> src/flv/script.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct ScriptStrictArray {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 197 |     pub length: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 198 |     pub values: Vec<ScriptData>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScriptStrictArray` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stdout]    --> src/flv/script.rs:202:12
[INFO] [stdout]     |
[INFO] [stdout] 201 | impl ScriptStrictArray {
[INFO] [stdout]     | ---------------------- associated functions in this implementation
[INFO] [stdout] 202 |     pub fn parse(data: &mut Decoder) -> Result<ScriptStrictArray, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptStrictArray, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `date` and `local_time_offset` are never read
[INFO] [stdout]    --> src/flv/script.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct ScriptDataDate {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 229 |     pub date: f64,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 230 |     pub local_time_offset: i16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScriptDataDate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stdout]    --> src/flv/script.rs:234:12
[INFO] [stdout]     |
[INFO] [stdout] 233 | impl ScriptDataDate {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] 234 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataDate, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptDataDate, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MetaData` is never constructed
[INFO] [stdout]  --> src/flv/meta.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MetaData {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/flv/meta.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl MetaData {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 23 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]   --> src/flv/meta.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct RawMetaData {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 61 |     data: HashMap<String, ScriptData>
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `try_get`, `try_get_string`, `try_get_number`, and `try_get_boolean` are never used
[INFO] [stdout]   --> src/flv/meta.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl RawMetaData {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 65 |     pub fn new(data: ScriptTagBody) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn try_get(&self, key: &str) -> Option<ScriptData> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn try_get_string(&self, key: &str) -> Option<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn try_get_number(&self, key: &str) -> Option<f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn try_get_boolean(&self, key: &str) -> Option<bool> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XMPData` is never constructed
[INFO] [stdout]   --> src/flv/meta.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct XMPData {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/flv/meta.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl XMPData {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 103 |     pub fn new(xmp: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IReader` is never used
[INFO] [stdout]  --> src/io/reader.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait IReader {
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalReader` is never constructed
[INFO] [stdout]   --> src/io/reader.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct LocalReader {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read_file`, and `read_bytes` are never used
[INFO] [stdout]   --> src/io/reader.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl LocalReader {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new(filename: &str) -> LocalReader {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn read_file(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn read_bytes(&mut self, buffer: &mut [u8]) -> Result<(), std::io::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BitIO` is never constructed
[INFO] [stdout]  --> src/io/bit.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct BitIO {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read`, `read_bit`, `read_bit_safe`, and `read_range` are never used
[INFO] [stdout]   --> src/io/bit.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout] 5  | impl BitIO {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 6  |     pub fn new(byte: u8) -> BitIO {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn read(&self) -> bool {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn read_bit(&self, index: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn read_bit_safe(&self, index: usize) -> Result<bool, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn read_range(&self, start: usize, end: usize) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LittleEndian` is never constructed
[INFO] [stdout]   --> src/io/bit.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub enum UIntParserEndian {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] 46 |     LittleEndian,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `endian` is never read
[INFO] [stdout]   --> src/io/bit.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct U16BitIO {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 50 |     pub(crate) data: [u8; 2],
[INFO] [stdout] 51 |     endian: UIntParserEndian
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_data`, `read_at`, and `read_range` are never used
[INFO] [stdout]   --> src/io/bit.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl U16BitIO {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 55 |     #[inline]
[INFO] [stdout] 56 |     pub fn get_data(&self) -> [u8; 2] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn read_at(&mut self, bit_offset: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn read_range(&mut self, start: usize, end: usize) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `U32BitIO` is never constructed
[INFO] [stdout]    --> src/io/bit.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct U32BitIO {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_data`, `new`, `read_at`, `read_range`, `write_at`, and `write_range` are never used
[INFO] [stdout]    --> src/io/bit.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl U32BitIO {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 124 |     #[inline]
[INFO] [stdout] 125 |     pub fn get_data(&self) -> [u8; 4] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn new(data: u32, endian: UIntParserEndian) -> U32BitIO {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn read_at(&mut self, bit_offset: usize) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn read_range(&mut self, start: usize, end: usize) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn write_at(&mut self, bit_offset: usize, value: bool) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn write_range(&mut self, start: usize, end: usize, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/core.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout] 16  | impl Core {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 17  |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 51  |     pub fn send(&self, packed: Packed) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62  |     pub fn push_data_to_decoder(&self, data: &mut VecDeque<u8>) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73  |     pub fn start(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80  |     fn start_decoding(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92  |     fn start_demuxing(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn start_remuxing(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn stop(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn stop_decoding(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     fn stop_demuxing(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     fn stop_remuxing(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn now(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn decode_now(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn demux_now(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     fn remux_now(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn drop_all_workers(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     fn drop_decoding_worker(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     fn drop_demuxing_worker(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     fn drop_remuxing_worker(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_audio_codec_conf`, `get_video_codec_conf`, `is_codec_configured`, `try_get_codec_conf`, and `get_codec_conf` are never used
[INFO] [stdout]    --> src/core.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl Core {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 264 |     pub fn get_audio_codec_conf(&mut self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_video_codec_conf(&mut self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn is_codec_configured(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn try_get_codec_conf(&mut self) -> Option<(String, String)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn get_codec_conf(&mut self) -> Result<(String, String), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `consume` is never used
[INFO] [stdout]    --> src/core.rs:308:8
[INFO] [stdout]     |
[INFO] [stdout] 306 | pub trait IConsumable {
[INFO] [stdout]     |           ----------- method in this trait
[INFO] [stdout] 307 |     type ConsumerData;
[INFO] [stdout] 308 |     fn consume(&mut self) -> Result<Self::ConsumerData, Box<dyn std::error::Error>>;
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Exchange` is never constructed
[INFO] [stdout]   --> src/exchange.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Exchange {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_exchange`, `get_sender`, and `get_self_as_destination` are never used
[INFO] [stdout]   --> src/exchange.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub trait ExchangeRegistrable {
[INFO] [stdout]    |           ------------------- methods in this trait
[INFO] [stdout] 62 |     fn set_exchange(&mut self, sender: mpsc::Sender<Packed>);
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 63 |
[INFO] [stdout] 64 |     fn get_sender(&self) -> mpsc::Sender<PackedContent>;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 65 |     fn get_self_as_destination(&self) -> Destination;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_exchange_sender`, `get_sender`, `register`, `process_incoming`, and `launch_worker_thread` are never used
[INFO] [stdout]    --> src/exchange.rs:69:12
[INFO] [stdout]     |
[INFO] [stdout] 68  | impl Exchange {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 69  |     pub fn new() -> Exchange {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78  |     pub fn get_exchange_sender(&self) -> mpsc::Sender<Packed> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82  |     pub fn get_sender(&self, channel_dest: Destination) -> Option<mpsc::Sender<PackedContent>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86  |     pub fn register(&mut self, registry: &mut dyn ExchangeRegistrable) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91  |     pub fn process_incoming(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn launch_worker_thread(mut self) -> JoinHandle<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `packed_routing` and `packed_content` are never read
[INFO] [stdout]    --> src/exchange.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct Packed {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 114 |     pub packed_routing: Destination,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 115 |     pub packed_content: PackedContent
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ToCore`, `ToDecoder`, `ToDemuxer`, and `ToRemuxer` are never constructed
[INFO] [stdout]    --> src/exchange.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub enum PackedContent {
[INFO] [stdout]     |          ------------- variants in this enum
[INFO] [stdout] 119 |     ToCore(PackedContentToCore),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 120 |     ToDecoder(PackedContentToDecoder),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 121 |     ToDemuxer(PackedContentToDemuxer),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 122 |     ToRemuxer(PackedContentToRemuxer)
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Data`, `DecoderConfig`, and `Command` are never constructed
[INFO] [stdout]    --> src/exchange.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub enum PackedContentToCore {
[INFO] [stdout]     |          ------------------- variants in this enum
[INFO] [stdout] 126 |     Data(RemuxedData),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 127 |     DecoderConfig(MseDecoderConfig),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 128 |     Command
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Header`, `Audio`, and `Video` are never constructed
[INFO] [stdout]    --> src/exchange.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub enum RemuxedData {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] 132 |     Header(Vec<u8>),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 133 |     Audio(Vec<u8>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 134 |     Video(Vec<u8>)
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AudioCodec` and `VideoCodec` are never constructed
[INFO] [stdout]    --> src/exchange.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub enum MseDecoderConfig {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 138 |     AudioCodec(AudioCodecConfig),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 139 |     VideoCodec(VideoCodecConfig)
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `conf_string`, `audio_codec_type`, and `audio_object_type` are never read
[INFO] [stdout]    --> src/exchange.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct AudioCodecConfig {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 145 |     conf_string: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 146 |
[INFO] [stdout] 147 |     pub audio_codec_type: AudioCodecType,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 148 |     pub audio_object_type: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `audio_conf` are never used
[INFO] [stdout]    --> src/exchange.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl AudioCodecConfig {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 152 |     pub fn new(codec_type: AudioCodecType, object_type: u8) -> AudioCodecConfig {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn audio_conf(&mut self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `conf_string`, `avc_profile_indication`, `avc_profile_compatibility`, and `avc_level_indication` are never read
[INFO] [stdout]    --> src/exchange.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub struct VideoCodecConfig {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 179 |     pub conf_string: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 180 |
[INFO] [stdout] 181 |     pub avc_profile_indication: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 182 |     pub avc_profile_compatibility: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 183 |     pub avc_level_indication: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `video_conf` are never used
[INFO] [stdout]    --> src/exchange.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl VideoCodecConfig {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 187 |     pub fn new(profile_indication: u8, profile_compatibility: u8, level_indication: u8) -> VideoCodecConfig {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn video_conf(&mut self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `PushData`, `StartDecoding`, `StopDecoding`, `CloseWorkerThread`, and `Now` are never constructed
[INFO] [stdout]    --> src/exchange.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub enum PackedContentToDecoder {
[INFO] [stdout]     |          ---------------------- variants in this enum
[INFO] [stdout] 203 |     PushData(VecDeque<u8>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 204 |
[INFO] [stdout] 205 |     StartDecoding,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 206 |     StopDecoding,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 207 |     CloseWorkerThread,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 208 |
[INFO] [stdout] 209 |     Now
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `PushTag`, `PushFlvHeader`, `StartDemuxing`, `StopDemuxing`, `CloseWorkerThread`, and `Now` are never constructed
[INFO] [stdout]    --> src/exchange.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub enum PackedContentToDemuxer {
[INFO] [stdout]     |          ---------------------- variants in this enum
[INFO] [stdout] 213 |     PushTag(Tag),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 214 |     PushFlvHeader(FlvHeader),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 215 |
[INFO] [stdout] 216 |     StartDemuxing,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 217 |     StopDemuxing,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 218 |     CloseWorkerThread,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 219 |
[INFO] [stdout] 220 |     Now
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/exchange.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub enum PackedContentToRemuxer {
[INFO] [stdout]     |          ---------------------- variants in this enum
[INFO] [stdout] 224 |     PushTag(Tag),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 225 |     PushFlvHeader(FlvHeader),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 226 |     PushMetadata(RawMetaData),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 227 |
[INFO] [stdout] 228 |     StartRemuxing,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 229 |     StopRemuxing,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 230 |     CloseWorkerThread,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 231 |
[INFO] [stdout] 232 |     Now
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/fmpeg/remuxer.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Remuxer {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 16 |     channel_exchange: Option<mpsc::Sender<Packed>>,
[INFO] [stdout] 17 |     channel_receiver: mpsc::Receiver<PackedContent>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     channel_sender: mpsc::Sender<PackedContent>,
[INFO] [stdout] 19 |     remuxing: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |
[INFO] [stdout] 21 |     tags: VecDeque<Tag>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 22 |     metadata: Option<RawMetaData>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 23 |     flv_header: Option<FlvHeader>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 24 |
[INFO] [stdout] 25 |     ctx: RemuxContext,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 26 |
[INFO] [stdout] 27 |     audio_track: TrackContext,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 28 |     video_track: TrackContext,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/remuxer.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 57  | impl Remuxer {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 58  |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 79  |     fn set_remuxing(&mut self, flag: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83  |     fn send(&mut self, pack: Packed) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90  |     fn send_mpeg4_header(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn send_raw_data(&mut self, data: RemuxedData) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn remux(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn run(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn launch_worker_thread(mut self) -> JoinHandle<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Utils` is never constructed
[INFO] [stdout]  --> src/fmpeg/mp4head.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Utils;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `str_to_char_array` and `slice_to_char_array` are never used
[INFO] [stdout]   --> src/fmpeg/mp4head.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout] 5  | impl Utils {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] 6  |     #[inline]
[INFO] [stdout] 7  |     pub fn str_to_char_array(s: &String) -> [char; 4] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn slice_to_char_array(slice: &str) -> [char; 4] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_float` is never used
[INFO] [stdout]   --> src/fmpeg/mp4head.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl FixedPoint16 {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn to_float(&self) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_float` is never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl FixedPoint32 {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn to_float(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Box` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct Box {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FullBox` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub struct FullBox {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileTypeBoxBuilder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub struct FileTypeBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `major_brand`, `minor_version`, `compatible_brand`, `compatible_brands`, and `build` are never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:247:12
[INFO] [stdout]     |
[INFO] [stdout] 246 | impl FileTypeBoxBuilder {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 247 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn major_brand(mut self, major_brand: &String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn minor_version(mut self, minor_version: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn compatible_brand(mut self, compatible_brand: &String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     pub fn compatible_brands(mut self, compatible_brands: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn build(self) -> FileTypeBox {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovieBoxBuilder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub struct MovieBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `movie_header_box`, `track`, and `build` are never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:338:12
[INFO] [stdout]     |
[INFO] [stdout] 337 | impl MovieBoxBuilder {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 338 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     pub fn movie_header_box(mut self, movie_header_box: MovieHeaderBox) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn track(mut self, track: TrackBox) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn build(self) -> MovieBox {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `V0` and `V1` are never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:372:5
[INFO] [stdout]     |
[INFO] [stdout] 371 | pub enum MovieHeaderBox {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 372 |     V0(MovieHeaderBoxV0),
[INFO] [stdout]     |     ^^
[INFO] [stdout] 373 |     V1(MovieHeaderBoxV1),
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MovieHeaderBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `matrix` is never read
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:410:9
[INFO] [stdout]     |
[INFO] [stdout] 395 | pub struct MovieHeaderBoxV0 {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 410 |     pub matrix: [u8; 36],
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MovieHeaderBoxV0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:434:12
[INFO] [stdout]     |
[INFO] [stdout] 433 | impl MovieHeaderBoxV0 {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 434 |     pub fn new(creation_time: u32, modification_time: u32, timescale: u32, duration: u32, rate: FixedPoint32, volume: FixedPoint16, next_...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovieHeaderBoxV0Builder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:500:12
[INFO] [stdout]     |
[INFO] [stdout] 500 | pub struct MovieHeaderBoxV0Builder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:511:12
[INFO] [stdout]     |
[INFO] [stdout] 510 | impl MovieHeaderBoxV0Builder {
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout] 511 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 524 |     pub fn creation_time(mut self, creation_time: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 530 |     pub fn modification_time(mut self, modification_time: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 536 |     pub fn timescale(mut self, timescale: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     pub fn duration(mut self, duration: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 548 |     pub fn rate(mut self, rate: f32) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 554 |     pub fn volume(mut self, volume: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 566 |     pub fn next_track_id(mut self, next_track_id: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 571 |     pub fn build(self) -> MovieHeaderBoxV0 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:613:12
[INFO] [stdout]     |
[INFO] [stdout] 612 | impl MovieHeaderBoxV1 {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 613 |     pub fn new(creation_time: u64, modification_time: u64, timescale: u32, duration: u64, rate: FixedPoint32, volume: FixedPoint16, next_...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovieHeaderBoxV1Builder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:674:12
[INFO] [stdout]     |
[INFO] [stdout] 674 | pub struct MovieHeaderBoxV1Builder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:685:12
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl MovieHeaderBoxV1Builder {
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout] 685 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 698 |     pub fn creation_time(mut self, creation_time: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 704 |     pub fn modification_time(mut self, modification_time: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 710 |     pub fn timescale(mut self, timescale: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 716 |     pub fn duration(mut self, duration: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 722 |     pub fn rate(mut self, rate: f32) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 728 |     pub fn volume(mut self, volume: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 734 |     pub fn next_track_id(mut self, next_track_id: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 739 |     pub fn build(self) -> MovieHeaderBoxV1 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:783:12
[INFO] [stdout]     |
[INFO] [stdout] 782 | impl TrackBox {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 783 |     pub fn new(track_header_box: TrackHeaderBox, media_box: MediaBox) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `V0` and `V1` are never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:795:5
[INFO] [stdout]     |
[INFO] [stdout] 794 | pub enum TrackHeaderBox {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 795 |     V0(TrackHeaderBoxV0),
[INFO] [stdout]     |     ^^
[INFO] [stdout] 796 |     V1(TrackHeaderBoxV1),
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TrackHeaderBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `matrix` is never read
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:839:9
[INFO] [stdout]     |
[INFO] [stdout] 817 | pub struct TrackHeaderBoxV0 {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 839 |     pub matrix: [u8; 36],
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TrackHeaderBoxV0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:846:12
[INFO] [stdout]     |
[INFO] [stdout] 845 | impl TrackHeaderBoxV0 {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 846 |     pub fn new(creation_time: u32, modification_time: u32, track_id: u32, duration: u32, width: FixedPoint32, height: FixedPoint32) -> Se...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrackHeaderBoxV0Builder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:903:12
[INFO] [stdout]     |
[INFO] [stdout] 903 | pub struct TrackHeaderBoxV0Builder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:913:12
[INFO] [stdout]     |
[INFO] [stdout] 912 | impl TrackHeaderBoxV0Builder {
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout] 913 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 925 |     pub fn creation_time(mut self, creation_time: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 931 |     pub fn modification_time(mut self, modification_time: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 937 |     pub fn track_id(mut self, track_id: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 943 |     pub fn duration(mut self, duration: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 949 |     pub fn width(mut self, width: FixedPoint32) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 955 |     pub fn height(mut self, height: FixedPoint32) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 960 |     pub fn build(self) -> TrackHeaderBoxV0 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `matrix` is never read
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:995:9
[INFO] [stdout]     |
[INFO] [stdout] 973 | pub struct TrackHeaderBoxV1 {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 995 |     pub matrix: [u8; 36],
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TrackHeaderBoxV1` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1002:12
[INFO] [stdout]      |
[INFO] [stdout] 1001 | impl TrackHeaderBoxV1 {
[INFO] [stdout]      | --------------------- associated function in this implementation
[INFO] [stdout] 1002 |     pub fn new(creation_time: u64, modification_time: u64, track_id: u32, duration: u64, width: FixedPoint32, height: FixedPoint32) -> Se...
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1070:12
[INFO] [stdout]      |
[INFO] [stdout] 1069 | impl MediaBox {
[INFO] [stdout]      | ------------- associated function in this implementation
[INFO] [stdout] 1070 |     pub fn new(media_header: MediaHeaderBoxV0, media_handler_box: HandlerBox, media_info_box: MediaInfoBox) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1119:12
[INFO] [stdout]      |
[INFO] [stdout] 1118 | impl MediaHeaderBoxV0 {
[INFO] [stdout]      | --------------------- associated function in this implementation
[INFO] [stdout] 1119 |     pub fn new(creation_time: u32, modification_time: u32, timescale: u32, duration: u32, language: u16, quality: u16) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MediaHeaderBoxV0Builder` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1162:12
[INFO] [stdout]      |
[INFO] [stdout] 1162 | pub struct MediaHeaderBoxV0Builder {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1173:12
[INFO] [stdout]      |
[INFO] [stdout] 1171 | impl MediaHeaderBoxV0Builder {
[INFO] [stdout]      | ---------------------------- associated items in this implementation
[INFO] [stdout] 1172 |     #[inline]
[INFO] [stdout] 1173 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1185 |     pub fn creation_time(mut self, creation_time: u32) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1191 |     pub fn modification_time(mut self, modification_time: u32) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1197 |     pub fn timescale(mut self, timescale: u32) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1203 |     pub fn duration(mut self, duration: u32) -> Self {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1209 |     pub fn language(mut self, language: u16) -> Self {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1215 |     pub fn quality(mut self, quality: u16) -> Self {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1221 |     pub fn build(self) -> MediaHeaderBoxV0 {
[INFO] [stdout]      |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1240:12
[INFO] [stdout]      |
[INFO] [stdout] 1239 | impl HandlerBox {
[INFO] [stdout]      | --------------- associated function in this implementation
[INFO] [stdout] 1240 |     pub fn new(handler_type: [char; 4], name: String) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HandlerType` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1280:10
[INFO] [stdout]      |
[INFO] [stdout] 1280 | pub enum HandlerType {
[INFO] [stdout]      |          ^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `HandlerType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1286:12
[INFO] [stdout]      |
[INFO] [stdout] 1285 | impl HandlerType {
[INFO] [stdout]      | ---------------- method in this implementation
[INFO] [stdout] 1286 |     pub fn into(self) -> HandlerBox {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1309:12
[INFO] [stdout]      |
[INFO] [stdout] 1308 | impl MediaInfoBox {
[INFO] [stdout]      | ----------------- associated function in this implementation
[INFO] [stdout] 1309 |     pub fn new(xmedia_handler_box: XMediaHandlerBox, data_information_box: DataInformationBox, sample_table_box: SampleBoxTableBox) -> Se...
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Video` and `Audio` are never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1344:5
[INFO] [stdout]      |
[INFO] [stdout] 1343 | pub enum XMediaHandlerBox {
[INFO] [stdout]      |          ---------------- variants in this enum
[INFO] [stdout] 1344 |     Video(VideoMediaHandlerBox),
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout] 1345 |     Audio(AudioMediaHandlerBox),
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `XMediaHandlerBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1369:12
[INFO] [stdout]      |
[INFO] [stdout] 1368 | impl VideoMediaHandlerBox {
[INFO] [stdout]      | ------------------------- associated function in this implementation
[INFO] [stdout] 1369 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1396:12
[INFO] [stdout]      |
[INFO] [stdout] 1395 | impl AudioMediaHandlerBox {
[INFO] [stdout]      | ------------------------- associated function in this implementation
[INFO] [stdout] 1396 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1424:12
[INFO] [stdout]      |
[INFO] [stdout] 1423 | impl DataInformationBox {
[INFO] [stdout]      | ----------------------- associated function in this implementation
[INFO] [stdout] 1424 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1516:12
[INFO] [stdout]      |
[INFO] [stdout] 1515 | impl SampleBoxTableBox {
[INFO] [stdout]      | ---------------------- associated function in this implementation
[INFO] [stdout] 1516 |     pub fn new(sample_description_table_box: SampleDescriptionTableBox) -> SampleBoxTableBox {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SampleDescriptionTableBoxBuilder` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1569:12
[INFO] [stdout]      |
[INFO] [stdout] 1569 | pub struct SampleDescriptionTableBoxBuilder {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_sample_description_table_box`, and `build` are never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1579:12
[INFO] [stdout]      |
[INFO] [stdout] 1578 | impl SampleDescriptionTableBoxBuilder {
[INFO] [stdout]      | ------------------------------------- associated items in this implementation
[INFO] [stdout] 1579 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1590 |     pub fn add_sample_description_table_box(mut self, sample_description_table_box: SubSampleDescriptionTableBox) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1596 |     pub fn build(self) -> SampleDescriptionTableBox {
[INFO] [stdout]      |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Mp4a`, `Mp3`, and `Avc1` are never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1610:5
[INFO] [stdout]      |
[INFO] [stdout] 1609 | pub enum SubSampleDescriptionTableBox {
[INFO] [stdout]      |          ---------------------------- variants in this enum
[INFO] [stdout] 1610 |     Mp4a(Mp4aDescriptionBox),
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] 1611 |     Mp3(Mp3DescriptionBox),
[INFO] [stdout]      |     ^^^
[INFO] [stdout] 1612 |     Avc1(Avc1DescriptionBox),
[INFO] [stdout]      |     ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SubSampleDescriptionTableBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2029:9
[INFO] [stdout]      |
[INFO] [stdout] 2028 | pub struct AudioExtendedDescriptionBox {
[INFO] [stdout]      |            --------------------------- field in this struct
[INFO] [stdout] 2029 |     pub size: u32,
[INFO] [stdout]      |         ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioExtendedDescriptionBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2039:12
[INFO] [stdout]      |
[INFO] [stdout] 2037 | impl AudioExtendedDescriptionBox {
[INFO] [stdout]      | -------------------------------- associated function in this implementation
[INFO] [stdout] 2038 |     #[inline]
[INFO] [stdout] 2039 |     pub fn new(spec_config: aac_utils::AacAudioSpecConfLike) -> AudioExtendedDescriptionBox {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2167:12
[INFO] [stdout]      |
[INFO] [stdout] 2166 | impl Mp4aDescriptionBox {
[INFO] [stdout]      | ----------------------- associated function in this implementation
[INFO] [stdout] 2167 |     pub fn new(sample_rate: f32, num_audio_channels: u16, spec_config: aac_utils::AacAudioSpecConfLike) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mp4aDescriptionBoxBuilder` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2186:12
[INFO] [stdout]      |
[INFO] [stdout] 2186 | pub struct Mp4aDescriptionBoxBuilder {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `sample_rate`, `num_audio_channels`, `spec_config`, and `build` are never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2193:12
[INFO] [stdout]      |
[INFO] [stdout] 2192 | impl Mp4aDescriptionBoxBuilder {
[INFO] [stdout]      | ------------------------------ associated items in this implementation
[INFO] [stdout] 2193 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 2203 |     pub fn sample_rate(mut self, sample_rate: f32) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2208 |     pub fn num_audio_channels(mut self, num_audio_channels: u16) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2213 |     pub fn spec_config(mut self, spec_config: aac_utils::AacAudioSpecConfLike) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2218 |     pub fn build(self) -> Mp4aDescriptionBox {
[INFO] [stdout]      |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2276:12
[INFO] [stdout]      |
[INFO] [stdout] 2275 | impl Mp3DescriptionBox {
[INFO] [stdout]      | ---------------------- associated function in this implementation
[INFO] [stdout] 2276 |     pub fn new(sample_rate: f32, num_audio_channels: u16) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mp3DescriptionBoxBuilder` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2294:12
[INFO] [stdout]      |
[INFO] [stdout] 2294 | pub struct Mp3DescriptionBoxBuilder {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `sample_rate`, `num_audio_channels`, and `build` are never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2300:12
[INFO] [stdout]      |
[INFO] [stdout] 2299 | impl Mp3DescriptionBoxBuilder {
[INFO] [stdout]      | ----------------------------- associated items in this implementation
[INFO] [stdout] 2300 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 2307 |     pub fn sample_rate(mut self, sample_rate: f32) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2312 |     pub fn num_audio_channels(mut self, num_audio_channels: u16) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2317 |     pub fn build(self) -> Mp3DescriptionBox {
[INFO] [stdout]      |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2384:12
[INFO] [stdout]      |
[INFO] [stdout] 2383 | impl Avc1DescriptionBox {
[INFO] [stdout]      | ----------------------- associated function in this implementation
[INFO] [stdout] 2384 |     pub fn new(width: u16, height: u16, avcc_box: avc1_utils::AvcCBoxLike) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Avc1DescriptionBoxBuilder` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2446:12
[INFO] [stdout]      |
[INFO] [stdout] 2446 | pub struct Avc1DescriptionBoxBuilder {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `avcc_box`, `set_width`, `set_height`, and `build` are never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2453:12
[INFO] [stdout]      |
[INFO] [stdout] 2452 | impl Avc1DescriptionBoxBuilder {
[INFO] [stdout]      | ------------------------------ associated items in this implementation
[INFO] [stdout] 2453 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 2461 |     pub fn avcc_box(mut self, avcc_box: avc1_utils::AvcCBoxLike) -> Self {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2466 |     pub fn set_width(mut self, width: u16) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2471 |     pub fn set_height(mut self, height: u16) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2476 |     pub fn build(self) -> Avc1DescriptionBox {
[INFO] [stdout]      |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2485:12
[INFO] [stdout]      |
[INFO] [stdout] 2484 | impl TimeToSampleBox {
[INFO] [stdout]      | -------------------- associated function in this implementation
[INFO] [stdout] 2485 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2511:12
[INFO] [stdout]      |
[INFO] [stdout] 2510 | impl SampleToChunkBox {
[INFO] [stdout]      | --------------------- associated function in this implementation
[INFO] [stdout] 2511 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2537:12
[INFO] [stdout]      |
[INFO] [stdout] 2536 | impl SampleSizeBox {
[INFO] [stdout]      | ------------------ associated function in this implementation
[INFO] [stdout] 2537 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2564:12
[INFO] [stdout]      |
[INFO] [stdout] 2563 | impl ChunkOffsetBox {
[INFO] [stdout]      | ------------------- associated function in this implementation
[INFO] [stdout] 2564 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2597:12
[INFO] [stdout]      |
[INFO] [stdout] 2596 | impl MovieExtendBox {
[INFO] [stdout]      | ------------------- associated function in this implementation
[INFO] [stdout] 2597 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2643:12
[INFO] [stdout]      |
[INFO] [stdout] 2642 | impl TrackExtendsBox {
[INFO] [stdout]      | -------------------- associated function in this implementation
[INFO] [stdout] 2643 |     pub fn new(track_id: u32) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1700:9
[INFO] [stdout]      |
[INFO] [stdout] 1699 |     pub enum SamplingFreqIndex {
[INFO] [stdout]      |              ----------------- variants in this enum
[INFO] [stdout] 1700 |         Freq96000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1701 |         Freq88200,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1702 |         Freq64000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1705 |         Freq32000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1706 |         Freq24000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1707 |         Freq22050,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1708 |         Freq16000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1709 |         Freq12000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1710 |         Freq11025,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1711 |         Freq8000,
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout] 1712 |         Freq7350,
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout] 1713 |         FreqExplicit,
[INFO] [stdout]      |         ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SamplingFreqIndex` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1762:9
[INFO] [stdout]      |
[INFO] [stdout] 1761 |     pub enum ChannelConfig {
[INFO] [stdout]      |              ------------- variants in this enum
[INFO] [stdout] 1762 |         AacExtension,
[INFO] [stdout]      |         ^^^^^^^^^^^^
[INFO] [stdout] 1763 |         Mono,
[INFO] [stdout]      |         ^^^^
[INFO] [stdout] 1764 |         Stereo,
[INFO] [stdout] 1765 |         Three,
[INFO] [stdout]      |         ^^^^^
[INFO] [stdout] 1766 |         Four,
[INFO] [stdout]      |         ^^^^
[INFO] [stdout] 1767 |         Five,
[INFO] [stdout]      |         ^^^^
[INFO] [stdout] 1768 |         Six,
[INFO] [stdout]      |         ^^^
[INFO] [stdout] 1769 |         Seven,
[INFO] [stdout]      |         ^^^^^
[INFO] [stdout] 1770 |         Eight,
[INFO] [stdout]      |         ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChannelConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Yes` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1836:9
[INFO] [stdout]      |
[INFO] [stdout] 1834 |     pub enum CoreCoderDependentFlag {
[INFO] [stdout]      |              ---------------------- variant in this enum
[INFO] [stdout] 1835 |         No,
[INFO] [stdout] 1836 |         Yes,
[INFO] [stdout]      |         ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CoreCoderDependentFlag` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Yes` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1862:9
[INFO] [stdout]      |
[INFO] [stdout] 1860 |     pub enum ExtensionFlag {
[INFO] [stdout]      |              ------------- variant in this enum
[INFO] [stdout] 1861 |         No,
[INFO] [stdout] 1862 |         Yes,
[INFO] [stdout]      |         ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ExtensionFlag` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `VectorConfig` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1891:9
[INFO] [stdout]      |
[INFO] [stdout] 1889 |     pub enum AacAudioSpecConfLike {
[INFO] [stdout]      |              -------------------- variant in this enum
[INFO] [stdout] 1890 |         AacAudioSpecificConfig(AacAudioSpecificConfigBox),
[INFO] [stdout] 1891 |         VectorConfig(Vec<u8>),
[INFO] [stdout]      |         ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AacAudioSpecConfLike` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AacAudioSpecificConfigBoxBuilder` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1955:16
[INFO] [stdout]      |
[INFO] [stdout] 1955 |     pub struct AacAudioSpecificConfigBoxBuilder {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1966:16
[INFO] [stdout]      |
[INFO] [stdout] 1964 |     impl AacAudioSpecificConfigBoxBuilder {
[INFO] [stdout]      |     ------------------------------------- associated items in this implementation
[INFO] [stdout] 1965 |         #[inline]
[INFO] [stdout] 1966 |         pub fn new() -> AacAudioSpecificConfigBoxBuilder {
[INFO] [stdout]      |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1978 |         pub fn set_aac_object_type(mut self, aac_object_type: AacObjectType) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1984 |         pub fn set_sampling_freq_index(mut self, sampling_freq_index: SamplingFreqIndex) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1990 |         pub fn set_channel_config(mut self, channel_config: ChannelConfig) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1996 |         pub fn set_frame_length_flag(mut self, frame_length_flag: FrameLengthFlag) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2002 |         pub fn set_core_coder_dependent_flag(mut self, core_coder_dependent_flag: CoreCoderDependentFlag) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2008 |         pub fn set_extension_flag(mut self, extension_flag: ExtensionFlag) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2014 |         pub fn build(mut self) -> AacAudioSpecificConfigBox {
[INFO] [stdout]      |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AvcCBoxLike` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2327:9
[INFO] [stdout]      |
[INFO] [stdout] 2326 |     pub enum AvcCBoxLike {
[INFO] [stdout]      |              ----------- variant in this enum
[INFO] [stdout] 2327 |         AvcCBoxLike(Vec<u8>)
[INFO] [stdout]      |         ^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AvcCBoxLike` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `deferred_set_trun_size` are never used
[INFO] [stdout]   --> src/fmpeg/mp4frag.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl MovieFragmentBox {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(sequence_number: u32, track_fragment_box: TrackFragmentBox) -> MovieFragmentBox {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn deferred_set_trun_size(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/fmpeg/mp4frag.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl MovieFragmentHeaderBox {
[INFO] [stdout]    | --------------------------- associated function in this implementation
[INFO] [stdout] 57 |     pub fn new(sequence_number: u32) -> MovieFragmentHeaderBox {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrackFragmentBoxBuilder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct TrackFragmentBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl TrackFragmentBoxBuilder {
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout] 108 |     pub fn new() -> TrackFragmentBoxBuilder {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn with_track_id(mut self, track_id: u32) -> TrackFragmentBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn with_media_decode_time(mut self, base_media_decode_time: u32) -> TrackFragmentBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn with_sample_options(mut self, sample_flag_builder: SampleFlagBuilder) -> TrackFragmentBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn with_sample_table_box(mut self, sample_table_box: SampleDependencyTableBoxBuilder) -> TrackFragmentBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn with_track_run_box(mut self, track_run_box: TrackRunBox) -> TrackFragmentBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn build(self) -> TrackFragmentBox {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl TrackFragmentHeaderBox {
[INFO] [stdout]     | --------------------------- associated function in this implementation
[INFO] [stdout] 194 |     pub fn new(track_id: u32) -> TrackFragmentHeaderBox {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl TrackFragmentDecodeTimeBox {
[INFO] [stdout]     | ------------------------------- associated function in this implementation
[INFO] [stdout] 237 |     pub fn new(base_media_decode_time: u32) -> TrackFragmentDecodeTimeBox {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `VideoKeyFrame`, `VideoInterFrame`, and `Audio` are never constructed
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:314:5
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub enum SampleDependencyTableBoxBuilder {
[INFO] [stdout]     |          ------------------------------- variants in this enum
[INFO] [stdout] 314 |     VideoKeyFrame,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 315 |     VideoInterFrame,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 316 |     Audio,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_box` is never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:320:12
[INFO] [stdout]     |
[INFO] [stdout] 319 | impl SampleDependencyTableBoxBuilder {
[INFO] [stdout]     | ------------------------------------ method in this implementation
[INFO] [stdout] 320 |     pub fn as_box(&self) -> SampleDependencyTableBox {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SampleFlagBuilder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:348:12
[INFO] [stdout]     |
[INFO] [stdout] 348 | pub struct SampleFlagBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:357:12
[INFO] [stdout]     |
[INFO] [stdout] 356 | impl SampleFlagBuilder {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 357 |     pub fn new() -> SampleFlagBuilder {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     pub fn set_is_leading(mut self, is_leading: bool) -> SampleFlagBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub fn set_sample_depends_on(mut self, sample_depends_on: bool) -> SampleFlagBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 381 |     pub fn set_sample_is_depended_on(mut self, sample_is_depended_on: bool) -> SampleFlagBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn set_sample_has_redundancy(mut self, sample_has_redundancy: bool) -> SampleFlagBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 393 |     pub fn set_is_non_sync(mut self, is_non_sync: bool) -> SampleFlagBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     pub fn build(self) -> u16 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:448:12
[INFO] [stdout]     |
[INFO] [stdout] 447 | impl TrackRunBox {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 448 |     pub fn new() -> TrackRunBox {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrackRunBoxBuilder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:495:12
[INFO] [stdout]     |
[INFO] [stdout] 495 | pub struct TrackRunBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:506:12
[INFO] [stdout]     |
[INFO] [stdout] 505 | impl TrackRunBoxBuilder {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 506 |     pub fn new() -> TrackRunBoxBuilder {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 519 |     pub fn with_sample_duration(mut self, duration: u32) -> TrackRunBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 525 |     pub fn with_sample_size(mut self, size: u32) -> TrackRunBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 531 |     pub fn with_sample_flags(mut self, flags: u16) -> TrackRunBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 537 |     pub fn with_sample_composition_time_offset(mut self, offset: u32) -> TrackRunBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 543 |     pub fn with_data_offset(mut self, offset: u32) -> TrackRunBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 548 |     pub fn build(self) -> TrackRunBox {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `add_data` are never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:591:12
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl MovieDataBox {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 591 |     pub fn new(data: Vec<u8>) -> MovieDataBox {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 599 |     pub fn add_data(mut self, data: Vec<u8>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Audio` and `Video` are never constructed
[INFO] [stdout]  --> src/fmpeg/remux_context.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum TrackType {
[INFO] [stdout]   |          --------- variants in this enum
[INFO] [stdout] 8 |     Audio,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 9 |     Video,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `track_id`, `sequence_number`, and `track_type` are never read
[INFO] [stdout]   --> src/fmpeg/remux_context.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TrackContext {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 13 |     pub track_id: u32,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 14 |     pub sequence_number: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |
[INFO] [stdout] 16 |     pub track_type: TrackType,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/fmpeg/remux_context.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl TrackContext {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 20 |     pub fn new(track_id: u32, track_type: TrackType) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SampleContext` is never constructed
[INFO] [stdout]   --> src/fmpeg/remux_context.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct SampleContext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SampleContextBuilder` is never constructed
[INFO] [stdout]   --> src/fmpeg/remux_context.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct SampleContextBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/remux_context.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout] 55  | impl SampleContextBuilder {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 56  |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71  |     pub fn set_is_leading(&mut self, is_leading: bool) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77  |     pub fn set_is_non_sync(&mut self, is_non_sync: bool) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83  |     pub fn set_is_keyframe(&mut self, is_keyframe: bool) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89  |     pub fn set_has_redundancy(&mut self, has_redundancy: bool) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95  |     pub fn set_decode_time(&mut self, decode_time: u32) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn set_composition_time_offset(&mut self, composition_time_offset: u32) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn set_sample_duration(&mut self, sample_duration: u32) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn set_sample_size(&mut self, sample_size: u32) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn build(&self) -> SampleContext {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TIME_SCALE` is never used
[INFO] [stdout]    --> src/fmpeg/remux_context.rs:134:11
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub const TIME_SCALE: u32 = 24000;
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/fmpeg/remux_context.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct RemuxContext {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 140 |     pub fps: f64,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 141 |     pub fps_num: u32,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 142 |
[INFO] [stdout] 143 |     pub duration_ms: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 144 |
[INFO] [stdout] 145 |     pub width: f64,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 146 |     pub height: f64,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 147 |
[INFO] [stdout] 148 |     pub has_audio: bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 149 |     pub has_video: bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 150 |
[INFO] [stdout] 151 |     pub audio_codec_id: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 152 |     pub audio_codec_type: AudioCodecType,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 153 |     pub audio_data_rate: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub audio_sample_rate: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 157 |     pub audio_channels: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 158 |     pub audio_channels_extended: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 159 |     pub audio_aac_info: Vec<u8>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub video_codec_id: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 163 |     pub video_codec_type: VideoCodecType,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub video_data_rate: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 167 |     pub video_avcc_info: AvcCBoxLike,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub major_brand: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 171 |     pub minor_version: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 172 |     pub compatible_brands: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 173 |
[INFO] [stdout] 174 |     header_sent: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 175 |     flv_header_configured: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 176 |     metadata_configured: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 177 |     video_metadata_configured: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 178 |     audio_metadata_configured: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 179 |
[INFO] [stdout] 180 |     pub(crate) sequence_number: u32,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/remux_context.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl RemuxContext {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 214 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn parse_flv_header(&mut self, header: &FlvHeader) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn parse_metadata(&mut self, metadata: &RawMetaData) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     const AAC_SAMPLE_RATES: [u32; 13] = [
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn configure_audio_metadata(&mut self, audio_metadata: &AudioParseResult) -> Option<AudioCodecConfig> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     pub fn configure_video_metadata(&mut self, video_metadata: &VideoParseResult) -> Option<VideoCodecConfig> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     pub fn is_metadata_complete(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |     pub fn is_configured(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 436 |     pub fn is_header_sent(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     pub fn set_header_sent(&mut self, flag: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_timescale` is never used
[INFO] [stdout]  --> src/fmpeg/parser.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn parse_timescale(timestamp_ms: u32) -> u32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_timescale_accurate` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn parse_timescale_accurate(timestamp_ms: f32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_mp3_timescale` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn parse_mp3_timescale(sample_rate: u32, mp3version: Mp3Version) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_aac_timescale` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn parse_aac_timescale(sample_rate: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_avc_timescale` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn parse_avc_timescale(fps: f32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AudioParseResult` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub enum AudioParseResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VideoParseResult` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:68:10
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub enum VideoParseResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Avc1ParseResult` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:72:10
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub enum Avc1ParseResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AvcNalu` is never constructed
[INFO] [stdout]   --> src/fmpeg/parser.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct AvcNalu {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AudioConfigurationLike` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub enum AudioConfigurationLike {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mp3ParseResult` is never constructed
[INFO] [stdout]    --> src/fmpeg/parser.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub struct Mp3ParseResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUDIO_SAMPLE_RATE_TABLE_M10` is never used
[INFO] [stdout]    --> src/fmpeg/parser.rs:172:11
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub const AUDIO_SAMPLE_RATE_TABLE_M10: [u32; 4] = [44100, 48000, 32000, 0];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUDIO_SAMPLE_RATE_TABLE_M20` is never used
[INFO] [stdout]    --> src/fmpeg/parser.rs:173:11
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub const AUDIO_SAMPLE_RATE_TABLE_M20: [u32; 4] = [22050, 24000, 16000, 0];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUDIO_SAMPLE_RATE_TABLE_M25` is never used
[INFO] [stdout]    --> src/fmpeg/parser.rs:174:11
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub const AUDIO_SAMPLE_RATE_TABLE_M25: [u32; 4] = [11025, 12000, 8000, 0];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUDIO_BITRATE_TABLE_L1` is never used
[INFO] [stdout]    --> src/fmpeg/parser.rs:176:11
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub const AUDIO_BITRATE_TABLE_L1: [u32; 16] = [0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, 0];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUDIO_BITRATE_TABLE_L2` is never used
[INFO] [stdout]    --> src/fmpeg/parser.rs:177:11
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub const AUDIO_BITRATE_TABLE_L2: [u32; 16] = [0, 32, 48, 56,  64,  80,  96, 112, 128, 160, 192, 224, 256, 320, 384, 0];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUDIO_BITRATE_TABLE_L3` is never used
[INFO] [stdout]    --> src/fmpeg/parser.rs:178:11
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub const AUDIO_BITRATE_TABLE_L3: [u32; 16] = [0, 32, 40, 48,  56,  64,  80,  96, 112, 128, 160, 192, 224, 256, 320, 0];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MP3_SYNC_WORD` is never used
[INFO] [stdout]    --> src/fmpeg/parser.rs:180:7
[INFO] [stdout]     |
[INFO] [stdout] 180 | const MP3_SYNC_WORD: u16 = 0x07FF;
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AacSequenceHeader` is never constructed
[INFO] [stdout]    --> src/fmpeg/parser.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct AacSequenceHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]    --> src/fmpeg/parser.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub struct Parser;
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/fmpeg/parser.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl Parser {
[INFO] [stdout]     | ----------- associated functions in this implementation
[INFO] [stdout] 192 |     pub fn parse_audio(tag: &Tag) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn parse_mp3(header: &AudioTagHeader, body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn parse_aac(header: &AudioTagHeader, body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     fn parse_aac_seq_hdr(body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     fn parse_aac_raw(body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn parse_video(tag: &Tag) -> Result<VideoParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     fn parse_avc(header: &VideoTagHeader, body: &VecDeque<u8>) -> Result<VideoParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 |     fn parse_avc_nalu(header: &VideoTagHeader, mut payload: VecDeque<u8>) -> Result<AvcNalu, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Encoder` is never constructed
[INFO] [stdout]  --> src/fmpeg/encoder.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Encoder;
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_VIDEO_TRACK_ID` is never used
[INFO] [stdout]  --> src/fmpeg/encoder.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const DEFAULT_VIDEO_TRACK_ID: u32 = 1;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_AUDIO_TRACK_ID` is never used
[INFO] [stdout]   --> src/fmpeg/encoder.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const DEFAULT_AUDIO_TRACK_ID: u32 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/fmpeg/encoder.rs:13:12
[INFO] [stdout]     |
[INFO] [stdout] 12  | impl Encoder {
[INFO] [stdout]     | ------------ associated functions in this implementation
[INFO] [stdout] 13  |     pub fn encode_ftyp(ctx: &RemuxContext) -> FileTypeBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23  |     pub fn encode_moov(ctx: &RemuxContext) -> MovieBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32  |     pub fn encode_mhdv(ctx: &RemuxContext) -> MovieHeaderBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46  |     pub fn encode_trak(ctx: &RemuxContext, track_id: u32, media_box: MediaBox) -> mp4head::TrackBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64  |     pub fn encode_mdia(ctx: &RemuxContext, handler_type: HandlerType) -> MediaBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74  |     pub fn encode_mdhd(ctx: &RemuxContext) -> mp4head::MediaHeaderBoxV0 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |     pub fn encode_hdlr(ctx: &RemuxContext, handler_type: HandlerType) -> mp4head::HandlerBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91  |     pub fn encode_minf(ctx: &RemuxContext, handler_type: HandlerType) -> mp4head::MediaInfoBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn encode_moof(ctx: &mut RemuxContext, track_ctx: &mut TrackContext, encoding_ctx: &mut SampleContext) -> MovieFragmentBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn encode_traf(ctx: &mut RemuxContext, track_ctx: &mut TrackContext, encoding_ctx: &mut SampleContext) -> TrackFragmentBox {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn encode_mdat(raw_data: Vec<u8>) -> MovieDataBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.21s
[INFO] running `Command { std: "docker" "inspect" "fe7658963bbed5963e444c65e767fc740961952086fbe1cdc885ea8fccf6b2aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fe7658963bbed5963e444c65e767fc740961952086fbe1cdc885ea8fccf6b2aa", kill_on_drop: false }`
[INFO] [stdout] fe7658963bbed5963e444c65e767fc740961952086fbe1cdc885ea8fccf6b2aa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1507536f8a08fb0d55c73023ba372c4a9a97c0b4b0ce77762890f276a731af25
[INFO] running `Command { std: "docker" "start" "-a" "1507536f8a08fb0d55c73023ba372c4a9a97c0b4b0ce77762890f276a731af25", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/exchange.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:109:18
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_size`
[INFO] [stdout]    --> src/flv/header.rs:109:41
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:131:18
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn parse(decoder: &mut Decoder) -> Self {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:137:18
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `param_size`
[INFO] [stdout]    --> src/flv/header.rs:137:41
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/fmpeg/remuxer.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Err(e) => Err("[Remuxer] Channel closed.".into())
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/fmpeg/remuxer.rs:197:28
[INFO] [stdout]     |
[INFO] [stdout] 197 |                         if let VideoParseResult::Avc1(parsed) = parsed {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2014:22
[INFO] [stdout]      |
[INFO] [stdout] 2014 |         pub fn build(mut self) -> AacAudioSpecificConfigBox {
[INFO] [stdout]      |                      ----^^^^
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2339:17
[INFO] [stdout]      |
[INFO] [stdout] 2339 |             let mut size = self.size();
[INFO] [stdout]      |                 ----^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/fmpeg/remux_context.rs:411:13
[INFO] [stdout]     |
[INFO] [stdout] 385 |             VideoParseResult::Avc1(h264_info) => {
[INFO] [stdout]     |             --------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 411 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `protection_bit`
[INFO] [stdout]    --> src/fmpeg/parser.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let protection_bit = u16io.read_at(15);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_protection_bit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]    --> src/fmpeg/parser.rs:221:18
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn parse_mp3(header: &AudioTagHeader, body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/fmpeg/encoder.rs:85:24
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn encode_hdlr(ctx: &RemuxContext, handler_type: HandlerType) -> mp4head::HandlerBox {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/flv/demuxer.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Demuxer {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 10 |     channel_exchange: Option<mpsc::Sender<Packed>>,
[INFO] [stdout] 11 |     channel_receiver: mpsc::Receiver<PackedContent>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     channel_sender: mpsc::Sender<PackedContent>,
[INFO] [stdout] 13 |     demuxing: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 14 |
[INFO] [stdout] 15 |     cache_video_tags: VecDeque<Tag>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     cache_audio_tags: VecDeque<Tag>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     cache_script_tags: VecDeque<Tag>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     cache_metadata: Option<RawMetaData>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     cache_flv_header: Option<FlvHeader>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/flv/demuxer.rs:23:12
[INFO] [stdout]     |
[INFO] [stdout] 22  | impl Demuxer {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 23  |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 38  |     fn set_demuxing(&mut self, flag: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42  |     fn process_incoming_tag(&mut self, tag: Tag) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66  |     fn send_to_remuxer(&mut self, pack: Packed) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |     fn send_from_cache(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn run(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn launch_worker_thread(mut self) -> JoinHandle<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data`, `previous_tag_size`, `channel_receiver`, and `decoding` are never read
[INFO] [stdout]   --> src/flv/decoder.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Decoder {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 12 |     data: VecDeque<u8>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     previous_tag_size: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     channel_exchange: Option<mpsc::Sender<Packed>>,
[INFO] [stdout] 15 |     channel_receiver: mpsc::Receiver<PackedContent>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     channel_sender: mpsc::Sender<PackedContent>,
[INFO] [stdout] 17 |     decoding: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/flv/decoder.rs:35:12
[INFO] [stdout]     |
[INFO] [stdout] 34  | impl Decoder {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 35  |     pub fn new(data: VecDeque<u8>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47  |     pub fn push_data(&mut self, data: &mut VecDeque<u8>) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51  |     pub fn push_bytes(&mut self, bytes: &[u8]) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56  |     pub fn drain_u8(&mut self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61  |     pub fn drain_bytes<const SIZE: usize>(&mut self) -> [u8; SIZE] {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  |     pub fn drain_bytes_vec(&mut self, size: usize) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |     pub fn drain_bytes_deque(&mut self, size: usize) -> VecDeque<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82  |     pub fn drain_u16_le(&mut self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90  |     pub fn drain_u16(&mut self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98  |     pub fn drain_u24_le(&mut self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn drain_u24(&mut self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn drain_u32_le(&mut self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn drain_u32(&mut self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn drain_u64(&mut self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn drain_i8(&mut self) -> i8 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn drain_i16(&mut self) -> i16 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn drain_i24(&mut self) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn drain_i32(&mut self) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn drain_i64(&mut self) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn drain_f64(&mut self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn drain_f64_le(&mut self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn drain_f32_le(&mut self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn drain_f32(&mut self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn decode_header(&mut self) -> Result<FlvHeader, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn concat_ts(ts: u32, ts_ext: u8) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn decode_tag(&mut self) -> Result<Tag, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     fn set_decoding(&mut self, flag: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     pub fn decode_body(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     pub fn decode_body_once(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     fn send_to_demuxer(&mut self, pack: Packed) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 418 |     fn send_tag_to_demuxer(&mut self, tag: Tag) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 426 |     fn send_header_to_demuxer(&mut self, flv_header: FlvHeader) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 434 |     fn run(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 450 |     pub fn launch_worker_thread(mut self) -> JoinHandle<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `signature`, `version`, `type_flags_audio`, `type_flags_video`, and `data_offset` are never read
[INFO] [stdout]   --> src/flv/header.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub struct FlvHeader {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 6  |     pub signature: [u8; 3],
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 7  |     pub version: u8,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 8  |     pub type_flags_audio: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub type_flags_video: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub data_offset: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FlvHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/flv/header.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl FlvHeader {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new(signature: [u8; 3], version: u8, type_flags_audio: bool, type_flags_video: bool, data_offset: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Audio`, `Video`, `Script`, and `Placeholder` are never constructed
[INFO] [stdout]   --> src/flv/header.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum TagHeader {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 21 |     Audio(AudioTagHeader),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 22 |     Video(VideoTagHeader),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     Script,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 24 |     Placeholder,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TagHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sound_format`, `sound_rate`, `sound_size`, `sound_type`, and `aac_packet_type` are never read
[INFO] [stdout]   --> src/flv/header.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct AudioTagHeader {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 29 |     // UB4
[INFO] [stdout] 30 |     pub sound_format: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 31 |     // UB2
[INFO] [stdout] 32 |     pub sound_rate: u8,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 33 |     // UB1
[INFO] [stdout] 34 |     pub sound_size: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 35 |     // UB1
[INFO] [stdout] 36 |     pub sound_type: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub aac_packet_type: Option<u8>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AudioTagHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `parse` are never used
[INFO] [stdout]   --> src/flv/header.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl AudioTagHeader {
[INFO] [stdout]    | ------------------- associated functions in this implementation
[INFO] [stdout] 43 |     pub fn new(sound_format: u8, sound_rate: u8, sound_size: bool, sound_type: bool, aac_packet_type: Option<u8>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `frame_type`, `codec_id`, `avc_packet_type`, and `composition_time` are never read
[INFO] [stdout]   --> src/flv/header.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct VideoTagHeader {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 67 |     // UB4
[INFO] [stdout] 68 |     pub frame_type: u8,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 69 |     // UB4
[INFO] [stdout] 70 |     pub codec_id: u8,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub avc_packet_type: Option<u8>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub composition_time: Option<i32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VideoTagHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `parse` are never used
[INFO] [stdout]   --> src/flv/header.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl VideoTagHeader {
[INFO] [stdout]    | ------------------- associated functions in this implementation
[INFO] [stdout] 80 |     pub fn new(frame_type: u8, codec_id: u8, avc_packet_type: Option<u8>, composition_time: Option<i32>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]    --> src/flv/header.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl EncryptionTagHeader {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `EncryptionFilter` and `SelectiveEncryptionFilter` are never constructed
[INFO] [stdout]    --> src/flv/header.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub enum FilterParameters {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 116 |     EncryptionFilter(EncryptionFilterParameters),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 117 |     SelectiveEncryptionFilter(SelectiveEncryptionFilterParameters),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FilterParameters` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]    --> src/flv/header.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl SelectiveEncryptionFilterParameters {
[INFO] [stdout]     | ---------------------------------------- associated function in this implementation
[INFO] [stdout] 131 |     pub fn parse(decoder: &mut Decoder) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]    --> src/flv/header.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl FilterParameters {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/flv/tag.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub struct Tag {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 8  |     pub filter: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 9  |     pub tag_type: TagType,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 10 |     pub data_size: u32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 11 |     pub timestamp_short: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub timestamp_extended: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub timestamp: u32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 14 |     pub stream_id: u32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 15 |     pub tag_header: TagHeader,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 16 |     pub encryption_tag_header: Option<EncryptionTagHeader>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub filter_parameters: Option<FilterParameters>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub tag_body: TagBody,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Audio`, `Video`, `Script`, and `Encryption` are never constructed
[INFO] [stdout]   --> src/flv/tag.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum TagType {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 23 |     Audio,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |     Video,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 25 |     Script,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 26 |     Encryption,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TagType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Normal` and `Encrypted` are never constructed
[INFO] [stdout]   --> src/flv/tag.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub enum TagBody {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 54 |     Normal(NormalTagBody),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 55 |     Encrypted(EncryptedTagBody),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TagBody` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Audio`, `Video`, `Script`, and `Placeholder` are never constructed
[INFO] [stdout]   --> src/flv/tag.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum NormalTagBody {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 60 |     Audio(VecDeque<u8>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 61 |     Video(VecDeque<u8>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 62 |     Script(ScriptTagBody),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 63 |     Placeholder, // todo: temporary
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NormalTagBody` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Audio`, `Video`, `Script`, and `Placeholder` are never constructed
[INFO] [stdout]    --> src/flv/tag.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout] 96  | pub enum EncryptedTagBody {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 97  |     Audio(Vec<u8>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 98  |     Video(Vec<u8>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 99  |     Script(ScriptTagBody),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 100 |     Placeholder, // todo: temporary
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EncryptedTagBody` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]    --> src/flv/tag.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl TagType {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 104 |     pub fn from(tag_type: u8) -> Result<TagType, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/flv/tag.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl Tag {
[INFO] [stdout]     | -------- associated function in this implementation
[INFO] [stdout] 123 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_object` is never used
[INFO] [stdout]  --> src/flv/script.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn parse_object(data: &mut Decoder) -> Result<ScriptData, Box<dyn std::error::Error>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/flv/script.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl ScriptTagBody {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 33 |     pub fn parse(data: &mut Decoder) -> Result<ScriptTagBody, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/flv/script.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum ScriptData {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 42 |     Number(f64),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 43 |     Boolean(u8),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 44 |     String(ScriptDataString),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 45 |     Object(ScriptDataObject),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 46 |     MovieClip,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 47 |     Null,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 48 |     Undefined,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 49 |     Reference(u16),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 50 |     EcmaArray(ScriptDataEcmaArray),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 51 |     ObjectEndMarker,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     StrictArray(ScriptStrictArray),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 53 |     Date(ScriptDataDate),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 54 |     LongString(ScriptDataLongString),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 55 |     NotImplemented,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `properties` is never read
[INFO] [stdout]   --> src/flv/script.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct ScriptDataObject {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 60 |     pub properties: Vec<ScriptDataObjectProp>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptDataObject` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stdout]   --> src/flv/script.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl ScriptDataObject {
[INFO] [stdout]    | --------------------- associated functions in this implementation
[INFO] [stdout] 64 |
[INFO] [stdout] 65 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataObject, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptDataObject, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `value` are never read
[INFO] [stdout]   --> src/flv/script.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct ScriptDataObjectProp {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 97 |     pub name: ScriptDataString,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 98 |     pub value: ScriptData,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptDataObjectProp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `length` and `data` are never read
[INFO] [stdout]    --> src/flv/script.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct ScriptDataString {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 103 |     pub length: u16,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 104 |     pub data: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScriptDataString` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stdout]    --> src/flv/script.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl ScriptDataString {
[INFO] [stdout]     | --------------------- associated functions in this implementation
[INFO] [stdout] 108 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataString, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptDataString, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `length` and `data` are never read
[INFO] [stdout]    --> src/flv/script.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct ScriptDataLongString {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] 134 |     pub length: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 135 |     pub data: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScriptDataLongString` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stdout]    --> src/flv/script.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl ScriptDataLongString {
[INFO] [stdout]     | ------------------------- associated functions in this implementation
[INFO] [stdout] 139 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataLongString, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptDataLongString, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stdout]    --> src/flv/script.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl ScriptDataEcmaArray {
[INFO] [stdout]     | ------------------------ associated functions in this implementation
[INFO] [stdout] 167 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataEcmaArray, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptDataEcmaArray, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `length` and `values` are never read
[INFO] [stdout]    --> src/flv/script.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct ScriptStrictArray {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 197 |     pub length: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 198 |     pub values: Vec<ScriptData>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScriptStrictArray` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stdout]    --> src/flv/script.rs:202:12
[INFO] [stdout]     |
[INFO] [stdout] 201 | impl ScriptStrictArray {
[INFO] [stdout]     | ---------------------- associated functions in this implementation
[INFO] [stdout] 202 |     pub fn parse(data: &mut Decoder) -> Result<ScriptStrictArray, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptStrictArray, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `date` and `local_time_offset` are never read
[INFO] [stdout]    --> src/flv/script.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct ScriptDataDate {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 229 |     pub date: f64,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 230 |     pub local_time_offset: i16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScriptDataDate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stdout]    --> src/flv/script.rs:234:12
[INFO] [stdout]     |
[INFO] [stdout] 233 | impl ScriptDataDate {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] 234 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataDate, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptDataDate, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MetaData` is never constructed
[INFO] [stdout]  --> src/flv/meta.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MetaData {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/flv/meta.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl MetaData {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 23 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]   --> src/flv/meta.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct RawMetaData {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 61 |     data: HashMap<String, ScriptData>
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `try_get`, `try_get_string`, `try_get_number`, and `try_get_boolean` are never used
[INFO] [stdout]   --> src/flv/meta.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl RawMetaData {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 65 |     pub fn new(data: ScriptTagBody) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn try_get(&self, key: &str) -> Option<ScriptData> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn try_get_string(&self, key: &str) -> Option<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn try_get_number(&self, key: &str) -> Option<f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn try_get_boolean(&self, key: &str) -> Option<bool> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XMPData` is never constructed
[INFO] [stdout]   --> src/flv/meta.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct XMPData {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/flv/meta.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl XMPData {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 103 |     pub fn new(xmp: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IReader` is never used
[INFO] [stdout]  --> src/io/reader.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait IReader {
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalReader` is never constructed
[INFO] [stdout]   --> src/io/reader.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct LocalReader {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read_file`, and `read_bytes` are never used
[INFO] [stdout]   --> src/io/reader.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl LocalReader {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new(filename: &str) -> LocalReader {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn read_file(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn read_bytes(&mut self, buffer: &mut [u8]) -> Result<(), std::io::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BitIO` is never constructed
[INFO] [stdout]  --> src/io/bit.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct BitIO {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read`, `read_bit`, `read_bit_safe`, and `read_range` are never used
[INFO] [stdout]   --> src/io/bit.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout] 5  | impl BitIO {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 6  |     pub fn new(byte: u8) -> BitIO {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn read(&self) -> bool {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn read_bit(&self, index: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn read_bit_safe(&self, index: usize) -> Result<bool, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn read_range(&self, start: usize, end: usize) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LittleEndian` is never constructed
[INFO] [stdout]   --> src/io/bit.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub enum UIntParserEndian {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] 46 |     LittleEndian,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `endian` is never read
[INFO] [stdout]   --> src/io/bit.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct U16BitIO {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 50 |     pub(crate) data: [u8; 2],
[INFO] [stdout] 51 |     endian: UIntParserEndian
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_data`, `read_at`, and `read_range` are never used
[INFO] [stdout]   --> src/io/bit.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl U16BitIO {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 55 |     #[inline]
[INFO] [stdout] 56 |     pub fn get_data(&self) -> [u8; 2] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn read_at(&mut self, bit_offset: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn read_range(&mut self, start: usize, end: usize) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `U32BitIO` is never constructed
[INFO] [stdout]    --> src/io/bit.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct U32BitIO {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_data`, `new`, `read_at`, `read_range`, `write_at`, and `write_range` are never used
[INFO] [stdout]    --> src/io/bit.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl U32BitIO {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 124 |     #[inline]
[INFO] [stdout] 125 |     pub fn get_data(&self) -> [u8; 4] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn new(data: u32, endian: UIntParserEndian) -> U32BitIO {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn read_at(&mut self, bit_offset: usize) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn read_range(&mut self, start: usize, end: usize) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn write_at(&mut self, bit_offset: usize, value: bool) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn write_range(&mut self, start: usize, end: usize, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/core.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout] 16  | impl Core {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 17  |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 51  |     pub fn send(&self, packed: Packed) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62  |     pub fn push_data_to_decoder(&self, data: &mut VecDeque<u8>) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73  |     pub fn start(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80  |     fn start_decoding(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92  |     fn start_demuxing(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn start_remuxing(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn stop(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn stop_decoding(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     fn stop_demuxing(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     fn stop_remuxing(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn now(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn decode_now(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn demux_now(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     fn remux_now(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn drop_all_workers(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     fn drop_decoding_worker(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     fn drop_demuxing_worker(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     fn drop_remuxing_worker(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_audio_codec_conf`, `get_video_codec_conf`, `is_codec_configured`, `try_get_codec_conf`, and `get_codec_conf` are never used
[INFO] [stdout]    --> src/core.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl Core {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 264 |     pub fn get_audio_codec_conf(&mut self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_video_codec_conf(&mut self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn is_codec_configured(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn try_get_codec_conf(&mut self) -> Option<(String, String)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn get_codec_conf(&mut self) -> Result<(String, String), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `consume` is never used
[INFO] [stdout]    --> src/core.rs:308:8
[INFO] [stdout]     |
[INFO] [stdout] 306 | pub trait IConsumable {
[INFO] [stdout]     |           ----------- method in this trait
[INFO] [stdout] 307 |     type ConsumerData;
[INFO] [stdout] 308 |     fn consume(&mut self) -> Result<Self::ConsumerData, Box<dyn std::error::Error>>;
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Exchange` is never constructed
[INFO] [stdout]   --> src/exchange.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Exchange {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_exchange`, `get_sender`, and `get_self_as_destination` are never used
[INFO] [stdout]   --> src/exchange.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub trait ExchangeRegistrable {
[INFO] [stdout]    |           ------------------- methods in this trait
[INFO] [stdout] 62 |     fn set_exchange(&mut self, sender: mpsc::Sender<Packed>);
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 63 |
[INFO] [stdout] 64 |     fn get_sender(&self) -> mpsc::Sender<PackedContent>;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 65 |     fn get_self_as_destination(&self) -> Destination;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_exchange_sender`, `get_sender`, `register`, `process_incoming`, and `launch_worker_thread` are never used
[INFO] [stdout]    --> src/exchange.rs:69:12
[INFO] [stdout]     |
[INFO] [stdout] 68  | impl Exchange {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 69  |     pub fn new() -> Exchange {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78  |     pub fn get_exchange_sender(&self) -> mpsc::Sender<Packed> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82  |     pub fn get_sender(&self, channel_dest: Destination) -> Option<mpsc::Sender<PackedContent>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86  |     pub fn register(&mut self, registry: &mut dyn ExchangeRegistrable) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91  |     pub fn process_incoming(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn launch_worker_thread(mut self) -> JoinHandle<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `packed_routing` and `packed_content` are never read
[INFO] [stdout]    --> src/exchange.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct Packed {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 114 |     pub packed_routing: Destination,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 115 |     pub packed_content: PackedContent
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ToCore`, `ToDecoder`, `ToDemuxer`, and `ToRemuxer` are never constructed
[INFO] [stdout]    --> src/exchange.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub enum PackedContent {
[INFO] [stdout]     |          ------------- variants in this enum
[INFO] [stdout] 119 |     ToCore(PackedContentToCore),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 120 |     ToDecoder(PackedContentToDecoder),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 121 |     ToDemuxer(PackedContentToDemuxer),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 122 |     ToRemuxer(PackedContentToRemuxer)
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Data`, `DecoderConfig`, and `Command` are never constructed
[INFO] [stdout]    --> src/exchange.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub enum PackedContentToCore {
[INFO] [stdout]     |          ------------------- variants in this enum
[INFO] [stdout] 126 |     Data(RemuxedData),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 127 |     DecoderConfig(MseDecoderConfig),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 128 |     Command
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Header`, `Audio`, and `Video` are never constructed
[INFO] [stdout]    --> src/exchange.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub enum RemuxedData {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] 132 |     Header(Vec<u8>),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 133 |     Audio(Vec<u8>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 134 |     Video(Vec<u8>)
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AudioCodec` and `VideoCodec` are never constructed
[INFO] [stdout]    --> src/exchange.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub enum MseDecoderConfig {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 138 |     AudioCodec(AudioCodecConfig),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 139 |     VideoCodec(VideoCodecConfig)
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `conf_string`, `audio_codec_type`, and `audio_object_type` are never read
[INFO] [stdout]    --> src/exchange.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct AudioCodecConfig {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 145 |     conf_string: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 146 |
[INFO] [stdout] 147 |     pub audio_codec_type: AudioCodecType,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 148 |     pub audio_object_type: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `audio_conf` are never used
[INFO] [stdout]    --> src/exchange.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl AudioCodecConfig {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 152 |     pub fn new(codec_type: AudioCodecType, object_type: u8) -> AudioCodecConfig {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn audio_conf(&mut self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `conf_string`, `avc_profile_indication`, `avc_profile_compatibility`, and `avc_level_indication` are never read
[INFO] [stdout]    --> src/exchange.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub struct VideoCodecConfig {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 179 |     pub conf_string: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 180 |
[INFO] [stdout] 181 |     pub avc_profile_indication: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 182 |     pub avc_profile_compatibility: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 183 |     pub avc_level_indication: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `video_conf` are never used
[INFO] [stdout]    --> src/exchange.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl VideoCodecConfig {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 187 |     pub fn new(profile_indication: u8, profile_compatibility: u8, level_indication: u8) -> VideoCodecConfig {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn video_conf(&mut self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `PushData`, `StartDecoding`, `StopDecoding`, `CloseWorkerThread`, and `Now` are never constructed
[INFO] [stdout]    --> src/exchange.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub enum PackedContentToDecoder {
[INFO] [stdout]     |          ---------------------- variants in this enum
[INFO] [stdout] 203 |     PushData(VecDeque<u8>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 204 |
[INFO] [stdout] 205 |     StartDecoding,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 206 |     StopDecoding,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 207 |     CloseWorkerThread,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 208 |
[INFO] [stdout] 209 |     Now
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `PushTag`, `PushFlvHeader`, `StartDemuxing`, `StopDemuxing`, `CloseWorkerThread`, and `Now` are never constructed
[INFO] [stdout]    --> src/exchange.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub enum PackedContentToDemuxer {
[INFO] [stdout]     |          ---------------------- variants in this enum
[INFO] [stdout] 213 |     PushTag(Tag),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 214 |     PushFlvHeader(FlvHeader),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 215 |
[INFO] [stdout] 216 |     StartDemuxing,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 217 |     StopDemuxing,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 218 |     CloseWorkerThread,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 219 |
[INFO] [stdout] 220 |     Now
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/exchange.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub enum PackedContentToRemuxer {
[INFO] [stdout]     |          ---------------------- variants in this enum
[INFO] [stdout] 224 |     PushTag(Tag),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 225 |     PushFlvHeader(FlvHeader),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 226 |     PushMetadata(RawMetaData),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 227 |
[INFO] [stdout] 228 |     StartRemuxing,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 229 |     StopRemuxing,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 230 |     CloseWorkerThread,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 231 |
[INFO] [stdout] 232 |     Now
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/fmpeg/remuxer.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Remuxer {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 16 |     channel_exchange: Option<mpsc::Sender<Packed>>,
[INFO] [stdout] 17 |     channel_receiver: mpsc::Receiver<PackedContent>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     channel_sender: mpsc::Sender<PackedContent>,
[INFO] [stdout] 19 |     remuxing: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |
[INFO] [stdout] 21 |     tags: VecDeque<Tag>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 22 |     metadata: Option<RawMetaData>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 23 |     flv_header: Option<FlvHeader>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 24 |
[INFO] [stdout] 25 |     ctx: RemuxContext,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 26 |
[INFO] [stdout] 27 |     audio_track: TrackContext,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 28 |     video_track: TrackContext,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/remuxer.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout] 57  | impl Remuxer {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 58  |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 79  |     fn set_remuxing(&mut self, flag: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83  |     fn send(&mut self, pack: Packed) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90  |     fn send_mpeg4_header(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn send_raw_data(&mut self, data: RemuxedData) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn remux(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn run(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn launch_worker_thread(mut self) -> JoinHandle<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Utils` is never constructed
[INFO] [stdout]  --> src/fmpeg/mp4head.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Utils;
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `str_to_char_array` and `slice_to_char_array` are never used
[INFO] [stdout]   --> src/fmpeg/mp4head.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout] 5  | impl Utils {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] 6  |     #[inline]
[INFO] [stdout] 7  |     pub fn str_to_char_array(s: &String) -> [char; 4] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn slice_to_char_array(slice: &str) -> [char; 4] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_float` is never used
[INFO] [stdout]   --> src/fmpeg/mp4head.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl FixedPoint16 {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn to_float(&self) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_float` is never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl FixedPoint32 {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn to_float(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Box` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct Box {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FullBox` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub struct FullBox {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileTypeBoxBuilder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub struct FileTypeBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `major_brand`, `minor_version`, `compatible_brand`, `compatible_brands`, and `build` are never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:247:12
[INFO] [stdout]     |
[INFO] [stdout] 246 | impl FileTypeBoxBuilder {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 247 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn major_brand(mut self, major_brand: &String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn minor_version(mut self, minor_version: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn compatible_brand(mut self, compatible_brand: &String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     pub fn compatible_brands(mut self, compatible_brands: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn build(self) -> FileTypeBox {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovieBoxBuilder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub struct MovieBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `movie_header_box`, `track`, and `build` are never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:338:12
[INFO] [stdout]     |
[INFO] [stdout] 337 | impl MovieBoxBuilder {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 338 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     pub fn movie_header_box(mut self, movie_header_box: MovieHeaderBox) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn track(mut self, track: TrackBox) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn build(self) -> MovieBox {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `V0` and `V1` are never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:372:5
[INFO] [stdout]     |
[INFO] [stdout] 371 | pub enum MovieHeaderBox {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 372 |     V0(MovieHeaderBoxV0),
[INFO] [stdout]     |     ^^
[INFO] [stdout] 373 |     V1(MovieHeaderBoxV1),
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MovieHeaderBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `matrix` is never read
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:410:9
[INFO] [stdout]     |
[INFO] [stdout] 395 | pub struct MovieHeaderBoxV0 {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 410 |     pub matrix: [u8; 36],
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MovieHeaderBoxV0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:434:12
[INFO] [stdout]     |
[INFO] [stdout] 433 | impl MovieHeaderBoxV0 {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 434 |     pub fn new(creation_time: u32, modification_time: u32, timescale: u32, duration: u32, rate: FixedPoint32, volume: FixedPoint16, next_...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovieHeaderBoxV0Builder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:500:12
[INFO] [stdout]     |
[INFO] [stdout] 500 | pub struct MovieHeaderBoxV0Builder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:511:12
[INFO] [stdout]     |
[INFO] [stdout] 510 | impl MovieHeaderBoxV0Builder {
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout] 511 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 524 |     pub fn creation_time(mut self, creation_time: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 530 |     pub fn modification_time(mut self, modification_time: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 536 |     pub fn timescale(mut self, timescale: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     pub fn duration(mut self, duration: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 548 |     pub fn rate(mut self, rate: f32) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 554 |     pub fn volume(mut self, volume: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 566 |     pub fn next_track_id(mut self, next_track_id: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 571 |     pub fn build(self) -> MovieHeaderBoxV0 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:613:12
[INFO] [stdout]     |
[INFO] [stdout] 612 | impl MovieHeaderBoxV1 {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 613 |     pub fn new(creation_time: u64, modification_time: u64, timescale: u32, duration: u64, rate: FixedPoint32, volume: FixedPoint16, next_...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovieHeaderBoxV1Builder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:674:12
[INFO] [stdout]     |
[INFO] [stdout] 674 | pub struct MovieHeaderBoxV1Builder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:685:12
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl MovieHeaderBoxV1Builder {
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout] 685 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 698 |     pub fn creation_time(mut self, creation_time: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 704 |     pub fn modification_time(mut self, modification_time: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 710 |     pub fn timescale(mut self, timescale: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 716 |     pub fn duration(mut self, duration: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 722 |     pub fn rate(mut self, rate: f32) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 728 |     pub fn volume(mut self, volume: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 734 |     pub fn next_track_id(mut self, next_track_id: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 739 |     pub fn build(self) -> MovieHeaderBoxV1 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:783:12
[INFO] [stdout]     |
[INFO] [stdout] 782 | impl TrackBox {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 783 |     pub fn new(track_header_box: TrackHeaderBox, media_box: MediaBox) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `V0` and `V1` are never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:795:5
[INFO] [stdout]     |
[INFO] [stdout] 794 | pub enum TrackHeaderBox {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 795 |     V0(TrackHeaderBoxV0),
[INFO] [stdout]     |     ^^
[INFO] [stdout] 796 |     V1(TrackHeaderBoxV1),
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TrackHeaderBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `matrix` is never read
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:839:9
[INFO] [stdout]     |
[INFO] [stdout] 817 | pub struct TrackHeaderBoxV0 {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 839 |     pub matrix: [u8; 36],
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TrackHeaderBoxV0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:846:12
[INFO] [stdout]     |
[INFO] [stdout] 845 | impl TrackHeaderBoxV0 {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 846 |     pub fn new(creation_time: u32, modification_time: u32, track_id: u32, duration: u32, width: FixedPoint32, height: FixedPoint32) -> Se...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrackHeaderBoxV0Builder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:903:12
[INFO] [stdout]     |
[INFO] [stdout] 903 | pub struct TrackHeaderBoxV0Builder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:913:12
[INFO] [stdout]     |
[INFO] [stdout] 912 | impl TrackHeaderBoxV0Builder {
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout] 913 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 925 |     pub fn creation_time(mut self, creation_time: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 931 |     pub fn modification_time(mut self, modification_time: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 937 |     pub fn track_id(mut self, track_id: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 943 |     pub fn duration(mut self, duration: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 949 |     pub fn width(mut self, width: FixedPoint32) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 955 |     pub fn height(mut self, height: FixedPoint32) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 960 |     pub fn build(self) -> TrackHeaderBoxV0 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `matrix` is never read
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:995:9
[INFO] [stdout]     |
[INFO] [stdout] 973 | pub struct TrackHeaderBoxV1 {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 995 |     pub matrix: [u8; 36],
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TrackHeaderBoxV1` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1002:12
[INFO] [stdout]      |
[INFO] [stdout] 1001 | impl TrackHeaderBoxV1 {
[INFO] [stdout]      | --------------------- associated function in this implementation
[INFO] [stdout] 1002 |     pub fn new(creation_time: u64, modification_time: u64, track_id: u32, duration: u64, width: FixedPoint32, height: FixedPoint32) -> Se...
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1070:12
[INFO] [stdout]      |
[INFO] [stdout] 1069 | impl MediaBox {
[INFO] [stdout]      | ------------- associated function in this implementation
[INFO] [stdout] 1070 |     pub fn new(media_header: MediaHeaderBoxV0, media_handler_box: HandlerBox, media_info_box: MediaInfoBox) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1119:12
[INFO] [stdout]      |
[INFO] [stdout] 1118 | impl MediaHeaderBoxV0 {
[INFO] [stdout]      | --------------------- associated function in this implementation
[INFO] [stdout] 1119 |     pub fn new(creation_time: u32, modification_time: u32, timescale: u32, duration: u32, language: u16, quality: u16) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MediaHeaderBoxV0Builder` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1162:12
[INFO] [stdout]      |
[INFO] [stdout] 1162 | pub struct MediaHeaderBoxV0Builder {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1173:12
[INFO] [stdout]      |
[INFO] [stdout] 1171 | impl MediaHeaderBoxV0Builder {
[INFO] [stdout]      | ---------------------------- associated items in this implementation
[INFO] [stdout] 1172 |     #[inline]
[INFO] [stdout] 1173 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1185 |     pub fn creation_time(mut self, creation_time: u32) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1191 |     pub fn modification_time(mut self, modification_time: u32) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1197 |     pub fn timescale(mut self, timescale: u32) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1203 |     pub fn duration(mut self, duration: u32) -> Self {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1209 |     pub fn language(mut self, language: u16) -> Self {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1215 |     pub fn quality(mut self, quality: u16) -> Self {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1221 |     pub fn build(self) -> MediaHeaderBoxV0 {
[INFO] [stdout]      |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1240:12
[INFO] [stdout]      |
[INFO] [stdout] 1239 | impl HandlerBox {
[INFO] [stdout]      | --------------- associated function in this implementation
[INFO] [stdout] 1240 |     pub fn new(handler_type: [char; 4], name: String) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HandlerType` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1280:10
[INFO] [stdout]      |
[INFO] [stdout] 1280 | pub enum HandlerType {
[INFO] [stdout]      |          ^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `HandlerType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1286:12
[INFO] [stdout]      |
[INFO] [stdout] 1285 | impl HandlerType {
[INFO] [stdout]      | ---------------- method in this implementation
[INFO] [stdout] 1286 |     pub fn into(self) -> HandlerBox {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1309:12
[INFO] [stdout]      |
[INFO] [stdout] 1308 | impl MediaInfoBox {
[INFO] [stdout]      | ----------------- associated function in this implementation
[INFO] [stdout] 1309 |     pub fn new(xmedia_handler_box: XMediaHandlerBox, data_information_box: DataInformationBox, sample_table_box: SampleBoxTableBox) -> Se...
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Video` and `Audio` are never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1344:5
[INFO] [stdout]      |
[INFO] [stdout] 1343 | pub enum XMediaHandlerBox {
[INFO] [stdout]      |          ---------------- variants in this enum
[INFO] [stdout] 1344 |     Video(VideoMediaHandlerBox),
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout] 1345 |     Audio(AudioMediaHandlerBox),
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `XMediaHandlerBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1369:12
[INFO] [stdout]      |
[INFO] [stdout] 1368 | impl VideoMediaHandlerBox {
[INFO] [stdout]      | ------------------------- associated function in this implementation
[INFO] [stdout] 1369 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1396:12
[INFO] [stdout]      |
[INFO] [stdout] 1395 | impl AudioMediaHandlerBox {
[INFO] [stdout]      | ------------------------- associated function in this implementation
[INFO] [stdout] 1396 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1424:12
[INFO] [stdout]      |
[INFO] [stdout] 1423 | impl DataInformationBox {
[INFO] [stdout]      | ----------------------- associated function in this implementation
[INFO] [stdout] 1424 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1516:12
[INFO] [stdout]      |
[INFO] [stdout] 1515 | impl SampleBoxTableBox {
[INFO] [stdout]      | ---------------------- associated function in this implementation
[INFO] [stdout] 1516 |     pub fn new(sample_description_table_box: SampleDescriptionTableBox) -> SampleBoxTableBox {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SampleDescriptionTableBoxBuilder` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1569:12
[INFO] [stdout]      |
[INFO] [stdout] 1569 | pub struct SampleDescriptionTableBoxBuilder {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_sample_description_table_box`, and `build` are never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1579:12
[INFO] [stdout]      |
[INFO] [stdout] 1578 | impl SampleDescriptionTableBoxBuilder {
[INFO] [stdout]      | ------------------------------------- associated items in this implementation
[INFO] [stdout] 1579 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1590 |     pub fn add_sample_description_table_box(mut self, sample_description_table_box: SubSampleDescriptionTableBox) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1596 |     pub fn build(self) -> SampleDescriptionTableBox {
[INFO] [stdout]      |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Mp4a`, `Mp3`, and `Avc1` are never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1610:5
[INFO] [stdout]      |
[INFO] [stdout] 1609 | pub enum SubSampleDescriptionTableBox {
[INFO] [stdout]      |          ---------------------------- variants in this enum
[INFO] [stdout] 1610 |     Mp4a(Mp4aDescriptionBox),
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] 1611 |     Mp3(Mp3DescriptionBox),
[INFO] [stdout]      |     ^^^
[INFO] [stdout] 1612 |     Avc1(Avc1DescriptionBox),
[INFO] [stdout]      |     ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SubSampleDescriptionTableBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2029:9
[INFO] [stdout]      |
[INFO] [stdout] 2028 | pub struct AudioExtendedDescriptionBox {
[INFO] [stdout]      |            --------------------------- field in this struct
[INFO] [stdout] 2029 |     pub size: u32,
[INFO] [stdout]      |         ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioExtendedDescriptionBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2039:12
[INFO] [stdout]      |
[INFO] [stdout] 2037 | impl AudioExtendedDescriptionBox {
[INFO] [stdout]      | -------------------------------- associated function in this implementation
[INFO] [stdout] 2038 |     #[inline]
[INFO] [stdout] 2039 |     pub fn new(spec_config: aac_utils::AacAudioSpecConfLike) -> AudioExtendedDescriptionBox {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2167:12
[INFO] [stdout]      |
[INFO] [stdout] 2166 | impl Mp4aDescriptionBox {
[INFO] [stdout]      | ----------------------- associated function in this implementation
[INFO] [stdout] 2167 |     pub fn new(sample_rate: f32, num_audio_channels: u16, spec_config: aac_utils::AacAudioSpecConfLike) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mp4aDescriptionBoxBuilder` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2186:12
[INFO] [stdout]      |
[INFO] [stdout] 2186 | pub struct Mp4aDescriptionBoxBuilder {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `sample_rate`, `num_audio_channels`, `spec_config`, and `build` are never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2193:12
[INFO] [stdout]      |
[INFO] [stdout] 2192 | impl Mp4aDescriptionBoxBuilder {
[INFO] [stdout]      | ------------------------------ associated items in this implementation
[INFO] [stdout] 2193 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 2203 |     pub fn sample_rate(mut self, sample_rate: f32) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2208 |     pub fn num_audio_channels(mut self, num_audio_channels: u16) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2213 |     pub fn spec_config(mut self, spec_config: aac_utils::AacAudioSpecConfLike) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2218 |     pub fn build(self) -> Mp4aDescriptionBox {
[INFO] [stdout]      |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2276:12
[INFO] [stdout]      |
[INFO] [stdout] 2275 | impl Mp3DescriptionBox {
[INFO] [stdout]      | ---------------------- associated function in this implementation
[INFO] [stdout] 2276 |     pub fn new(sample_rate: f32, num_audio_channels: u16) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mp3DescriptionBoxBuilder` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2294:12
[INFO] [stdout]      |
[INFO] [stdout] 2294 | pub struct Mp3DescriptionBoxBuilder {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `sample_rate`, `num_audio_channels`, and `build` are never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2300:12
[INFO] [stdout]      |
[INFO] [stdout] 2299 | impl Mp3DescriptionBoxBuilder {
[INFO] [stdout]      | ----------------------------- associated items in this implementation
[INFO] [stdout] 2300 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 2307 |     pub fn sample_rate(mut self, sample_rate: f32) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2312 |     pub fn num_audio_channels(mut self, num_audio_channels: u16) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2317 |     pub fn build(self) -> Mp3DescriptionBox {
[INFO] [stdout]      |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2384:12
[INFO] [stdout]      |
[INFO] [stdout] 2383 | impl Avc1DescriptionBox {
[INFO] [stdout]      | ----------------------- associated function in this implementation
[INFO] [stdout] 2384 |     pub fn new(width: u16, height: u16, avcc_box: avc1_utils::AvcCBoxLike) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Avc1DescriptionBoxBuilder` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2446:12
[INFO] [stdout]      |
[INFO] [stdout] 2446 | pub struct Avc1DescriptionBoxBuilder {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `avcc_box`, `set_width`, `set_height`, and `build` are never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2453:12
[INFO] [stdout]      |
[INFO] [stdout] 2452 | impl Avc1DescriptionBoxBuilder {
[INFO] [stdout]      | ------------------------------ associated items in this implementation
[INFO] [stdout] 2453 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 2461 |     pub fn avcc_box(mut self, avcc_box: avc1_utils::AvcCBoxLike) -> Self {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2466 |     pub fn set_width(mut self, width: u16) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2471 |     pub fn set_height(mut self, height: u16) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2476 |     pub fn build(self) -> Avc1DescriptionBox {
[INFO] [stdout]      |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2485:12
[INFO] [stdout]      |
[INFO] [stdout] 2484 | impl TimeToSampleBox {
[INFO] [stdout]      | -------------------- associated function in this implementation
[INFO] [stdout] 2485 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2511:12
[INFO] [stdout]      |
[INFO] [stdout] 2510 | impl SampleToChunkBox {
[INFO] [stdout]      | --------------------- associated function in this implementation
[INFO] [stdout] 2511 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2537:12
[INFO] [stdout]      |
[INFO] [stdout] 2536 | impl SampleSizeBox {
[INFO] [stdout]      | ------------------ associated function in this implementation
[INFO] [stdout] 2537 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2564:12
[INFO] [stdout]      |
[INFO] [stdout] 2563 | impl ChunkOffsetBox {
[INFO] [stdout]      | ------------------- associated function in this implementation
[INFO] [stdout] 2564 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2597:12
[INFO] [stdout]      |
[INFO] [stdout] 2596 | impl MovieExtendBox {
[INFO] [stdout]      | ------------------- associated function in this implementation
[INFO] [stdout] 2597 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2643:12
[INFO] [stdout]      |
[INFO] [stdout] 2642 | impl TrackExtendsBox {
[INFO] [stdout]      | -------------------- associated function in this implementation
[INFO] [stdout] 2643 |     pub fn new(track_id: u32) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1700:9
[INFO] [stdout]      |
[INFO] [stdout] 1699 |     pub enum SamplingFreqIndex {
[INFO] [stdout]      |              ----------------- variants in this enum
[INFO] [stdout] 1700 |         Freq96000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1701 |         Freq88200,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1702 |         Freq64000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1705 |         Freq32000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1706 |         Freq24000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1707 |         Freq22050,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1708 |         Freq16000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1709 |         Freq12000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1710 |         Freq11025,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1711 |         Freq8000,
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout] 1712 |         Freq7350,
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout] 1713 |         FreqExplicit,
[INFO] [stdout]      |         ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SamplingFreqIndex` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1762:9
[INFO] [stdout]      |
[INFO] [stdout] 1761 |     pub enum ChannelConfig {
[INFO] [stdout]      |              ------------- variants in this enum
[INFO] [stdout] 1762 |         AacExtension,
[INFO] [stdout]      |         ^^^^^^^^^^^^
[INFO] [stdout] 1763 |         Mono,
[INFO] [stdout]      |         ^^^^
[INFO] [stdout] 1764 |         Stereo,
[INFO] [stdout] 1765 |         Three,
[INFO] [stdout]      |         ^^^^^
[INFO] [stdout] 1766 |         Four,
[INFO] [stdout]      |         ^^^^
[INFO] [stdout] 1767 |         Five,
[INFO] [stdout]      |         ^^^^
[INFO] [stdout] 1768 |         Six,
[INFO] [stdout]      |         ^^^
[INFO] [stdout] 1769 |         Seven,
[INFO] [stdout]      |         ^^^^^
[INFO] [stdout] 1770 |         Eight,
[INFO] [stdout]      |         ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChannelConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Yes` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1836:9
[INFO] [stdout]      |
[INFO] [stdout] 1834 |     pub enum CoreCoderDependentFlag {
[INFO] [stdout]      |              ---------------------- variant in this enum
[INFO] [stdout] 1835 |         No,
[INFO] [stdout] 1836 |         Yes,
[INFO] [stdout]      |         ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CoreCoderDependentFlag` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Yes` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1862:9
[INFO] [stdout]      |
[INFO] [stdout] 1860 |     pub enum ExtensionFlag {
[INFO] [stdout]      |              ------------- variant in this enum
[INFO] [stdout] 1861 |         No,
[INFO] [stdout] 1862 |         Yes,
[INFO] [stdout]      |         ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ExtensionFlag` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `VectorConfig` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1891:9
[INFO] [stdout]      |
[INFO] [stdout] 1889 |     pub enum AacAudioSpecConfLike {
[INFO] [stdout]      |              -------------------- variant in this enum
[INFO] [stdout] 1890 |         AacAudioSpecificConfig(AacAudioSpecificConfigBox),
[INFO] [stdout] 1891 |         VectorConfig(Vec<u8>),
[INFO] [stdout]      |         ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AacAudioSpecConfLike` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AacAudioSpecificConfigBoxBuilder` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1955:16
[INFO] [stdout]      |
[INFO] [stdout] 1955 |     pub struct AacAudioSpecificConfigBoxBuilder {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1966:16
[INFO] [stdout]      |
[INFO] [stdout] 1964 |     impl AacAudioSpecificConfigBoxBuilder {
[INFO] [stdout]      |     ------------------------------------- associated items in this implementation
[INFO] [stdout] 1965 |         #[inline]
[INFO] [stdout] 1966 |         pub fn new() -> AacAudioSpecificConfigBoxBuilder {
[INFO] [stdout]      |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1978 |         pub fn set_aac_object_type(mut self, aac_object_type: AacObjectType) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1984 |         pub fn set_sampling_freq_index(mut self, sampling_freq_index: SamplingFreqIndex) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1990 |         pub fn set_channel_config(mut self, channel_config: ChannelConfig) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1996 |         pub fn set_frame_length_flag(mut self, frame_length_flag: FrameLengthFlag) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2002 |         pub fn set_core_coder_dependent_flag(mut self, core_coder_dependent_flag: CoreCoderDependentFlag) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2008 |         pub fn set_extension_flag(mut self, extension_flag: ExtensionFlag) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2014 |         pub fn build(mut self) -> AacAudioSpecificConfigBox {
[INFO] [stdout]      |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AvcCBoxLike` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2327:9
[INFO] [stdout]      |
[INFO] [stdout] 2326 |     pub enum AvcCBoxLike {
[INFO] [stdout]      |              ----------- variant in this enum
[INFO] [stdout] 2327 |         AvcCBoxLike(Vec<u8>)
[INFO] [stdout]      |         ^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AvcCBoxLike` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `deferred_set_trun_size` are never used
[INFO] [stdout]   --> src/fmpeg/mp4frag.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl MovieFragmentBox {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(sequence_number: u32, track_fragment_box: TrackFragmentBox) -> MovieFragmentBox {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn deferred_set_trun_size(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/fmpeg/mp4frag.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl MovieFragmentHeaderBox {
[INFO] [stdout]    | --------------------------- associated function in this implementation
[INFO] [stdout] 57 |     pub fn new(sequence_number: u32) -> MovieFragmentHeaderBox {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrackFragmentBoxBuilder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct TrackFragmentBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl TrackFragmentBoxBuilder {
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout] 108 |     pub fn new() -> TrackFragmentBoxBuilder {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn with_track_id(mut self, track_id: u32) -> TrackFragmentBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn with_media_decode_time(mut self, base_media_decode_time: u32) -> TrackFragmentBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn with_sample_options(mut self, sample_flag_builder: SampleFlagBuilder) -> TrackFragmentBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn with_sample_table_box(mut self, sample_table_box: SampleDependencyTableBoxBuilder) -> TrackFragmentBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn with_track_run_box(mut self, track_run_box: TrackRunBox) -> TrackFragmentBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn build(self) -> TrackFragmentBox {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl TrackFragmentHeaderBox {
[INFO] [stdout]     | --------------------------- associated function in this implementation
[INFO] [stdout] 194 |     pub fn new(track_id: u32) -> TrackFragmentHeaderBox {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl TrackFragmentDecodeTimeBox {
[INFO] [stdout]     | ------------------------------- associated function in this implementation
[INFO] [stdout] 237 |     pub fn new(base_media_decode_time: u32) -> TrackFragmentDecodeTimeBox {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `VideoKeyFrame`, `VideoInterFrame`, and `Audio` are never constructed
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:314:5
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub enum SampleDependencyTableBoxBuilder {
[INFO] [stdout]     |          ------------------------------- variants in this enum
[INFO] [stdout] 314 |     VideoKeyFrame,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 315 |     VideoInterFrame,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 316 |     Audio,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_box` is never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:320:12
[INFO] [stdout]     |
[INFO] [stdout] 319 | impl SampleDependencyTableBoxBuilder {
[INFO] [stdout]     | ------------------------------------ method in this implementation
[INFO] [stdout] 320 |     pub fn as_box(&self) -> SampleDependencyTableBox {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SampleFlagBuilder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:348:12
[INFO] [stdout]     |
[INFO] [stdout] 348 | pub struct SampleFlagBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:357:12
[INFO] [stdout]     |
[INFO] [stdout] 356 | impl SampleFlagBuilder {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 357 |     pub fn new() -> SampleFlagBuilder {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     pub fn set_is_leading(mut self, is_leading: bool) -> SampleFlagBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub fn set_sample_depends_on(mut self, sample_depends_on: bool) -> SampleFlagBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 381 |     pub fn set_sample_is_depended_on(mut self, sample_is_depended_on: bool) -> SampleFlagBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn set_sample_has_redundancy(mut self, sample_has_redundancy: bool) -> SampleFlagBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 393 |     pub fn set_is_non_sync(mut self, is_non_sync: bool) -> SampleFlagBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     pub fn build(self) -> u16 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:448:12
[INFO] [stdout]     |
[INFO] [stdout] 447 | impl TrackRunBox {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 448 |     pub fn new() -> TrackRunBox {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrackRunBoxBuilder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:495:12
[INFO] [stdout]     |
[INFO] [stdout] 495 | pub struct TrackRunBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:506:12
[INFO] [stdout]     |
[INFO] [stdout] 505 | impl TrackRunBoxBuilder {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 506 |     pub fn new() -> TrackRunBoxBuilder {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 519 |     pub fn with_sample_duration(mut self, duration: u32) -> TrackRunBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 525 |     pub fn with_sample_size(mut self, size: u32) -> TrackRunBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 531 |     pub fn with_sample_flags(mut self, flags: u16) -> TrackRunBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 537 |     pub fn with_sample_composition_time_offset(mut self, offset: u32) -> TrackRunBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 543 |     pub fn with_data_offset(mut self, offset: u32) -> TrackRunBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 548 |     pub fn build(self) -> TrackRunBox {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `add_data` are never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:591:12
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl MovieDataBox {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 591 |     pub fn new(data: Vec<u8>) -> MovieDataBox {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 599 |     pub fn add_data(mut self, data: Vec<u8>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Audio` and `Video` are never constructed
[INFO] [stdout]  --> src/fmpeg/remux_context.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum TrackType {
[INFO] [stdout]   |          --------- variants in this enum
[INFO] [stdout] 8 |     Audio,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 9 |     Video,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `track_id`, `sequence_number`, and `track_type` are never read
[INFO] [stdout]   --> src/fmpeg/remux_context.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TrackContext {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 13 |     pub track_id: u32,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 14 |     pub sequence_number: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |
[INFO] [stdout] 16 |     pub track_type: TrackType,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/fmpeg/remux_context.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl TrackContext {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 20 |     pub fn new(track_id: u32, track_type: TrackType) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SampleContext` is never constructed
[INFO] [stdout]   --> src/fmpeg/remux_context.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct SampleContext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SampleContextBuilder` is never constructed
[INFO] [stdout]   --> src/fmpeg/remux_context.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct SampleContextBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/remux_context.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout] 55  | impl SampleContextBuilder {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 56  |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71  |     pub fn set_is_leading(&mut self, is_leading: bool) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77  |     pub fn set_is_non_sync(&mut self, is_non_sync: bool) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83  |     pub fn set_is_keyframe(&mut self, is_keyframe: bool) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89  |     pub fn set_has_redundancy(&mut self, has_redundancy: bool) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95  |     pub fn set_decode_time(&mut self, decode_time: u32) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn set_composition_time_offset(&mut self, composition_time_offset: u32) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn set_sample_duration(&mut self, sample_duration: u32) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn set_sample_size(&mut self, sample_size: u32) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn build(&self) -> SampleContext {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TIME_SCALE` is never used
[INFO] [stdout]    --> src/fmpeg/remux_context.rs:134:11
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub const TIME_SCALE: u32 = 24000;
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/fmpeg/remux_context.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct RemuxContext {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 140 |     pub fps: f64,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 141 |     pub fps_num: u32,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 142 |
[INFO] [stdout] 143 |     pub duration_ms: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 144 |
[INFO] [stdout] 145 |     pub width: f64,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 146 |     pub height: f64,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 147 |
[INFO] [stdout] 148 |     pub has_audio: bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 149 |     pub has_video: bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 150 |
[INFO] [stdout] 151 |     pub audio_codec_id: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 152 |     pub audio_codec_type: AudioCodecType,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 153 |     pub audio_data_rate: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub audio_sample_rate: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 157 |     pub audio_channels: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 158 |     pub audio_channels_extended: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 159 |     pub audio_aac_info: Vec<u8>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub video_codec_id: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 163 |     pub video_codec_type: VideoCodecType,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub video_data_rate: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 167 |     pub video_avcc_info: AvcCBoxLike,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub major_brand: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 171 |     pub minor_version: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 172 |     pub compatible_brands: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 173 |
[INFO] [stdout] 174 |     header_sent: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 175 |     flv_header_configured: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 176 |     metadata_configured: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 177 |     video_metadata_configured: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 178 |     audio_metadata_configured: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 179 |
[INFO] [stdout] 180 |     pub(crate) sequence_number: u32,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/remux_context.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl RemuxContext {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 214 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn parse_flv_header(&mut self, header: &FlvHeader) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn parse_metadata(&mut self, metadata: &RawMetaData) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     const AAC_SAMPLE_RATES: [u32; 13] = [
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn configure_audio_metadata(&mut self, audio_metadata: &AudioParseResult) -> Option<AudioCodecConfig> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     pub fn configure_video_metadata(&mut self, video_metadata: &VideoParseResult) -> Option<VideoCodecConfig> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     pub fn is_metadata_complete(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |     pub fn is_configured(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 436 |     pub fn is_header_sent(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     pub fn set_header_sent(&mut self, flag: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_timescale` is never used
[INFO] [stdout]  --> src/fmpeg/parser.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn parse_timescale(timestamp_ms: u32) -> u32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_timescale_accurate` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn parse_timescale_accurate(timestamp_ms: f32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_mp3_timescale` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn parse_mp3_timescale(sample_rate: u32, mp3version: Mp3Version) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_aac_timescale` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn parse_aac_timescale(sample_rate: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_avc_timescale` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn parse_avc_timescale(fps: f32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AudioParseResult` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub enum AudioParseResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VideoParseResult` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:68:10
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub enum VideoParseResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Avc1ParseResult` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:72:10
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub enum Avc1ParseResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AvcNalu` is never constructed
[INFO] [stdout]   --> src/fmpeg/parser.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct AvcNalu {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AudioConfigurationLike` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub enum AudioConfigurationLike {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mp3ParseResult` is never constructed
[INFO] [stdout]    --> src/fmpeg/parser.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub struct Mp3ParseResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUDIO_SAMPLE_RATE_TABLE_M10` is never used
[INFO] [stdout]    --> src/fmpeg/parser.rs:172:11
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub const AUDIO_SAMPLE_RATE_TABLE_M10: [u32; 4] = [44100, 48000, 32000, 0];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUDIO_SAMPLE_RATE_TABLE_M20` is never used
[INFO] [stdout]    --> src/fmpeg/parser.rs:173:11
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub const AUDIO_SAMPLE_RATE_TABLE_M20: [u32; 4] = [22050, 24000, 16000, 0];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUDIO_SAMPLE_RATE_TABLE_M25` is never used
[INFO] [stdout]    --> src/fmpeg/parser.rs:174:11
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub const AUDIO_SAMPLE_RATE_TABLE_M25: [u32; 4] = [11025, 12000, 8000, 0];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUDIO_BITRATE_TABLE_L1` is never used
[INFO] [stdout]    --> src/fmpeg/parser.rs:176:11
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub const AUDIO_BITRATE_TABLE_L1: [u32; 16] = [0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, 0];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUDIO_BITRATE_TABLE_L2` is never used
[INFO] [stdout]    --> src/fmpeg/parser.rs:177:11
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub const AUDIO_BITRATE_TABLE_L2: [u32; 16] = [0, 32, 48, 56,  64,  80,  96, 112, 128, 160, 192, 224, 256, 320, 384, 0];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUDIO_BITRATE_TABLE_L3` is never used
[INFO] [stdout]    --> src/fmpeg/parser.rs:178:11
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub const AUDIO_BITRATE_TABLE_L3: [u32; 16] = [0, 32, 40, 48,  56,  64,  80,  96, 112, 128, 160, 192, 224, 256, 320, 0];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MP3_SYNC_WORD` is never used
[INFO] [stdout]    --> src/fmpeg/parser.rs:180:7
[INFO] [stdout]     |
[INFO] [stdout] 180 | const MP3_SYNC_WORD: u16 = 0x07FF;
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling flv-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `AacSequenceHeader` is never constructed
[INFO] [stdout]    --> src/fmpeg/parser.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct AacSequenceHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]    --> src/fmpeg/parser.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub struct Parser;
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/fmpeg/parser.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl Parser {
[INFO] [stdout]     | ----------- associated functions in this implementation
[INFO] [stdout] 192 |     pub fn parse_audio(tag: &Tag) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn parse_mp3(header: &AudioTagHeader, body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn parse_aac(header: &AudioTagHeader, body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     fn parse_aac_seq_hdr(body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     fn parse_aac_raw(body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn parse_video(tag: &Tag) -> Result<VideoParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     fn parse_avc(header: &VideoTagHeader, body: &VecDeque<u8>) -> Result<VideoParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 |     fn parse_avc_nalu(header: &VideoTagHeader, mut payload: VecDeque<u8>) -> Result<AvcNalu, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Encoder` is never constructed
[INFO] [stdout]  --> src/fmpeg/encoder.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Encoder;
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_VIDEO_TRACK_ID` is never used
[INFO] [stdout]  --> src/fmpeg/encoder.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const DEFAULT_VIDEO_TRACK_ID: u32 = 1;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_AUDIO_TRACK_ID` is never used
[INFO] [stdout]   --> src/fmpeg/encoder.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const DEFAULT_AUDIO_TRACK_ID: u32 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/fmpeg/encoder.rs:13:12
[INFO] [stdout]     |
[INFO] [stdout] 12  | impl Encoder {
[INFO] [stdout]     | ------------ associated functions in this implementation
[INFO] [stdout] 13  |     pub fn encode_ftyp(ctx: &RemuxContext) -> FileTypeBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23  |     pub fn encode_moov(ctx: &RemuxContext) -> MovieBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32  |     pub fn encode_mhdv(ctx: &RemuxContext) -> MovieHeaderBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46  |     pub fn encode_trak(ctx: &RemuxContext, track_id: u32, media_box: MediaBox) -> mp4head::TrackBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64  |     pub fn encode_mdia(ctx: &RemuxContext, handler_type: HandlerType) -> MediaBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74  |     pub fn encode_mdhd(ctx: &RemuxContext) -> mp4head::MediaHeaderBoxV0 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |     pub fn encode_hdlr(ctx: &RemuxContext, handler_type: HandlerType) -> mp4head::HandlerBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91  |     pub fn encode_minf(ctx: &RemuxContext, handler_type: HandlerType) -> mp4head::MediaInfoBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn encode_moof(ctx: &mut RemuxContext, track_ctx: &mut TrackContext, encoding_ctx: &mut SampleContext) -> MovieFragmentBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn encode_traf(ctx: &mut RemuxContext, track_ctx: &mut TrackContext, encoding_ctx: &mut SampleContext) -> TrackFragmentBox {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn encode_mdat(raw_data: Vec<u8>) -> MovieDataBox {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/exchange.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:109:18
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_size`
[INFO] [stdout]    --> src/flv/header.rs:109:41
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:131:18
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn parse(decoder: &mut Decoder) -> Self {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:137:18
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `param_size`
[INFO] [stdout]    --> src/flv/header.rs:137:41
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/fmpeg/remuxer.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Err(e) => Err("[Remuxer] Channel closed.".into())
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/fmpeg/remuxer.rs:197:28
[INFO] [stdout]     |
[INFO] [stdout] 197 |                         if let VideoParseResult::Avc1(parsed) = parsed {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2014:22
[INFO] [stdout]      |
[INFO] [stdout] 2014 |         pub fn build(mut self) -> AacAudioSpecificConfigBox {
[INFO] [stdout]      |                      ----^^^^
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2339:17
[INFO] [stdout]      |
[INFO] [stdout] 2339 |             let mut size = self.size();
[INFO] [stdout]      |                 ----^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/fmpeg/remux_context.rs:411:13
[INFO] [stdout]     |
[INFO] [stdout] 385 |             VideoParseResult::Avc1(h264_info) => {
[INFO] [stdout]     |             --------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 411 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `protection_bit`
[INFO] [stdout]    --> src/fmpeg/parser.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let protection_bit = u16io.read_at(15);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_protection_bit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]    --> src/fmpeg/parser.rs:221:18
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn parse_mp3(header: &AudioTagHeader, body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/fmpeg/encoder.rs:85:24
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn encode_hdlr(ctx: &RemuxContext, handler_type: HandlerType) -> mp4head::HandlerBox {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `core`
[INFO] [stdout]   --> src/lib.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let core = core::Core::new();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut buf = std::fs::read("D:/test.flv").unwrap();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |         let mut buf = std::fs::read("D:/test_aac.flv").unwrap();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/flv/decoder.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout] 34  | impl Decoder {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47  |     pub fn push_data(&mut self, data: &mut VecDeque<u8>) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51  |     pub fn push_bytes(&mut self, bytes: &[u8]) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82  |     pub fn drain_u16_le(&mut self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98  |     pub fn drain_u24_le(&mut self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn drain_u32_le(&mut self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn drain_u64(&mut self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn drain_i8(&mut self) -> i8 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn drain_i32(&mut self) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn drain_i64(&mut self) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn drain_f64_le(&mut self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn drain_f32_le(&mut self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn drain_f32(&mut self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `signature`, `version`, and `data_offset` are never read
[INFO] [stdout]   --> src/flv/header.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub struct FlvHeader {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 6  |     pub signature: [u8; 3],
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 7  |     pub version: u8,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub data_offset: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FlvHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sound_rate`, `sound_size`, and `sound_type` are never read
[INFO] [stdout]   --> src/flv/header.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct AudioTagHeader {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub sound_rate: u8,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 33 |     // UB1
[INFO] [stdout] 34 |     pub sound_size: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 35 |     // UB1
[INFO] [stdout] 36 |     pub sound_type: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AudioTagHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/flv/header.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl AudioTagHeader {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 43 |     pub fn new(sound_format: u8, sound_rate: u8, sound_size: bool, sound_type: bool, aac_packet_type: Option<u8>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `composition_time` is never read
[INFO] [stdout]   --> src/flv/header.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct VideoTagHeader {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub composition_time: Option<i32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VideoTagHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/flv/header.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl VideoTagHeader {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 80 |     pub fn new(frame_type: u8, codec_id: u8, avc_packet_type: Option<u8>, composition_time: Option<i32>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `EncryptionFilter` and `SelectiveEncryptionFilter` are never constructed
[INFO] [stdout]    --> src/flv/header.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub enum FilterParameters {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 116 |     EncryptionFilter(EncryptionFilterParameters),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 117 |     SelectiveEncryptionFilter(SelectiveEncryptionFilterParameters),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FilterParameters` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]    --> src/flv/header.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl SelectiveEncryptionFilterParameters {
[INFO] [stdout]     | ---------------------------------------- associated function in this implementation
[INFO] [stdout] 131 |     pub fn parse(decoder: &mut Decoder) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `filter`, `timestamp_short`, `timestamp_extended`, `stream_id`, `encryption_tag_header`, and `filter_parameters` are never read
[INFO] [stdout]   --> src/flv/tag.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub struct Tag {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 8  |     pub filter: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub timestamp_short: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub timestamp_extended: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub timestamp: u32,
[INFO] [stdout] 14 |     pub stream_id: u32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 15 |     pub tag_header: TagHeader,
[INFO] [stdout] 16 |     pub encryption_tag_header: Option<EncryptionTagHeader>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub filter_parameters: Option<FilterParameters>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Encryption` is never constructed
[INFO] [stdout]   --> src/flv/tag.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum TagType {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 26 |     Encryption,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TagType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/flv/tag.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 |     Encrypted(EncryptedTagBody),
[INFO] [stdout]    |     --------- ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TagBody` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 55 |     Encrypted(()),
[INFO] [stdout]    |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Placeholder` is never constructed
[INFO] [stdout]   --> src/flv/tag.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum NormalTagBody {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 63 |     Placeholder, // todo: temporary
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NormalTagBody` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Audio`, `Video`, and `Script` are never constructed
[INFO] [stdout]   --> src/flv/tag.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub enum EncryptedTagBody {
[INFO] [stdout]    |          ---------------- variants in this enum
[INFO] [stdout] 97 |     Audio(Vec<u8>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 98 |     Video(Vec<u8>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 99 |     Script(ScriptTagBody),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EncryptedTagBody` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/flv/script.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |     Boolean(u8),
[INFO] [stdout]    |     ------- ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 43 |     Boolean(()),
[INFO] [stdout]    |             ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/flv/script.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     Object(ScriptDataObject),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 45 |     Object(()),
[INFO] [stdout]    |            ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/flv/script.rs:49:15
[INFO] [stdout]    |
[INFO] [stdout] 49 |     Reference(u16),
[INFO] [stdout]    |     --------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 49 |     Reference(()),
[INFO] [stdout]    |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/flv/script.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 |     EcmaArray(ScriptDataEcmaArray),
[INFO] [stdout]    |     --------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 50 |     EcmaArray(()),
[INFO] [stdout]    |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/flv/script.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |     StrictArray(ScriptStrictArray),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 52 |     StrictArray(()),
[INFO] [stdout]    |                 ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/flv/script.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 |     Date(ScriptDataDate),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 53 |     Date(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MovieClip`, `Null`, and `Undefined` are never constructed
[INFO] [stdout]   --> src/flv/script.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum ScriptData {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 46 |     MovieClip,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 47 |     Null,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 48 |     Undefined,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `properties` is never read
[INFO] [stdout]   --> src/flv/script.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct ScriptDataObject {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 60 |     pub properties: Vec<ScriptDataObjectProp>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScriptDataObject` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]   --> src/flv/script.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl ScriptDataObject {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 64 |
[INFO] [stdout] 65 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataObject, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `length` is never read
[INFO] [stdout]    --> src/flv/script.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct ScriptDataString {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 103 |     pub length: u16,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScriptDataString` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `length` is never read
[INFO] [stdout]    --> src/flv/script.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct ScriptDataLongString {
[INFO] [stdout]     |            -------------------- field in this struct
[INFO] [stdout] 134 |     pub length: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScriptDataLongString` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]    --> src/flv/script.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl ScriptDataLongString {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 139 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataLongString, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `length` and `values` are never read
[INFO] [stdout]    --> src/flv/script.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct ScriptStrictArray {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 197 |     pub length: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 198 |     pub values: Vec<ScriptData>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScriptStrictArray` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]    --> src/flv/script.rs:202:12
[INFO] [stdout]     |
[INFO] [stdout] 201 | impl ScriptStrictArray {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 202 |     pub fn parse(data: &mut Decoder) -> Result<ScriptStrictArray, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `date` and `local_time_offset` are never read
[INFO] [stdout]    --> src/flv/script.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct ScriptDataDate {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 229 |     pub date: f64,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 230 |     pub local_time_offset: i16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScriptDataDate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]    --> src/flv/script.rs:234:12
[INFO] [stdout]     |
[INFO] [stdout] 233 | impl ScriptDataDate {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 234 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataDate, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MetaData` is never constructed
[INFO] [stdout]  --> src/flv/meta.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MetaData {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/flv/meta.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl MetaData {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 23 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_get_boolean` is never used
[INFO] [stdout]   --> src/flv/meta.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl RawMetaData {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn try_get_boolean(&self, key: &str) -> Option<bool> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XMPData` is never constructed
[INFO] [stdout]   --> src/flv/meta.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct XMPData {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/flv/meta.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl XMPData {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 103 |     pub fn new(xmp: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IReader` is never used
[INFO] [stdout]  --> src/io/reader.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait IReader {
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalReader` is never constructed
[INFO] [stdout]   --> src/io/reader.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct LocalReader {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read_file`, and `read_bytes` are never used
[INFO] [stdout]   --> src/io/reader.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl LocalReader {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new(filename: &str) -> LocalReader {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn read_file(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn read_bytes(&mut self, buffer: &mut [u8]) -> Result<(), std::io::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_bit_safe` is never used
[INFO] [stdout]   --> src/io/bit.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 5  | impl BitIO {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn read_bit_safe(&self, index: usize) -> Result<bool, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LittleEndian` is never constructed
[INFO] [stdout]   --> src/io/bit.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub enum UIntParserEndian {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] 46 |     LittleEndian,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `endian` is never read
[INFO] [stdout]   --> src/io/bit.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct U16BitIO {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 50 |     pub(crate) data: [u8; 2],
[INFO] [stdout] 51 |     endian: UIntParserEndian
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_data` is never used
[INFO] [stdout]   --> src/io/bit.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl U16BitIO {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 55 |     #[inline]
[INFO] [stdout] 56 |     pub fn get_data(&self) -> [u8; 2] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `endian` is never read
[INFO] [stdout]    --> src/io/bit.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct U32BitIO {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 119 |     data: [u8; 4],
[INFO] [stdout] 120 |     endian: UIntParserEndian
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_at` and `read_range` are never used
[INFO] [stdout]    --> src/io/bit.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl U32BitIO {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn read_at(&mut self, bit_offset: usize) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn read_range(&mut self, start: usize, end: usize) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push_data_to_decoder` is never used
[INFO] [stdout]   --> src/core.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Core {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn push_data_to_decoder(&self, data: &mut VecDeque<u8>) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_exchange_sender` and `get_sender` are never used
[INFO] [stdout]   --> src/exchange.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl Exchange {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn get_exchange_sender(&self) -> mpsc::Sender<Packed> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn get_sender(&self, channel_dest: Destination) -> Option<mpsc::Sender<PackedContent>> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Command` is never constructed
[INFO] [stdout]    --> src/exchange.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub enum PackedContentToCore {
[INFO] [stdout]     |          ------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 128 |     Command
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PushData` is never constructed
[INFO] [stdout]    --> src/exchange.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub enum PackedContentToDecoder {
[INFO] [stdout]     |          ---------------------- variant in this enum
[INFO] [stdout] 203 |     PushData(VecDeque<u8>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `str_to_char_array` is never used
[INFO] [stdout]  --> src/fmpeg/mp4head.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl Utils {
[INFO] [stdout]   | ---------- associated function in this implementation
[INFO] [stdout] 6 |     #[inline]
[INFO] [stdout] 7 |     pub fn str_to_char_array(s: &String) -> [char; 4] {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_float` is never used
[INFO] [stdout]   --> src/fmpeg/mp4head.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl FixedPoint16 {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn to_float(&self) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_float` is never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl FixedPoint32 {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn to_float(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Box` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct Box {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FullBox` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub struct FullBox {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `compatible_brand` is never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 246 | impl FileTypeBoxBuilder {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn compatible_brand(mut self, compatible_brand: &String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `V1` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:373:5
[INFO] [stdout]     |
[INFO] [stdout] 371 | pub enum MovieHeaderBox {
[INFO] [stdout]     |          -------------- variant in this enum
[INFO] [stdout] 372 |     V0(MovieHeaderBoxV0),
[INFO] [stdout] 373 |     V1(MovieHeaderBoxV1),
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MovieHeaderBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `matrix` is never read
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:410:9
[INFO] [stdout]     |
[INFO] [stdout] 395 | pub struct MovieHeaderBoxV0 {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 410 |     pub matrix: [u8; 36],
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MovieHeaderBoxV0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:613:12
[INFO] [stdout]     |
[INFO] [stdout] 612 | impl MovieHeaderBoxV1 {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 613 |     pub fn new(creation_time: u64, modification_time: u64, timescale: u32, duration: u64, rate: FixedPoint32, volume: FixedPoint16, next_...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovieHeaderBoxV1Builder` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:674:12
[INFO] [stdout]     |
[INFO] [stdout] 674 | pub struct MovieHeaderBoxV1Builder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:685:12
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl MovieHeaderBoxV1Builder {
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout] 685 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 698 |     pub fn creation_time(mut self, creation_time: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 704 |     pub fn modification_time(mut self, modification_time: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 710 |     pub fn timescale(mut self, timescale: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 716 |     pub fn duration(mut self, duration: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 722 |     pub fn rate(mut self, rate: f32) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 728 |     pub fn volume(mut self, volume: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 734 |     pub fn next_track_id(mut self, next_track_id: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 739 |     pub fn build(self) -> MovieHeaderBoxV1 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `V1` is never constructed
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:796:5
[INFO] [stdout]     |
[INFO] [stdout] 794 | pub enum TrackHeaderBox {
[INFO] [stdout]     |          -------------- variant in this enum
[INFO] [stdout] 795 |     V0(TrackHeaderBoxV0),
[INFO] [stdout] 796 |     V1(TrackHeaderBoxV1),
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TrackHeaderBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `matrix` is never read
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:839:9
[INFO] [stdout]     |
[INFO] [stdout] 817 | pub struct TrackHeaderBoxV0 {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 839 |     pub matrix: [u8; 36],
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TrackHeaderBoxV0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `matrix` is never read
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:995:9
[INFO] [stdout]     |
[INFO] [stdout] 973 | pub struct TrackHeaderBoxV1 {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 995 |     pub matrix: [u8; 36],
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TrackHeaderBoxV1` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1002:12
[INFO] [stdout]      |
[INFO] [stdout] 1001 | impl TrackHeaderBoxV1 {
[INFO] [stdout]      | --------------------- associated function in this implementation
[INFO] [stdout] 1002 |     pub fn new(creation_time: u64, modification_time: u64, track_id: u32, duration: u64, width: FixedPoint32, height: FixedPoint32) -> Se...
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `language` and `quality` are never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1209:12
[INFO] [stdout]      |
[INFO] [stdout] 1171 | impl MediaHeaderBoxV0Builder {
[INFO] [stdout]      | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1209 |     pub fn language(mut self, language: u16) -> Self {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1215 |     pub fn quality(mut self, quality: u16) -> Self {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:2029:9
[INFO] [stdout]      |
[INFO] [stdout] 2028 | pub struct AudioExtendedDescriptionBox {
[INFO] [stdout]      |            --------------------------- field in this struct
[INFO] [stdout] 2029 |     pub size: u32,
[INFO] [stdout]      |         ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioExtendedDescriptionBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1700:9
[INFO] [stdout]      |
[INFO] [stdout] 1699 |     pub enum SamplingFreqIndex {
[INFO] [stdout]      |              ----------------- variants in this enum
[INFO] [stdout] 1700 |         Freq96000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1701 |         Freq88200,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1702 |         Freq64000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1705 |         Freq32000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1706 |         Freq24000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1707 |         Freq22050,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1708 |         Freq16000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1709 |         Freq12000,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1710 |         Freq11025,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 1711 |         Freq8000,
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout] 1712 |         Freq7350,
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout] 1713 |         FreqExplicit,
[INFO] [stdout]      |         ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SamplingFreqIndex` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1762:9
[INFO] [stdout]      |
[INFO] [stdout] 1761 |     pub enum ChannelConfig {
[INFO] [stdout]      |              ------------- variants in this enum
[INFO] [stdout] 1762 |         AacExtension,
[INFO] [stdout]      |         ^^^^^^^^^^^^
[INFO] [stdout] 1763 |         Mono,
[INFO] [stdout]      |         ^^^^
[INFO] [stdout] 1764 |         Stereo,
[INFO] [stdout] 1765 |         Three,
[INFO] [stdout]      |         ^^^^^
[INFO] [stdout] 1766 |         Four,
[INFO] [stdout]      |         ^^^^
[INFO] [stdout] 1767 |         Five,
[INFO] [stdout]      |         ^^^^
[INFO] [stdout] 1768 |         Six,
[INFO] [stdout]      |         ^^^
[INFO] [stdout] 1769 |         Seven,
[INFO] [stdout]      |         ^^^^^
[INFO] [stdout] 1770 |         Eight,
[INFO] [stdout]      |         ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChannelConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Yes` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1836:9
[INFO] [stdout]      |
[INFO] [stdout] 1834 |     pub enum CoreCoderDependentFlag {
[INFO] [stdout]      |              ---------------------- variant in this enum
[INFO] [stdout] 1835 |         No,
[INFO] [stdout] 1836 |         Yes,
[INFO] [stdout]      |         ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CoreCoderDependentFlag` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Yes` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1862:9
[INFO] [stdout]      |
[INFO] [stdout] 1860 |     pub enum ExtensionFlag {
[INFO] [stdout]      |              ------------- variant in this enum
[INFO] [stdout] 1861 |         No,
[INFO] [stdout] 1862 |         Yes,
[INFO] [stdout]      |         ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ExtensionFlag` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AacAudioSpecificConfigBoxBuilder` is never constructed
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1955:16
[INFO] [stdout]      |
[INFO] [stdout] 1955 |     pub struct AacAudioSpecificConfigBoxBuilder {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/fmpeg/mp4head.rs:1966:16
[INFO] [stdout]      |
[INFO] [stdout] 1964 |     impl AacAudioSpecificConfigBoxBuilder {
[INFO] [stdout]      |     ------------------------------------- associated items in this implementation
[INFO] [stdout] 1965 |         #[inline]
[INFO] [stdout] 1966 |         pub fn new() -> AacAudioSpecificConfigBoxBuilder {
[INFO] [stdout]      |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1978 |         pub fn set_aac_object_type(mut self, aac_object_type: AacObjectType) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1984 |         pub fn set_sampling_freq_index(mut self, sampling_freq_index: SamplingFreqIndex) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1990 |         pub fn set_channel_config(mut self, channel_config: ChannelConfig) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1996 |         pub fn set_frame_length_flag(mut self, frame_length_flag: FrameLengthFlag) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2002 |         pub fn set_core_coder_dependent_flag(mut self, core_coder_dependent_flag: CoreCoderDependentFlag) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2008 |         pub fn set_extension_flag(mut self, extension_flag: ExtensionFlag) -> Self {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2014 |         pub fn build(mut self) -> AacAudioSpecificConfigBox {
[INFO] [stdout]      |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_sample_options` is never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl TrackFragmentBoxBuilder {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn with_sample_options(mut self, sample_flag_builder: SampleFlagBuilder) -> TrackFragmentBoxBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_data` is never used
[INFO] [stdout]    --> src/fmpeg/mp4frag.rs:599:12
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl MovieDataBox {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 599 |     pub fn add_data(mut self, data: Vec<u8>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AudioConfigurationLike` is never used
[INFO] [stdout]   --> src/fmpeg/parser.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub enum AudioConfigurationLike {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `layer` and `bitrate` are never read
[INFO] [stdout]    --> src/fmpeg/parser.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub struct Mp3ParseResult {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 162 |     pub version: Mp3Version,
[INFO] [stdout] 163 |     pub layer: Mp3Layer,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 164 |     pub sample_rate: u32,
[INFO] [stdout] 165 |     pub bitrate: u32,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.00s
[INFO] running `Command { std: "docker" "inspect" "1507536f8a08fb0d55c73023ba372c4a9a97c0b4b0ce77762890f276a731af25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1507536f8a08fb0d55c73023ba372c4a9a97c0b4b0ce77762890f276a731af25", kill_on_drop: false }`
[INFO] [stdout] 1507536f8a08fb0d55c73023ba372c4a9a97c0b4b0ce77762890f276a731af25
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c58d15d2b3b154b27ac42ce3ca1b9d169f686de192a9eee7d364164a3c279d0c
[INFO] running `Command { std: "docker" "start" "-a" "c58d15d2b3b154b27ac42ce3ca1b9d169f686de192a9eee7d364164a3c279d0c", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::fmt::Debug`
[INFO] [stderr]  --> src/exchange.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::fmt::Debug;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `decoder`
[INFO] [stderr]    --> src/flv/header.rs:109:18
[INFO] [stderr]     |
[INFO] [stderr] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stderr]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `header_size`
[INFO] [stderr]    --> src/flv/header.rs:109:41
[INFO] [stderr]     |
[INFO] [stderr] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stderr]     |                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_size`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `decoder`
[INFO] [stderr]    --> src/flv/header.rs:131:18
[INFO] [stderr]     |
[INFO] [stderr] 131 |     pub fn parse(decoder: &mut Decoder) -> Self {
[INFO] [stderr]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `decoder`
[INFO] [stderr]    --> src/flv/header.rs:137:18
[INFO] [stderr]     |
[INFO] [stderr] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stderr]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param_size`
[INFO] [stderr]    --> src/flv/header.rs:137:41
[INFO] [stderr]     |
[INFO] [stderr] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stderr]     |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_size`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/fmpeg/remuxer.rs:86:17
[INFO] [stderr]    |
[INFO] [stderr] 86 |             Err(e) => Err("[Remuxer] Channel closed.".into())
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/fmpeg/remuxer.rs:197:28
[INFO] [stderr]     |
[INFO] [stderr] 197 |                         if let VideoParseResult::Avc1(parsed) = parsed {
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]     = help: consider replacing the `if let` with a `let`
[INFO] [stderr]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2014:22
[INFO] [stderr]      |
[INFO] [stderr] 2014 |         pub fn build(mut self) -> AacAudioSpecificConfigBox {
[INFO] [stderr]      |                      ----^^^^
[INFO] [stderr]      |                      |
[INFO] [stderr]      |                      help: remove this `mut`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2339:17
[INFO] [stderr]      |
[INFO] [stderr] 2339 |             let mut size = self.size();
[INFO] [stderr]      |                 ----^^^^
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/fmpeg/remux_context.rs:411:13
[INFO] [stderr]     |
[INFO] [stderr] 385 |             VideoParseResult::Avc1(h264_info) => {
[INFO] [stderr]     |             --------------------------------- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 411 |             _ => {
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `protection_bit`
[INFO] [stderr]    --> src/fmpeg/parser.rs:241:13
[INFO] [stderr]     |
[INFO] [stderr] 241 |         let protection_bit = u16io.read_at(15);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_protection_bit`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `header`
[INFO] [stderr]    --> src/fmpeg/parser.rs:221:18
[INFO] [stderr]     |
[INFO] [stderr] 221 |     fn parse_mp3(header: &AudioTagHeader, body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stderr]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]   --> src/fmpeg/encoder.rs:85:24
[INFO] [stderr]    |
[INFO] [stderr] 85 |     pub fn encode_hdlr(ctx: &RemuxContext, handler_type: HandlerType) -> mp4head::HandlerBox {
[INFO] [stderr]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/flv/demuxer.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 9  | pub struct Demuxer {
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] 10 |     channel_exchange: Option<mpsc::Sender<Packed>>,
[INFO] [stderr] 11 |     channel_receiver: mpsc::Receiver<PackedContent>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 12 |     channel_sender: mpsc::Sender<PackedContent>,
[INFO] [stderr] 13 |     demuxing: bool,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 14 |
[INFO] [stderr] 15 |     cache_video_tags: VecDeque<Tag>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 16 |     cache_audio_tags: VecDeque<Tag>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 17 |     cache_script_tags: VecDeque<Tag>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 18 |     cache_metadata: Option<RawMetaData>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 19 |     cache_flv_header: Option<FlvHeader>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/flv/demuxer.rs:23:12
[INFO] [stderr]     |
[INFO] [stderr] 22  | impl Demuxer {
[INFO] [stderr]     | ------------ associated items in this implementation
[INFO] [stderr] 23  |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 38  |     fn set_demuxing(&mut self, flag: bool) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 42  |     fn process_incoming_tag(&mut self, tag: Tag) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 66  |     fn send_to_remuxer(&mut self, pack: Packed) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 76  |     fn send_from_cache(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 120 |     pub fn run(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 169 |     pub fn launch_worker_thread(mut self) -> JoinHandle<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `data`, `previous_tag_size`, `channel_receiver`, and `decoding` are never read
[INFO] [stderr]   --> src/flv/decoder.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct Decoder {
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] 12 |     data: VecDeque<u8>,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 13 |     previous_tag_size: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 14 |     channel_exchange: Option<mpsc::Sender<Packed>>,
[INFO] [stderr] 15 |     channel_receiver: mpsc::Receiver<PackedContent>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 16 |     channel_sender: mpsc::Sender<PackedContent>,
[INFO] [stderr] 17 |     decoding: bool,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/flv/decoder.rs:35:12
[INFO] [stderr]     |
[INFO] [stderr] 34  | impl Decoder {
[INFO] [stderr]     | ------------ associated items in this implementation
[INFO] [stderr] 35  |     pub fn new(data: VecDeque<u8>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 47  |     pub fn push_data(&mut self, data: &mut VecDeque<u8>) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 51  |     pub fn push_bytes(&mut self, bytes: &[u8]) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56  |     pub fn drain_u8(&mut self) -> u8 {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 61  |     pub fn drain_bytes<const SIZE: usize>(&mut self) -> [u8; SIZE] {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 70  |     pub fn drain_bytes_vec(&mut self, size: usize) -> Vec<u8> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 76  |     pub fn drain_bytes_deque(&mut self, size: usize) -> VecDeque<u8> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 82  |     pub fn drain_u16_le(&mut self) -> u16 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 90  |     pub fn drain_u16(&mut self) -> u16 {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 98  |     pub fn drain_u24_le(&mut self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 107 |     pub fn drain_u24(&mut self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 |     pub fn drain_u32_le(&mut self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 126 |     pub fn drain_u32(&mut self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 136 |     pub fn drain_u64(&mut self) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 150 |     pub fn drain_i8(&mut self) -> i8 {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 155 |     pub fn drain_i16(&mut self) -> i16 {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 163 |     pub fn drain_i24(&mut self) -> i32 {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 172 |     pub fn drain_i32(&mut self) -> i32 {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 182 |     pub fn drain_i64(&mut self) -> i64 {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 196 |     pub fn drain_f64(&mut self) -> f64 {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 210 |     pub fn drain_f64_le(&mut self) -> f64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 224 |     pub fn drain_f32_le(&mut self) -> f32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 234 |     pub fn drain_f32(&mut self) -> f32 {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 243 |     pub fn decode_header(&mut self) -> Result<FlvHeader, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 262 |     pub fn concat_ts(ts: u32, ts_ext: u8) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 266 |     pub fn decode_tag(&mut self) -> Result<Tag, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 330 |     fn set_decoding(&mut self, flag: bool) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 334 |     pub fn decode_body(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 377 |     pub fn decode_body_once(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 407 |     fn send_to_demuxer(&mut self, pack: Packed) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 418 |     fn send_tag_to_demuxer(&mut self, tag: Tag) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 426 |     fn send_header_to_demuxer(&mut self, flv_header: FlvHeader) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 434 |     fn run(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 450 |     pub fn launch_worker_thread(mut self) -> JoinHandle<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `signature`, `version`, `type_flags_audio`, `type_flags_video`, and `data_offset` are never read
[INFO] [stderr]   --> src/flv/header.rs:6:9
[INFO] [stderr]    |
[INFO] [stderr] 5  | pub struct FlvHeader {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] 6  |     pub signature: [u8; 3],
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 7  |     pub version: u8,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 8  |     pub type_flags_audio: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 9  |     pub type_flags_video: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 10 |     pub data_offset: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FlvHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/flv/header.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl FlvHeader {
[INFO] [stderr]    | -------------- associated function in this implementation
[INFO] [stderr] 14 |     pub fn new(signature: [u8; 3], version: u8, type_flags_audio: bool, type_flags_video: bool, data_offset: u32) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Audio`, `Video`, `Script`, and `Placeholder` are never constructed
[INFO] [stderr]   --> src/flv/header.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub enum TagHeader {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr] 21 |     Audio(AudioTagHeader),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 22 |     Video(VideoTagHeader),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 23 |     Script,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 24 |     Placeholder,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TagHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `sound_format`, `sound_rate`, `sound_size`, `sound_type`, and `aac_packet_type` are never read
[INFO] [stderr]   --> src/flv/header.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub struct AudioTagHeader {
[INFO] [stderr]    |            -------------- fields in this struct
[INFO] [stderr] 29 |     // UB4
[INFO] [stderr] 30 |     pub sound_format: u8,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 31 |     // UB2
[INFO] [stderr] 32 |     pub sound_rate: u8,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 33 |     // UB1
[INFO] [stderr] 34 |     pub sound_size: bool,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 35 |     // UB1
[INFO] [stderr] 36 |     pub sound_type: bool,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 |     pub aac_packet_type: Option<u8>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AudioTagHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `new` and `parse` are never used
[INFO] [stderr]   --> src/flv/header.rs:43:12
[INFO] [stderr]    |
[INFO] [stderr] 42 | impl AudioTagHeader {
[INFO] [stderr]    | ------------------- associated functions in this implementation
[INFO] [stderr] 43 |     pub fn new(sound_format: u8, sound_rate: u8, sound_size: bool, sound_type: bool, aac_packet_type: Option<u8>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 47 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `frame_type`, `codec_id`, `avc_packet_type`, and `composition_time` are never read
[INFO] [stderr]   --> src/flv/header.rs:68:9
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub struct VideoTagHeader {
[INFO] [stderr]    |            -------------- fields in this struct
[INFO] [stderr] 67 |     // UB4
[INFO] [stderr] 68 |     pub frame_type: u8,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 69 |     // UB4
[INFO] [stderr] 70 |     pub codec_id: u8,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 |     pub avc_packet_type: Option<u8>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 76 |     pub composition_time: Option<i32>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `VideoTagHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `new` and `parse` are never used
[INFO] [stderr]   --> src/flv/header.rs:80:12
[INFO] [stderr]    |
[INFO] [stderr] 79 | impl VideoTagHeader {
[INFO] [stderr]    | ------------------- associated functions in this implementation
[INFO] [stderr] 80 |     pub fn new(frame_type: u8, codec_id: u8, avc_packet_type: Option<u8>, composition_time: Option<i32>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 84 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]    --> src/flv/header.rs:109:12
[INFO] [stderr]     |
[INFO] [stderr] 108 | impl EncryptionTagHeader {
[INFO] [stderr]     | ------------------------ associated function in this implementation
[INFO] [stderr] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `EncryptionFilter` and `SelectiveEncryptionFilter` are never constructed
[INFO] [stderr]    --> src/flv/header.rs:116:5
[INFO] [stderr]     |
[INFO] [stderr] 115 | pub enum FilterParameters {
[INFO] [stderr]     |          ---------------- variants in this enum
[INFO] [stderr] 116 |     EncryptionFilter(EncryptionFilterParameters),
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 117 |     SelectiveEncryptionFilter(SelectiveEncryptionFilterParameters),
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `FilterParameters` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]    --> src/flv/header.rs:131:12
[INFO] [stderr]     |
[INFO] [stderr] 130 | impl SelectiveEncryptionFilterParameters {
[INFO] [stderr]     | ---------------------------------------- associated function in this implementation
[INFO] [stderr] 131 |     pub fn parse(decoder: &mut Decoder) -> Self {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]    --> src/flv/header.rs:137:12
[INFO] [stderr]     |
[INFO] [stderr] 136 | impl FilterParameters {
[INFO] [stderr]     | --------------------- associated function in this implementation
[INFO] [stderr] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/flv/tag.rs:8:9
[INFO] [stderr]    |
[INFO] [stderr] 7  | pub struct Tag {
[INFO] [stderr]    |            --- fields in this struct
[INFO] [stderr] 8  |     pub filter: bool,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 9  |     pub tag_type: TagType,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 10 |     pub data_size: u32,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 11 |     pub timestamp_short: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 12 |     pub timestamp_extended: u8,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 13 |     pub timestamp: u32,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 14 |     pub stream_id: u32,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 15 |     pub tag_header: TagHeader,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 16 |     pub encryption_tag_header: Option<EncryptionTagHeader>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 17 |     pub filter_parameters: Option<FilterParameters>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 18 |     pub tag_body: TagBody,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Audio`, `Video`, `Script`, and `Encryption` are never constructed
[INFO] [stderr]   --> src/flv/tag.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub enum TagType {
[INFO] [stderr]    |          ------- variants in this enum
[INFO] [stderr] 23 |     Audio,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 24 |     Video,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 25 |     Script,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 26 |     Encryption,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TagType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Normal` and `Encrypted` are never constructed
[INFO] [stderr]   --> src/flv/tag.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub enum TagBody {
[INFO] [stderr]    |          ------- variants in this enum
[INFO] [stderr] 54 |     Normal(NormalTagBody),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 55 |     Encrypted(EncryptedTagBody),
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TagBody` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Audio`, `Video`, `Script`, and `Placeholder` are never constructed
[INFO] [stderr]   --> src/flv/tag.rs:60:5
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub enum NormalTagBody {
[INFO] [stderr]    |          ------------- variants in this enum
[INFO] [stderr] 60 |     Audio(VecDeque<u8>),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 61 |     Video(VecDeque<u8>),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 62 |     Script(ScriptTagBody),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 63 |     Placeholder, // todo: temporary
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `NormalTagBody` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Audio`, `Video`, `Script`, and `Placeholder` are never constructed
[INFO] [stderr]    --> src/flv/tag.rs:97:5
[INFO] [stderr]     |
[INFO] [stderr] 96  | pub enum EncryptedTagBody {
[INFO] [stderr]     |          ---------------- variants in this enum
[INFO] [stderr] 97  |     Audio(Vec<u8>),
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 98  |     Video(Vec<u8>),
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 99  |     Script(ScriptTagBody),
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 100 |     Placeholder, // todo: temporary
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `EncryptedTagBody` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from` is never used
[INFO] [stderr]    --> src/flv/tag.rs:104:12
[INFO] [stderr]     |
[INFO] [stderr] 103 | impl TagType {
[INFO] [stderr]     | ------------ associated function in this implementation
[INFO] [stderr] 104 |     pub fn from(tag_type: u8) -> Result<TagType, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/flv/tag.rs:123:12
[INFO] [stderr]     |
[INFO] [stderr] 122 | impl Tag {
[INFO] [stderr]     | -------- associated function in this implementation
[INFO] [stderr] 123 |     pub fn new(
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_object` is never used
[INFO] [stderr]  --> src/flv/script.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn parse_object(data: &mut Decoder) -> Result<ScriptData, Box<dyn std::error::Error>> {
[INFO] [stderr]   |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]   --> src/flv/script.rs:33:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl ScriptTagBody {
[INFO] [stderr]    | ------------------ associated function in this implementation
[INFO] [stderr] 33 |     pub fn parse(data: &mut Decoder) -> Result<ScriptTagBody, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]   --> src/flv/script.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub enum ScriptData {
[INFO] [stderr]    |          ---------- variants in this enum
[INFO] [stderr] 42 |     Number(f64),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 43 |     Boolean(u8),
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 44 |     String(ScriptDataString),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 45 |     Object(ScriptDataObject),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 46 |     MovieClip,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 47 |     Null,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 48 |     Undefined,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 49 |     Reference(u16),
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 50 |     EcmaArray(ScriptDataEcmaArray),
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 51 |     ObjectEndMarker,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 52 |     StrictArray(ScriptStrictArray),
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 53 |     Date(ScriptDataDate),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 54 |     LongString(ScriptDataLongString),
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 55 |     NotImplemented,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `properties` is never read
[INFO] [stderr]   --> src/flv/script.rs:60:9
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub struct ScriptDataObject {
[INFO] [stderr]    |            ---------------- field in this struct
[INFO] [stderr] 60 |     pub properties: Vec<ScriptDataObjectProp>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ScriptDataObject` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stderr]   --> src/flv/script.rs:65:12
[INFO] [stderr]    |
[INFO] [stderr] 63 | impl ScriptDataObject {
[INFO] [stderr]    | --------------------- associated functions in this implementation
[INFO] [stderr] 64 |
[INFO] [stderr] 65 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataObject, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 79 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptDataObject, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name` and `value` are never read
[INFO] [stderr]   --> src/flv/script.rs:97:9
[INFO] [stderr]    |
[INFO] [stderr] 96 | pub struct ScriptDataObjectProp {
[INFO] [stderr]    |            -------------------- fields in this struct
[INFO] [stderr] 97 |     pub name: ScriptDataString,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 98 |     pub value: ScriptData,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ScriptDataObjectProp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `length` and `data` are never read
[INFO] [stderr]    --> src/flv/script.rs:103:9
[INFO] [stderr]     |
[INFO] [stderr] 102 | pub struct ScriptDataString {
[INFO] [stderr]     |            ---------------- fields in this struct
[INFO] [stderr] 103 |     pub length: u16,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 104 |     pub data: String,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ScriptDataString` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stderr]    --> src/flv/script.rs:108:12
[INFO] [stderr]     |
[INFO] [stderr] 107 | impl ScriptDataString {
[INFO] [stderr]     | --------------------- associated functions in this implementation
[INFO] [stderr] 108 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataString, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 124 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptDataString, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `length` and `data` are never read
[INFO] [stderr]    --> src/flv/script.rs:134:9
[INFO] [stderr]     |
[INFO] [stderr] 133 | pub struct ScriptDataLongString {
[INFO] [stderr]     |            -------------------- fields in this struct
[INFO] [stderr] 134 |     pub length: u32,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 135 |     pub data: String,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ScriptDataLongString` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stderr]    --> src/flv/script.rs:139:12
[INFO] [stderr]     |
[INFO] [stderr] 138 | impl ScriptDataLongString {
[INFO] [stderr]     | ------------------------- associated functions in this implementation
[INFO] [stderr] 139 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataLongString, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 152 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptDataLongString, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stderr]    --> src/flv/script.rs:167:12
[INFO] [stderr]     |
[INFO] [stderr] 166 | impl ScriptDataEcmaArray {
[INFO] [stderr]     | ------------------------ associated functions in this implementation
[INFO] [stderr] 167 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataEcmaArray, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 183 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptDataEcmaArray, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `length` and `values` are never read
[INFO] [stderr]    --> src/flv/script.rs:197:9
[INFO] [stderr]     |
[INFO] [stderr] 196 | pub struct ScriptStrictArray {
[INFO] [stderr]     |            ----------------- fields in this struct
[INFO] [stderr] 197 |     pub length: u32,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 198 |     pub values: Vec<ScriptData>,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ScriptStrictArray` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stderr]    --> src/flv/script.rs:202:12
[INFO] [stderr]     |
[INFO] [stderr] 201 | impl ScriptStrictArray {
[INFO] [stderr]     | ---------------------- associated functions in this implementation
[INFO] [stderr] 202 |     pub fn parse(data: &mut Decoder) -> Result<ScriptStrictArray, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 216 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptStrictArray, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `date` and `local_time_offset` are never read
[INFO] [stderr]    --> src/flv/script.rs:229:9
[INFO] [stderr]     |
[INFO] [stderr] 228 | pub struct ScriptDataDate {
[INFO] [stderr]     |            -------------- fields in this struct
[INFO] [stderr] 229 |     pub date: f64,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr] 230 |     pub local_time_offset: i16,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ScriptDataDate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `parse` and `parse_no_marker` are never used
[INFO] [stderr]    --> src/flv/script.rs:234:12
[INFO] [stderr]     |
[INFO] [stderr] 233 | impl ScriptDataDate {
[INFO] [stderr]     | ------------------- associated functions in this implementation
[INFO] [stderr] 234 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataDate, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 248 |     pub fn parse_no_marker(data: &mut Decoder) -> Result<ScriptDataDate, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MetaData` is never constructed
[INFO] [stderr]  --> src/flv/meta.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct MetaData {
[INFO] [stderr]   |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/flv/meta.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl MetaData {
[INFO] [stderr]    | ------------- associated function in this implementation
[INFO] [stderr] 23 |     pub fn new(
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `data` is never read
[INFO] [stderr]   --> src/flv/meta.rs:61:5
[INFO] [stderr]    |
[INFO] [stderr] 60 | pub struct RawMetaData {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] 61 |     data: HashMap<String, ScriptData>
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `try_get`, `try_get_string`, `try_get_number`, and `try_get_boolean` are never used
[INFO] [stderr]   --> src/flv/meta.rs:65:12
[INFO] [stderr]    |
[INFO] [stderr] 64 | impl RawMetaData {
[INFO] [stderr]    | ---------------- associated items in this implementation
[INFO] [stderr] 65 |     pub fn new(data: ScriptTagBody) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |     pub fn try_get(&self, key: &str) -> Option<ScriptData> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 |     pub fn try_get_string(&self, key: &str) -> Option<String> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 83 |     pub fn try_get_number(&self, key: &str) -> Option<f64> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 90 |     pub fn try_get_boolean(&self, key: &str) -> Option<bool> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `XMPData` is never constructed
[INFO] [stderr]   --> src/flv/meta.rs:98:12
[INFO] [stderr]    |
[INFO] [stderr] 98 | pub struct XMPData {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/flv/meta.rs:103:12
[INFO] [stderr]     |
[INFO] [stderr] 102 | impl XMPData {
[INFO] [stderr]     | ------------ associated function in this implementation
[INFO] [stderr] 103 |     pub fn new(xmp: String) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `IReader` is never used
[INFO] [stderr]  --> src/io/reader.rs:4:11
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub trait IReader {
[INFO] [stderr]   |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LocalReader` is never constructed
[INFO] [stderr]   --> src/io/reader.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub struct LocalReader {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `read_file`, and `read_bytes` are never used
[INFO] [stderr]   --> src/io/reader.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | impl LocalReader {
[INFO] [stderr]    | ---------------- associated items in this implementation
[INFO] [stderr] 22 |     pub fn new(filename: &str) -> LocalReader {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 29 |     pub fn read_file(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |     pub fn read_bytes(&mut self, buffer: &mut [u8]) -> Result<(), std::io::Error> {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BitIO` is never constructed
[INFO] [stderr]  --> src/io/bit.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct BitIO {
[INFO] [stderr]   |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `read`, `read_bit`, `read_bit_safe`, and `read_range` are never used
[INFO] [stderr]   --> src/io/bit.rs:6:12
[INFO] [stderr]    |
[INFO] [stderr] 5  | impl BitIO {
[INFO] [stderr]    | ---------- associated items in this implementation
[INFO] [stderr] 6  |     pub fn new(byte: u8) -> BitIO {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 13 |     pub fn read(&self) -> bool {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 20 |     pub fn read_bit(&self, index: usize) -> bool {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub fn read_bit_safe(&self, index: usize) -> Result<bool, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub fn read_range(&self, start: usize, end: usize) -> u8 {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LittleEndian` is never constructed
[INFO] [stderr]   --> src/io/bit.rs:46:5
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub enum UIntParserEndian {
[INFO] [stderr]    |          ---------------- variant in this enum
[INFO] [stderr] 46 |     LittleEndian,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `endian` is never read
[INFO] [stderr]   --> src/io/bit.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub struct U16BitIO {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] 50 |     pub(crate) data: [u8; 2],
[INFO] [stderr] 51 |     endian: UIntParserEndian
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_data`, `read_at`, and `read_range` are never used
[INFO] [stderr]   --> src/io/bit.rs:56:12
[INFO] [stderr]    |
[INFO] [stderr] 54 | impl U16BitIO {
[INFO] [stderr]    | ------------- methods in this implementation
[INFO] [stderr] 55 |     #[inline]
[INFO] [stderr] 56 |     pub fn get_data(&self) -> [u8; 2] {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 78 |     pub fn read_at(&mut self, bit_offset: usize) -> bool {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 90 |     pub fn read_range(&mut self, start: usize, end: usize) -> u16 {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `U32BitIO` is never constructed
[INFO] [stderr]    --> src/io/bit.rs:118:12
[INFO] [stderr]     |
[INFO] [stderr] 118 | pub struct U32BitIO {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `get_data`, `new`, `read_at`, `read_range`, `write_at`, and `write_range` are never used
[INFO] [stderr]    --> src/io/bit.rs:125:12
[INFO] [stderr]     |
[INFO] [stderr] 123 | impl U32BitIO {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr] 124 |     #[inline]
[INFO] [stderr] 125 |     pub fn get_data(&self) -> [u8; 4] {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 130 |     pub fn new(data: u32, endian: UIntParserEndian) -> U32BitIO {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 146 |     pub fn read_at(&mut self, bit_offset: usize) -> bool {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 156 |     pub fn read_range(&mut self, start: usize, end: usize) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 165 |     pub fn write_at(&mut self, bit_offset: usize, value: bool) {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 177 |     pub fn write_range(&mut self, start: usize, end: usize, value: u32) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/core.rs:17:12
[INFO] [stderr]     |
[INFO] [stderr] 16  | impl Core {
[INFO] [stderr]     | --------- associated items in this implementation
[INFO] [stderr] 17  |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 51  |     pub fn send(&self, packed: Packed) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62  |     pub fn push_data_to_decoder(&self, data: &mut VecDeque<u8>) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73  |     pub fn start(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 80  |     fn start_decoding(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 92  |     fn start_demuxing(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 103 |     fn start_remuxing(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 114 |     pub fn stop(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 121 |     fn stop_decoding(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 132 |     fn stop_demuxing(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 143 |     fn stop_remuxing(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 154 |     pub fn now(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 161 |     fn decode_now(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 172 |     fn demux_now(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 183 |     fn remux_now(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 194 |     pub fn drop_all_workers(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 201 |     fn drop_decoding_worker(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 212 |     fn drop_demuxing_worker(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 223 |     fn drop_remuxing_worker(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_audio_codec_conf`, `get_video_codec_conf`, `is_codec_configured`, `try_get_codec_conf`, and `get_codec_conf` are never used
[INFO] [stderr]    --> src/core.rs:264:12
[INFO] [stderr]     |
[INFO] [stderr] 263 | impl Core {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] 264 |     pub fn get_audio_codec_conf(&mut self) -> Option<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 271 |     pub fn get_video_codec_conf(&mut self) -> Option<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 278 |     pub fn is_codec_configured(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 286 |     pub fn try_get_codec_conf(&mut self) -> Option<(String, String)> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 294 |     pub fn get_codec_conf(&mut self) -> Result<(String, String), Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `consume` is never used
[INFO] [stderr]    --> src/core.rs:308:8
[INFO] [stderr]     |
[INFO] [stderr] 306 | pub trait IConsumable {
[INFO] [stderr]     |           ----------- method in this trait
[INFO] [stderr] 307 |     type ConsumerData;
[INFO] [stderr] 308 |     fn consume(&mut self) -> Result<Self::ConsumerData, Box<dyn std::error::Error>>;
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Exchange` is never constructed
[INFO] [stderr]   --> src/exchange.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct Exchange {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_exchange`, `get_sender`, and `get_self_as_destination` are never used
[INFO] [stderr]   --> src/exchange.rs:62:8
[INFO] [stderr]    |
[INFO] [stderr] 61 | pub trait ExchangeRegistrable {
[INFO] [stderr]    |           ------------------- methods in this trait
[INFO] [stderr] 62 |     fn set_exchange(&mut self, sender: mpsc::Sender<Packed>);
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 63 |
[INFO] [stderr] 64 |     fn get_sender(&self) -> mpsc::Sender<PackedContent>;
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 65 |     fn get_self_as_destination(&self) -> Destination;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `get_exchange_sender`, `get_sender`, `register`, `process_incoming`, and `launch_worker_thread` are never used
[INFO] [stderr]    --> src/exchange.rs:69:12
[INFO] [stderr]     |
[INFO] [stderr] 68  | impl Exchange {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr] 69  |     pub fn new() -> Exchange {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 78  |     pub fn get_exchange_sender(&self) -> mpsc::Sender<Packed> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 82  |     pub fn get_sender(&self, channel_dest: Destination) -> Option<mpsc::Sender<PackedContent>> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 86  |     pub fn register(&mut self, registry: &mut dyn ExchangeRegistrable) {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 91  |     pub fn process_incoming(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 104 |     pub fn launch_worker_thread(mut self) -> JoinHandle<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `packed_routing` and `packed_content` are never read
[INFO] [stderr]    --> src/exchange.rs:114:9
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub struct Packed {
[INFO] [stderr]     |            ------ fields in this struct
[INFO] [stderr] 114 |     pub packed_routing: Destination,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 115 |     pub packed_content: PackedContent
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `ToCore`, `ToDecoder`, `ToDemuxer`, and `ToRemuxer` are never constructed
[INFO] [stderr]    --> src/exchange.rs:119:5
[INFO] [stderr]     |
[INFO] [stderr] 118 | pub enum PackedContent {
[INFO] [stderr]     |          ------------- variants in this enum
[INFO] [stderr] 119 |     ToCore(PackedContentToCore),
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 120 |     ToDecoder(PackedContentToDecoder),
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 121 |     ToDemuxer(PackedContentToDemuxer),
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 122 |     ToRemuxer(PackedContentToRemuxer)
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Data`, `DecoderConfig`, and `Command` are never constructed
[INFO] [stderr]    --> src/exchange.rs:126:5
[INFO] [stderr]     |
[INFO] [stderr] 125 | pub enum PackedContentToCore {
[INFO] [stderr]     |          ------------------- variants in this enum
[INFO] [stderr] 126 |     Data(RemuxedData),
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 127 |     DecoderConfig(MseDecoderConfig),
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 128 |     Command
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Header`, `Audio`, and `Video` are never constructed
[INFO] [stderr]    --> src/exchange.rs:132:5
[INFO] [stderr]     |
[INFO] [stderr] 131 | pub enum RemuxedData {
[INFO] [stderr]     |          ----------- variants in this enum
[INFO] [stderr] 132 |     Header(Vec<u8>),
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 133 |     Audio(Vec<u8>),
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 134 |     Video(Vec<u8>)
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `AudioCodec` and `VideoCodec` are never constructed
[INFO] [stderr]    --> src/exchange.rs:138:5
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub enum MseDecoderConfig {
[INFO] [stderr]     |          ---------------- variants in this enum
[INFO] [stderr] 138 |     AudioCodec(AudioCodecConfig),
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 139 |     VideoCodec(VideoCodecConfig)
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `conf_string`, `audio_codec_type`, and `audio_object_type` are never read
[INFO] [stderr]    --> src/exchange.rs:145:5
[INFO] [stderr]     |
[INFO] [stderr] 144 | pub struct AudioCodecConfig {
[INFO] [stderr]     |            ---------------- fields in this struct
[INFO] [stderr] 145 |     conf_string: String,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 146 |
[INFO] [stderr] 147 |     pub audio_codec_type: AudioCodecType,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 148 |     pub audio_object_type: u8,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `audio_conf` are never used
[INFO] [stderr]    --> src/exchange.rs:152:12
[INFO] [stderr]     |
[INFO] [stderr] 151 | impl AudioCodecConfig {
[INFO] [stderr]     | --------------------- associated items in this implementation
[INFO] [stderr] 152 |     pub fn new(codec_type: AudioCodecType, object_type: u8) -> AudioCodecConfig {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 160 |     pub fn audio_conf(&mut self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `conf_string`, `avc_profile_indication`, `avc_profile_compatibility`, and `avc_level_indication` are never read
[INFO] [stderr]    --> src/exchange.rs:179:9
[INFO] [stderr]     |
[INFO] [stderr] 178 | pub struct VideoCodecConfig {
[INFO] [stderr]     |            ---------------- fields in this struct
[INFO] [stderr] 179 |     pub conf_string: String,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 180 |
[INFO] [stderr] 181 |     pub avc_profile_indication: u8,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 182 |     pub avc_profile_compatibility: u8,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 183 |     pub avc_level_indication: u8,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `video_conf` are never used
[INFO] [stderr]    --> src/exchange.rs:187:12
[INFO] [stderr]     |
[INFO] [stderr] 186 | impl VideoCodecConfig {
[INFO] [stderr]     | --------------------- associated items in this implementation
[INFO] [stderr] 187 |     pub fn new(profile_indication: u8, profile_compatibility: u8, level_indication: u8) -> VideoCodecConfig {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 196 |     pub fn video_conf(&mut self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `PushData`, `StartDecoding`, `StopDecoding`, `CloseWorkerThread`, and `Now` are never constructed
[INFO] [stderr]    --> src/exchange.rs:203:5
[INFO] [stderr]     |
[INFO] [stderr] 202 | pub enum PackedContentToDecoder {
[INFO] [stderr]     |          ---------------------- variants in this enum
[INFO] [stderr] 203 |     PushData(VecDeque<u8>),
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 204 |
[INFO] [stderr] 205 |     StartDecoding,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 206 |     StopDecoding,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 207 |     CloseWorkerThread,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 208 |
[INFO] [stderr] 209 |     Now
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `PushTag`, `PushFlvHeader`, `StartDemuxing`, `StopDemuxing`, `CloseWorkerThread`, and `Now` are never constructed
[INFO] [stderr]    --> src/exchange.rs:213:5
[INFO] [stderr]     |
[INFO] [stderr] 212 | pub enum PackedContentToDemuxer {
[INFO] [stderr]     |          ---------------------- variants in this enum
[INFO] [stderr] 213 |     PushTag(Tag),
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 214 |     PushFlvHeader(FlvHeader),
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 215 |
[INFO] [stderr] 216 |     StartDemuxing,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 217 |     StopDemuxing,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 218 |     CloseWorkerThread,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 219 |
[INFO] [stderr] 220 |     Now
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]    --> src/exchange.rs:224:5
[INFO] [stderr]     |
[INFO] [stderr] 223 | pub enum PackedContentToRemuxer {
[INFO] [stderr]     |          ---------------------- variants in this enum
[INFO] [stderr] 224 |     PushTag(Tag),
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 225 |     PushFlvHeader(FlvHeader),
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 226 |     PushMetadata(RawMetaData),
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 227 |
[INFO] [stderr] 228 |     StartRemuxing,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 229 |     StopRemuxing,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 230 |     CloseWorkerThread,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 231 |
[INFO] [stderr] 232 |     Now
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/fmpeg/remuxer.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct Remuxer {
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] 16 |     channel_exchange: Option<mpsc::Sender<Packed>>,
[INFO] [stderr] 17 |     channel_receiver: mpsc::Receiver<PackedContent>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 18 |     channel_sender: mpsc::Sender<PackedContent>,
[INFO] [stderr] 19 |     remuxing: bool,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 20 |
[INFO] [stderr] 21 |     tags: VecDeque<Tag>,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 22 |     metadata: Option<RawMetaData>,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 23 |     flv_header: Option<FlvHeader>,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 24 |
[INFO] [stderr] 25 |     ctx: RemuxContext,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 26 |
[INFO] [stderr] 27 |     audio_track: TrackContext,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 28 |     video_track: TrackContext,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/fmpeg/remuxer.rs:58:12
[INFO] [stderr]     |
[INFO] [stderr] 57  | impl Remuxer {
[INFO] [stderr]     | ------------ associated items in this implementation
[INFO] [stderr] 58  |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 79  |     fn set_remuxing(&mut self, flag: bool) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 83  |     fn send(&mut self, pack: Packed) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 90  |     fn send_mpeg4_header(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 103 |     fn send_raw_data(&mut self, data: RemuxedData) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 112 |     fn remux(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 249 |     pub fn run(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 304 |     pub fn launch_worker_thread(mut self) -> JoinHandle<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Utils` is never constructed
[INFO] [stderr]  --> src/fmpeg/mp4head.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct Utils;
[INFO] [stderr]   |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `str_to_char_array` and `slice_to_char_array` are never used
[INFO] [stderr]   --> src/fmpeg/mp4head.rs:7:12
[INFO] [stderr]    |
[INFO] [stderr] 5  | impl Utils {
[INFO] [stderr]    | ---------- associated functions in this implementation
[INFO] [stderr] 6  |     #[inline]
[INFO] [stderr] 7  |     pub fn str_to_char_array(s: &String) -> [char; 4] {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |     pub fn slice_to_char_array(slice: &str) -> [char; 4] {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `to_float` is never used
[INFO] [stderr]   --> src/fmpeg/mp4head.rs:82:8
[INFO] [stderr]    |
[INFO] [stderr] 75 | impl FixedPoint16 {
[INFO] [stderr]    | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 82 |     fn to_float(&self) -> f32 {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `to_float` is never used
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:137:8
[INFO] [stderr]     |
[INFO] [stderr] 130 | impl FixedPoint32 {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 137 |     fn to_float(&self) -> f32 {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Box` is never constructed
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:179:12
[INFO] [stderr]     |
[INFO] [stderr] 179 | pub struct Box {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FullBox` is never constructed
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:184:12
[INFO] [stderr]     |
[INFO] [stderr] 184 | pub struct FullBox {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FileTypeBoxBuilder` is never constructed
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:240:12
[INFO] [stderr]     |
[INFO] [stderr] 240 | pub struct FileTypeBoxBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `major_brand`, `minor_version`, `compatible_brand`, `compatible_brands`, and `build` are never used
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:247:12
[INFO] [stderr]     |
[INFO] [stderr] 246 | impl FileTypeBoxBuilder {
[INFO] [stderr]     | ----------------------- associated items in this implementation
[INFO] [stderr] 247 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 256 |     pub fn major_brand(mut self, major_brand: &String) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 262 |     pub fn minor_version(mut self, minor_version: u32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 268 |     pub fn compatible_brand(mut self, compatible_brand: &String) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 274 |     pub fn compatible_brands(mut self, compatible_brands: Vec<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 282 |     pub fn build(self) -> FileTypeBox {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MovieBoxBuilder` is never constructed
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:307:12
[INFO] [stderr]     |
[INFO] [stderr] 307 | pub struct MovieBoxBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `movie_header_box`, `track`, and `build` are never used
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:338:12
[INFO] [stderr]     |
[INFO] [stderr] 337 | impl MovieBoxBuilder {
[INFO] [stderr]     | -------------------- associated items in this implementation
[INFO] [stderr] 338 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 345 |     pub fn movie_header_box(mut self, movie_header_box: MovieHeaderBox) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 350 |     pub fn track(mut self, track: TrackBox) -> Self {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 355 |     pub fn build(self) -> MovieBox {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `V0` and `V1` are never constructed
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:372:5
[INFO] [stderr]     |
[INFO] [stderr] 371 | pub enum MovieHeaderBox {
[INFO] [stderr]     |          -------------- variants in this enum
[INFO] [stderr] 372 |     V0(MovieHeaderBoxV0),
[INFO] [stderr]     |     ^^
[INFO] [stderr] 373 |     V1(MovieHeaderBoxV1),
[INFO] [stderr]     |     ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `MovieHeaderBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `matrix` is never read
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:410:9
[INFO] [stderr]     |
[INFO] [stderr] 395 | pub struct MovieHeaderBoxV0 {
[INFO] [stderr]     |            ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 410 |     pub matrix: [u8; 36],
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `MovieHeaderBoxV0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:434:12
[INFO] [stderr]     |
[INFO] [stderr] 433 | impl MovieHeaderBoxV0 {
[INFO] [stderr]     | --------------------- associated function in this implementation
[INFO] [stderr] 434 |     pub fn new(creation_time: u32, modification_time: u32, timescale: u32, duration: u32, rate: FixedPoint32, volume: FixedPoint16, next_...
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MovieHeaderBoxV0Builder` is never constructed
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:500:12
[INFO] [stderr]     |
[INFO] [stderr] 500 | pub struct MovieHeaderBoxV0Builder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:511:12
[INFO] [stderr]     |
[INFO] [stderr] 510 | impl MovieHeaderBoxV0Builder {
[INFO] [stderr]     | ---------------------------- associated items in this implementation
[INFO] [stderr] 511 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 524 |     pub fn creation_time(mut self, creation_time: u32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 530 |     pub fn modification_time(mut self, modification_time: u32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 536 |     pub fn timescale(mut self, timescale: u32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 542 |     pub fn duration(mut self, duration: u32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 548 |     pub fn rate(mut self, rate: f32) -> Self {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 554 |     pub fn volume(mut self, volume: f32) -> Self {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 566 |     pub fn next_track_id(mut self, next_track_id: u32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 571 |     pub fn build(self) -> MovieHeaderBoxV0 {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:613:12
[INFO] [stderr]     |
[INFO] [stderr] 612 | impl MovieHeaderBoxV1 {
[INFO] [stderr]     | --------------------- associated function in this implementation
[INFO] [stderr] 613 |     pub fn new(creation_time: u64, modification_time: u64, timescale: u32, duration: u64, rate: FixedPoint32, volume: FixedPoint16, next_...
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MovieHeaderBoxV1Builder` is never constructed
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:674:12
[INFO] [stderr]     |
[INFO] [stderr] 674 | pub struct MovieHeaderBoxV1Builder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:685:12
[INFO] [stderr]     |
[INFO] [stderr] 684 | impl MovieHeaderBoxV1Builder {
[INFO] [stderr]     | ---------------------------- associated items in this implementation
[INFO] [stderr] 685 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 698 |     pub fn creation_time(mut self, creation_time: u64) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 704 |     pub fn modification_time(mut self, modification_time: u64) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 710 |     pub fn timescale(mut self, timescale: u32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 716 |     pub fn duration(mut self, duration: u64) -> Self {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 722 |     pub fn rate(mut self, rate: f32) -> Self {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 728 |     pub fn volume(mut self, volume: f32) -> Self {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 734 |     pub fn next_track_id(mut self, next_track_id: u32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 739 |     pub fn build(self) -> MovieHeaderBoxV1 {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:783:12
[INFO] [stderr]     |
[INFO] [stderr] 782 | impl TrackBox {
[INFO] [stderr]     | ------------- associated function in this implementation
[INFO] [stderr] 783 |     pub fn new(track_header_box: TrackHeaderBox, media_box: MediaBox) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `V0` and `V1` are never constructed
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:795:5
[INFO] [stderr]     |
[INFO] [stderr] 794 | pub enum TrackHeaderBox {
[INFO] [stderr]     |          -------------- variants in this enum
[INFO] [stderr] 795 |     V0(TrackHeaderBoxV0),
[INFO] [stderr]     |     ^^
[INFO] [stderr] 796 |     V1(TrackHeaderBoxV1),
[INFO] [stderr]     |     ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `TrackHeaderBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `matrix` is never read
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:839:9
[INFO] [stderr]     |
[INFO] [stderr] 817 | pub struct TrackHeaderBoxV0 {
[INFO] [stderr]     |            ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 839 |     pub matrix: [u8; 36],
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `TrackHeaderBoxV0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:846:12
[INFO] [stderr]     |
[INFO] [stderr] 845 | impl TrackHeaderBoxV0 {
[INFO] [stderr]     | --------------------- associated function in this implementation
[INFO] [stderr] 846 |     pub fn new(creation_time: u32, modification_time: u32, track_id: u32, duration: u32, width: FixedPoint32, height: FixedPoint32) -> Se...
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TrackHeaderBoxV0Builder` is never constructed
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:903:12
[INFO] [stderr]     |
[INFO] [stderr] 903 | pub struct TrackHeaderBoxV0Builder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:913:12
[INFO] [stderr]     |
[INFO] [stderr] 912 | impl TrackHeaderBoxV0Builder {
[INFO] [stderr]     | ---------------------------- associated items in this implementation
[INFO] [stderr] 913 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 925 |     pub fn creation_time(mut self, creation_time: u32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 931 |     pub fn modification_time(mut self, modification_time: u32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 937 |     pub fn track_id(mut self, track_id: u32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 943 |     pub fn duration(mut self, duration: u32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 949 |     pub fn width(mut self, width: FixedPoint32) -> Self {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 955 |     pub fn height(mut self, height: FixedPoint32) -> Self {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 960 |     pub fn build(self) -> TrackHeaderBoxV0 {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `matrix` is never read
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:995:9
[INFO] [stderr]     |
[INFO] [stderr] 973 | pub struct TrackHeaderBoxV1 {
[INFO] [stderr]     |            ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 995 |     pub matrix: [u8; 36],
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `TrackHeaderBoxV1` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1002:12
[INFO] [stderr]      |
[INFO] [stderr] 1001 | impl TrackHeaderBoxV1 {
[INFO] [stderr]      | --------------------- associated function in this implementation
[INFO] [stderr] 1002 |     pub fn new(creation_time: u64, modification_time: u64, track_id: u32, duration: u64, width: FixedPoint32, height: FixedPoint32) -> Se...
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1070:12
[INFO] [stderr]      |
[INFO] [stderr] 1069 | impl MediaBox {
[INFO] [stderr]      | ------------- associated function in this implementation
[INFO] [stderr] 1070 |     pub fn new(media_header: MediaHeaderBoxV0, media_handler_box: HandlerBox, media_info_box: MediaInfoBox) -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1119:12
[INFO] [stderr]      |
[INFO] [stderr] 1118 | impl MediaHeaderBoxV0 {
[INFO] [stderr]      | --------------------- associated function in this implementation
[INFO] [stderr] 1119 |     pub fn new(creation_time: u32, modification_time: u32, timescale: u32, duration: u32, language: u16, quality: u16) -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MediaHeaderBoxV0Builder` is never constructed
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1162:12
[INFO] [stderr]      |
[INFO] [stderr] 1162 | pub struct MediaHeaderBoxV0Builder {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1173:12
[INFO] [stderr]      |
[INFO] [stderr] 1171 | impl MediaHeaderBoxV0Builder {
[INFO] [stderr]      | ---------------------------- associated items in this implementation
[INFO] [stderr] 1172 |     #[inline]
[INFO] [stderr] 1173 |     pub fn new() -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 1185 |     pub fn creation_time(mut self, creation_time: u32) -> Self {
[INFO] [stderr]      |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1191 |     pub fn modification_time(mut self, modification_time: u32) -> Self {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1197 |     pub fn timescale(mut self, timescale: u32) -> Self {
[INFO] [stderr]      |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1203 |     pub fn duration(mut self, duration: u32) -> Self {
[INFO] [stderr]      |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1209 |     pub fn language(mut self, language: u16) -> Self {
[INFO] [stderr]      |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1215 |     pub fn quality(mut self, quality: u16) -> Self {
[INFO] [stderr]      |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1221 |     pub fn build(self) -> MediaHeaderBoxV0 {
[INFO] [stderr]      |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1240:12
[INFO] [stderr]      |
[INFO] [stderr] 1239 | impl HandlerBox {
[INFO] [stderr]      | --------------- associated function in this implementation
[INFO] [stderr] 1240 |     pub fn new(handler_type: [char; 4], name: String) -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `HandlerType` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1280:10
[INFO] [stderr]      |
[INFO] [stderr] 1280 | pub enum HandlerType {
[INFO] [stderr]      |          ^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `HandlerType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `into` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1286:12
[INFO] [stderr]      |
[INFO] [stderr] 1285 | impl HandlerType {
[INFO] [stderr]      | ---------------- method in this implementation
[INFO] [stderr] 1286 |     pub fn into(self) -> HandlerBox {
[INFO] [stderr]      |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1309:12
[INFO] [stderr]      |
[INFO] [stderr] 1308 | impl MediaInfoBox {
[INFO] [stderr]      | ----------------- associated function in this implementation
[INFO] [stderr] 1309 |     pub fn new(xmedia_handler_box: XMediaHandlerBox, data_information_box: DataInformationBox, sample_table_box: SampleBoxTableBox) -> Se...
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Video` and `Audio` are never constructed
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1344:5
[INFO] [stderr]      |
[INFO] [stderr] 1343 | pub enum XMediaHandlerBox {
[INFO] [stderr]      |          ---------------- variants in this enum
[INFO] [stderr] 1344 |     Video(VideoMediaHandlerBox),
[INFO] [stderr]      |     ^^^^^
[INFO] [stderr] 1345 |     Audio(AudioMediaHandlerBox),
[INFO] [stderr]      |     ^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `XMediaHandlerBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1369:12
[INFO] [stderr]      |
[INFO] [stderr] 1368 | impl VideoMediaHandlerBox {
[INFO] [stderr]      | ------------------------- associated function in this implementation
[INFO] [stderr] 1369 |     pub fn new() -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1396:12
[INFO] [stderr]      |
[INFO] [stderr] 1395 | impl AudioMediaHandlerBox {
[INFO] [stderr]      | ------------------------- associated function in this implementation
[INFO] [stderr] 1396 |     pub fn new() -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1424:12
[INFO] [stderr]      |
[INFO] [stderr] 1423 | impl DataInformationBox {
[INFO] [stderr]      | ----------------------- associated function in this implementation
[INFO] [stderr] 1424 |     pub fn new() -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1516:12
[INFO] [stderr]      |
[INFO] [stderr] 1515 | impl SampleBoxTableBox {
[INFO] [stderr]      | ---------------------- associated function in this implementation
[INFO] [stderr] 1516 |     pub fn new(sample_description_table_box: SampleDescriptionTableBox) -> SampleBoxTableBox {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SampleDescriptionTableBoxBuilder` is never constructed
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1569:12
[INFO] [stderr]      |
[INFO] [stderr] 1569 | pub struct SampleDescriptionTableBoxBuilder {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `add_sample_description_table_box`, and `build` are never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1579:12
[INFO] [stderr]      |
[INFO] [stderr] 1578 | impl SampleDescriptionTableBoxBuilder {
[INFO] [stderr]      | ------------------------------------- associated items in this implementation
[INFO] [stderr] 1579 |     pub fn new() -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 1590 |     pub fn add_sample_description_table_box(mut self, sample_description_table_box: SubSampleDescriptionTableBox) -> Self {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1596 |     pub fn build(self) -> SampleDescriptionTableBox {
[INFO] [stderr]      |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Mp4a`, `Mp3`, and `Avc1` are never constructed
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1610:5
[INFO] [stderr]      |
[INFO] [stderr] 1609 | pub enum SubSampleDescriptionTableBox {
[INFO] [stderr]      |          ---------------------------- variants in this enum
[INFO] [stderr] 1610 |     Mp4a(Mp4aDescriptionBox),
[INFO] [stderr]      |     ^^^^
[INFO] [stderr] 1611 |     Mp3(Mp3DescriptionBox),
[INFO] [stderr]      |     ^^^
[INFO] [stderr] 1612 |     Avc1(Avc1DescriptionBox),
[INFO] [stderr]      |     ^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `SubSampleDescriptionTableBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `size` is never read
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2029:9
[INFO] [stderr]      |
[INFO] [stderr] 2028 | pub struct AudioExtendedDescriptionBox {
[INFO] [stderr]      |            --------------------------- field in this struct
[INFO] [stderr] 2029 |     pub size: u32,
[INFO] [stderr]      |         ^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `AudioExtendedDescriptionBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2039:12
[INFO] [stderr]      |
[INFO] [stderr] 2037 | impl AudioExtendedDescriptionBox {
[INFO] [stderr]      | -------------------------------- associated function in this implementation
[INFO] [stderr] 2038 |     #[inline]
[INFO] [stderr] 2039 |     pub fn new(spec_config: aac_utils::AacAudioSpecConfLike) -> AudioExtendedDescriptionBox {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2167:12
[INFO] [stderr]      |
[INFO] [stderr] 2166 | impl Mp4aDescriptionBox {
[INFO] [stderr]      | ----------------------- associated function in this implementation
[INFO] [stderr] 2167 |     pub fn new(sample_rate: f32, num_audio_channels: u16, spec_config: aac_utils::AacAudioSpecConfLike) -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Mp4aDescriptionBoxBuilder` is never constructed
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2186:12
[INFO] [stderr]      |
[INFO] [stderr] 2186 | pub struct Mp4aDescriptionBoxBuilder {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `sample_rate`, `num_audio_channels`, `spec_config`, and `build` are never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2193:12
[INFO] [stderr]      |
[INFO] [stderr] 2192 | impl Mp4aDescriptionBoxBuilder {
[INFO] [stderr]      | ------------------------------ associated items in this implementation
[INFO] [stderr] 2193 |     pub fn new() -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 2203 |     pub fn sample_rate(mut self, sample_rate: f32) -> Self {
[INFO] [stderr]      |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2208 |     pub fn num_audio_channels(mut self, num_audio_channels: u16) -> Self {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2213 |     pub fn spec_config(mut self, spec_config: aac_utils::AacAudioSpecConfLike) -> Self {
[INFO] [stderr]      |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2218 |     pub fn build(self) -> Mp4aDescriptionBox {
[INFO] [stderr]      |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2276:12
[INFO] [stderr]      |
[INFO] [stderr] 2275 | impl Mp3DescriptionBox {
[INFO] [stderr]      | ---------------------- associated function in this implementation
[INFO] [stderr] 2276 |     pub fn new(sample_rate: f32, num_audio_channels: u16) -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Mp3DescriptionBoxBuilder` is never constructed
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2294:12
[INFO] [stderr]      |
[INFO] [stderr] 2294 | pub struct Mp3DescriptionBoxBuilder {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `sample_rate`, `num_audio_channels`, and `build` are never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2300:12
[INFO] [stderr]      |
[INFO] [stderr] 2299 | impl Mp3DescriptionBoxBuilder {
[INFO] [stderr]      | ----------------------------- associated items in this implementation
[INFO] [stderr] 2300 |     pub fn new() -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 2307 |     pub fn sample_rate(mut self, sample_rate: f32) -> Self {
[INFO] [stderr]      |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2312 |     pub fn num_audio_channels(mut self, num_audio_channels: u16) -> Self {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2317 |     pub fn build(self) -> Mp3DescriptionBox {
[INFO] [stderr]      |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2384:12
[INFO] [stderr]      |
[INFO] [stderr] 2383 | impl Avc1DescriptionBox {
[INFO] [stderr]      | ----------------------- associated function in this implementation
[INFO] [stderr] 2384 |     pub fn new(width: u16, height: u16, avcc_box: avc1_utils::AvcCBoxLike) -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Avc1DescriptionBoxBuilder` is never constructed
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2446:12
[INFO] [stderr]      |
[INFO] [stderr] 2446 | pub struct Avc1DescriptionBoxBuilder {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `avcc_box`, `set_width`, `set_height`, and `build` are never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2453:12
[INFO] [stderr]      |
[INFO] [stderr] 2452 | impl Avc1DescriptionBoxBuilder {
[INFO] [stderr]      | ------------------------------ associated items in this implementation
[INFO] [stderr] 2453 |     pub fn new() -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 2461 |     pub fn avcc_box(mut self, avcc_box: avc1_utils::AvcCBoxLike) -> Self {
[INFO] [stderr]      |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2466 |     pub fn set_width(mut self, width: u16) -> Self {
[INFO] [stderr]      |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2471 |     pub fn set_height(mut self, height: u16) -> Self {
[INFO] [stderr]      |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2476 |     pub fn build(self) -> Avc1DescriptionBox {
[INFO] [stderr]      |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2485:12
[INFO] [stderr]      |
[INFO] [stderr] 2484 | impl TimeToSampleBox {
[INFO] [stderr]      | -------------------- associated function in this implementation
[INFO] [stderr] 2485 |     pub fn new() -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2511:12
[INFO] [stderr]      |
[INFO] [stderr] 2510 | impl SampleToChunkBox {
[INFO] [stderr]      | --------------------- associated function in this implementation
[INFO] [stderr] 2511 |     pub fn new() -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2537:12
[INFO] [stderr]      |
[INFO] [stderr] 2536 | impl SampleSizeBox {
[INFO] [stderr]      | ------------------ associated function in this implementation
[INFO] [stderr] 2537 |     pub fn new() -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2564:12
[INFO] [stderr]      |
[INFO] [stderr] 2563 | impl ChunkOffsetBox {
[INFO] [stderr]      | ------------------- associated function in this implementation
[INFO] [stderr] 2564 |     pub fn new() -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2597:12
[INFO] [stderr]      |
[INFO] [stderr] 2596 | impl MovieExtendBox {
[INFO] [stderr]      | ------------------- associated function in this implementation
[INFO] [stderr] 2597 |     pub fn new() -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2643:12
[INFO] [stderr]      |
[INFO] [stderr] 2642 | impl TrackExtendsBox {
[INFO] [stderr]      | -------------------- associated function in this implementation
[INFO] [stderr] 2643 |     pub fn new(track_id: u32) -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1700:9
[INFO] [stderr]      |
[INFO] [stderr] 1699 |     pub enum SamplingFreqIndex {
[INFO] [stderr]      |              ----------------- variants in this enum
[INFO] [stderr] 1700 |         Freq96000,
[INFO] [stderr]      |         ^^^^^^^^^
[INFO] [stderr] 1701 |         Freq88200,
[INFO] [stderr]      |         ^^^^^^^^^
[INFO] [stderr] 1702 |         Freq64000,
[INFO] [stderr]      |         ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1705 |         Freq32000,
[INFO] [stderr]      |         ^^^^^^^^^
[INFO] [stderr] 1706 |         Freq24000,
[INFO] [stderr]      |         ^^^^^^^^^
[INFO] [stderr] 1707 |         Freq22050,
[INFO] [stderr]      |         ^^^^^^^^^
[INFO] [stderr] 1708 |         Freq16000,
[INFO] [stderr]      |         ^^^^^^^^^
[INFO] [stderr] 1709 |         Freq12000,
[INFO] [stderr]      |         ^^^^^^^^^
[INFO] [stderr] 1710 |         Freq11025,
[INFO] [stderr]      |         ^^^^^^^^^
[INFO] [stderr] 1711 |         Freq8000,
[INFO] [stderr]      |         ^^^^^^^^
[INFO] [stderr] 1712 |         Freq7350,
[INFO] [stderr]      |         ^^^^^^^^
[INFO] [stderr] 1713 |         FreqExplicit,
[INFO] [stderr]      |         ^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `SamplingFreqIndex` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1762:9
[INFO] [stderr]      |
[INFO] [stderr] 1761 |     pub enum ChannelConfig {
[INFO] [stderr]      |              ------------- variants in this enum
[INFO] [stderr] 1762 |         AacExtension,
[INFO] [stderr]      |         ^^^^^^^^^^^^
[INFO] [stderr] 1763 |         Mono,
[INFO] [stderr]      |         ^^^^
[INFO] [stderr] 1764 |         Stereo,
[INFO] [stderr] 1765 |         Three,
[INFO] [stderr]      |         ^^^^^
[INFO] [stderr] 1766 |         Four,
[INFO] [stderr]      |         ^^^^
[INFO] [stderr] 1767 |         Five,
[INFO] [stderr]      |         ^^^^
[INFO] [stderr] 1768 |         Six,
[INFO] [stderr]      |         ^^^
[INFO] [stderr] 1769 |         Seven,
[INFO] [stderr]      |         ^^^^^
[INFO] [stderr] 1770 |         Eight,
[INFO] [stderr]      |         ^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `ChannelConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Yes` is never constructed
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1836:9
[INFO] [stderr]      |
[INFO] [stderr] 1834 |     pub enum CoreCoderDependentFlag {
[INFO] [stderr]      |              ---------------------- variant in this enum
[INFO] [stderr] 1835 |         No,
[INFO] [stderr] 1836 |         Yes,
[INFO] [stderr]      |         ^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `CoreCoderDependentFlag` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Yes` is never constructed
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1862:9
[INFO] [stderr]      |
[INFO] [stderr] 1860 |     pub enum ExtensionFlag {
[INFO] [stderr]      |              ------------- variant in this enum
[INFO] [stderr] 1861 |         No,
[INFO] [stderr] 1862 |         Yes,
[INFO] [stderr]      |         ^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `ExtensionFlag` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `VectorConfig` is never constructed
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1891:9
[INFO] [stderr]      |
[INFO] [stderr] 1889 |     pub enum AacAudioSpecConfLike {
[INFO] [stderr]      |              -------------------- variant in this enum
[INFO] [stderr] 1890 |         AacAudioSpecificConfig(AacAudioSpecificConfigBox),
[INFO] [stderr] 1891 |         VectorConfig(Vec<u8>),
[INFO] [stderr]      |         ^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `AacAudioSpecConfLike` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AacAudioSpecificConfigBoxBuilder` is never constructed
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1955:16
[INFO] [stderr]      |
[INFO] [stderr] 1955 |     pub struct AacAudioSpecificConfigBoxBuilder {
[INFO] [stderr]      |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1966:16
[INFO] [stderr]      |
[INFO] [stderr] 1964 |     impl AacAudioSpecificConfigBoxBuilder {
[INFO] [stderr]      |     ------------------------------------- associated items in this implementation
[INFO] [stderr] 1965 |         #[inline]
[INFO] [stderr] 1966 |         pub fn new() -> AacAudioSpecificConfigBoxBuilder {
[INFO] [stderr]      |                ^^^
[INFO] [stderr] ...
[INFO] [stderr] 1978 |         pub fn set_aac_object_type(mut self, aac_object_type: AacObjectType) -> Self {
[INFO] [stderr]      |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1984 |         pub fn set_sampling_freq_index(mut self, sampling_freq_index: SamplingFreqIndex) -> Self {
[INFO] [stderr]      |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1990 |         pub fn set_channel_config(mut self, channel_config: ChannelConfig) -> Self {
[INFO] [stderr]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1996 |         pub fn set_frame_length_flag(mut self, frame_length_flag: FrameLengthFlag) -> Self {
[INFO] [stderr]      |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2002 |         pub fn set_core_coder_dependent_flag(mut self, core_coder_dependent_flag: CoreCoderDependentFlag) -> Self {
[INFO] [stderr]      |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2008 |         pub fn set_extension_flag(mut self, extension_flag: ExtensionFlag) -> Self {
[INFO] [stderr]      |                ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 2014 |         pub fn build(mut self) -> AacAudioSpecificConfigBox {
[INFO] [stderr]      |                ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `AvcCBoxLike` is never constructed
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:2327:9
[INFO] [stderr]      |
[INFO] [stderr] 2326 |     pub enum AvcCBoxLike {
[INFO] [stderr]      |              ----------- variant in this enum
[INFO] [stderr] 2327 |         AvcCBoxLike(Vec<u8>)
[INFO] [stderr]      |         ^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `AvcCBoxLike` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `deferred_set_trun_size` are never used
[INFO] [stderr]   --> src/fmpeg/mp4frag.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl MovieFragmentBox {
[INFO] [stderr]    | --------------------- associated items in this implementation
[INFO] [stderr] 13 |     pub fn new(sequence_number: u32, track_fragment_box: TrackFragmentBox) -> MovieFragmentBox {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 22 |     pub fn deferred_set_trun_size(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/fmpeg/mp4frag.rs:57:12
[INFO] [stderr]    |
[INFO] [stderr] 56 | impl MovieFragmentHeaderBox {
[INFO] [stderr]    | --------------------------- associated function in this implementation
[INFO] [stderr] 57 |     pub fn new(sequence_number: u32) -> MovieFragmentHeaderBox {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TrackFragmentBoxBuilder` is never constructed
[INFO] [stderr]    --> src/fmpeg/mp4frag.rs:100:12
[INFO] [stderr]     |
[INFO] [stderr] 100 | pub struct TrackFragmentBoxBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/fmpeg/mp4frag.rs:108:12
[INFO] [stderr]     |
[INFO] [stderr] 107 | impl TrackFragmentBoxBuilder {
[INFO] [stderr]     | ---------------------------- associated items in this implementation
[INFO] [stderr] 108 |     pub fn new() -> TrackFragmentBoxBuilder {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 117 |     pub fn with_track_id(mut self, track_id: u32) -> TrackFragmentBoxBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 122 |     pub fn with_media_decode_time(mut self, base_media_decode_time: u32) -> TrackFragmentBoxBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 127 |     pub fn with_sample_options(mut self, sample_flag_builder: SampleFlagBuilder) -> TrackFragmentBoxBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 132 |     pub fn with_sample_table_box(mut self, sample_table_box: SampleDependencyTableBoxBuilder) -> TrackFragmentBoxBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 137 |     pub fn with_track_run_box(mut self, track_run_box: TrackRunBox) -> TrackFragmentBoxBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 142 |     pub fn build(self) -> TrackFragmentBox {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/fmpeg/mp4frag.rs:194:12
[INFO] [stderr]     |
[INFO] [stderr] 193 | impl TrackFragmentHeaderBox {
[INFO] [stderr]     | --------------------------- associated function in this implementation
[INFO] [stderr] 194 |     pub fn new(track_id: u32) -> TrackFragmentHeaderBox {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/fmpeg/mp4frag.rs:237:12
[INFO] [stderr]     |
[INFO] [stderr] 236 | impl TrackFragmentDecodeTimeBox {
[INFO] [stderr]     | ------------------------------- associated function in this implementation
[INFO] [stderr] 237 |     pub fn new(base_media_decode_time: u32) -> TrackFragmentDecodeTimeBox {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `VideoKeyFrame`, `VideoInterFrame`, and `Audio` are never constructed
[INFO] [stderr]    --> src/fmpeg/mp4frag.rs:314:5
[INFO] [stderr]     |
[INFO] [stderr] 313 | pub enum SampleDependencyTableBoxBuilder {
[INFO] [stderr]     |          ------------------------------- variants in this enum
[INFO] [stderr] 314 |     VideoKeyFrame,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 315 |     VideoInterFrame,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 316 |     Audio,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `as_box` is never used
[INFO] [stderr]    --> src/fmpeg/mp4frag.rs:320:12
[INFO] [stderr]     |
[INFO] [stderr] 319 | impl SampleDependencyTableBoxBuilder {
[INFO] [stderr]     | ------------------------------------ method in this implementation
[INFO] [stderr] 320 |     pub fn as_box(&self) -> SampleDependencyTableBox {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SampleFlagBuilder` is never constructed
[INFO] [stderr]    --> src/fmpeg/mp4frag.rs:348:12
[INFO] [stderr]     |
[INFO] [stderr] 348 | pub struct SampleFlagBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/fmpeg/mp4frag.rs:357:12
[INFO] [stderr]     |
[INFO] [stderr] 356 | impl SampleFlagBuilder {
[INFO] [stderr]     | ---------------------- associated items in this implementation
[INFO] [stderr] 357 |     pub fn new() -> SampleFlagBuilder {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 367 |     pub fn set_is_leading(mut self, is_leading: bool) -> SampleFlagBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 374 |     pub fn set_sample_depends_on(mut self, sample_depends_on: bool) -> SampleFlagBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 381 |     pub fn set_sample_is_depended_on(mut self, sample_is_depended_on: bool) -> SampleFlagBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 386 |     pub fn set_sample_has_redundancy(mut self, sample_has_redundancy: bool) -> SampleFlagBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 393 |     pub fn set_is_non_sync(mut self, is_non_sync: bool) -> SampleFlagBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 398 |     pub fn build(self) -> u16 {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/fmpeg/mp4frag.rs:448:12
[INFO] [stderr]     |
[INFO] [stderr] 447 | impl TrackRunBox {
[INFO] [stderr]     | ---------------- associated function in this implementation
[INFO] [stderr] 448 |     pub fn new() -> TrackRunBox {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TrackRunBoxBuilder` is never constructed
[INFO] [stderr]    --> src/fmpeg/mp4frag.rs:495:12
[INFO] [stderr]     |
[INFO] [stderr] 495 | pub struct TrackRunBoxBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/fmpeg/mp4frag.rs:506:12
[INFO] [stderr]     |
[INFO] [stderr] 505 | impl TrackRunBoxBuilder {
[INFO] [stderr]     | ----------------------- associated items in this implementation
[INFO] [stderr] 506 |     pub fn new() -> TrackRunBoxBuilder {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 519 |     pub fn with_sample_duration(mut self, duration: u32) -> TrackRunBoxBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 525 |     pub fn with_sample_size(mut self, size: u32) -> TrackRunBoxBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 531 |     pub fn with_sample_flags(mut self, flags: u16) -> TrackRunBoxBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 537 |     pub fn with_sample_composition_time_offset(mut self, offset: u32) -> TrackRunBoxBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 543 |     pub fn with_data_offset(mut self, offset: u32) -> TrackRunBoxBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 548 |     pub fn build(self) -> TrackRunBox {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `add_data` are never used
[INFO] [stderr]    --> src/fmpeg/mp4frag.rs:591:12
[INFO] [stderr]     |
[INFO] [stderr] 590 | impl MovieDataBox {
[INFO] [stderr]     | ----------------- associated items in this implementation
[INFO] [stderr] 591 |     pub fn new(data: Vec<u8>) -> MovieDataBox {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 599 |     pub fn add_data(mut self, data: Vec<u8>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Audio` and `Video` are never constructed
[INFO] [stderr]  --> src/fmpeg/remux_context.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub enum TrackType {
[INFO] [stderr]   |          --------- variants in this enum
[INFO] [stderr] 8 |     Audio,
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr] 9 |     Video,
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `track_id`, `sequence_number`, and `track_type` are never read
[INFO] [stderr]   --> src/fmpeg/remux_context.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct TrackContext {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] 13 |     pub track_id: u32,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 14 |     pub sequence_number: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 15 |
[INFO] [stderr] 16 |     pub track_type: TrackType,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/fmpeg/remux_context.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl TrackContext {
[INFO] [stderr]    | ----------------- associated function in this implementation
[INFO] [stderr] 20 |     pub fn new(track_id: u32, track_type: TrackType) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SampleContext` is never constructed
[INFO] [stderr]   --> src/fmpeg/remux_context.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub struct SampleContext {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SampleContextBuilder` is never constructed
[INFO] [stderr]   --> src/fmpeg/remux_context.rs:43:12
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub struct SampleContextBuilder {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/fmpeg/remux_context.rs:56:12
[INFO] [stderr]     |
[INFO] [stderr] 55  | impl SampleContextBuilder {
[INFO] [stderr]     | ------------------------- associated items in this implementation
[INFO] [stderr] 56  |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 71  |     pub fn set_is_leading(&mut self, is_leading: bool) -> &mut Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 77  |     pub fn set_is_non_sync(&mut self, is_non_sync: bool) -> &mut Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 83  |     pub fn set_is_keyframe(&mut self, is_keyframe: bool) -> &mut Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 89  |     pub fn set_has_redundancy(&mut self, has_redundancy: bool) -> &mut Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 95  |     pub fn set_decode_time(&mut self, decode_time: u32) -> &mut Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 101 |     pub fn set_composition_time_offset(&mut self, composition_time_offset: u32) -> &mut Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 107 |     pub fn set_sample_duration(&mut self, sample_duration: u32) -> &mut Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 113 |     pub fn set_sample_size(&mut self, sample_size: u32) -> &mut Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 119 |     pub fn build(&self) -> SampleContext {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TIME_SCALE` is never used
[INFO] [stderr]    --> src/fmpeg/remux_context.rs:134:11
[INFO] [stderr]     |
[INFO] [stderr] 134 | pub const TIME_SCALE: u32 = 24000;
[INFO] [stderr]     |           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]    --> src/fmpeg/remux_context.rs:140:9
[INFO] [stderr]     |
[INFO] [stderr] 139 | pub struct RemuxContext {
[INFO] [stderr]     |            ------------ fields in this struct
[INFO] [stderr] 140 |     pub fps: f64,
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 141 |     pub fps_num: u32,
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr] 142 |
[INFO] [stderr] 143 |     pub duration_ms: u32,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 144 |
[INFO] [stderr] 145 |     pub width: f64,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] 146 |     pub height: f64,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 147 |
[INFO] [stderr] 148 |     pub has_audio: bool,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 149 |     pub has_video: bool,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 150 |
[INFO] [stderr] 151 |     pub audio_codec_id: u8,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 152 |     pub audio_codec_type: AudioCodecType,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 153 |     pub audio_data_rate: u32,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 156 |     pub audio_sample_rate: u32,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 157 |     pub audio_channels: u8,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 158 |     pub audio_channels_extended: u8,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 159 |     pub audio_aac_info: Vec<u8>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 162 |     pub video_codec_id: u8,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 163 |     pub video_codec_type: VideoCodecType,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 166 |     pub video_data_rate: u32,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 167 |     pub video_avcc_info: AvcCBoxLike,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 170 |     pub major_brand: String,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 171 |     pub minor_version: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 172 |     pub compatible_brands: Vec<String>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 173 |
[INFO] [stderr] 174 |     header_sent: bool,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 175 |     flv_header_configured: bool,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 176 |     metadata_configured: bool,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 177 |     video_metadata_configured: bool,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 178 |     audio_metadata_configured: bool,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 179 |
[INFO] [stderr] 180 |     pub(crate) sequence_number: u32,
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/fmpeg/remux_context.rs:214:12
[INFO] [stderr]     |
[INFO] [stderr] 213 | impl RemuxContext {
[INFO] [stderr]     | ----------------- associated items in this implementation
[INFO] [stderr] 214 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 254 |     pub fn parse_flv_header(&mut self, header: &FlvHeader) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 260 |     pub fn parse_metadata(&mut self, metadata: &RawMetaData) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 323 |     const AAC_SAMPLE_RATES: [u32; 13] = [
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 329 |     pub fn configure_audio_metadata(&mut self, audio_metadata: &AudioParseResult) -> Option<AudioCodecConfig> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 383 |     pub fn configure_video_metadata(&mut self, video_metadata: &VideoParseResult) -> Option<VideoCodecConfig> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 417 |     pub fn is_metadata_complete(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 421 |     pub fn is_configured(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 436 |     pub fn is_header_sent(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 440 |     pub fn set_header_sent(&mut self, flag: bool) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_timescale` is never used
[INFO] [stderr]  --> src/fmpeg/parser.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn parse_timescale(timestamp_ms: u32) -> u32 {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_timescale_accurate` is never used
[INFO] [stderr]   --> src/fmpeg/parser.rs:23:4
[INFO] [stderr]    |
[INFO] [stderr] 23 | fn parse_timescale_accurate(timestamp_ms: f32) -> u32 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_mp3_timescale` is never used
[INFO] [stderr]   --> src/fmpeg/parser.rs:32:8
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn parse_mp3_timescale(sample_rate: u32, mp3version: Mp3Version) -> u32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_aac_timescale` is never used
[INFO] [stderr]   --> src/fmpeg/parser.rs:51:8
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub fn parse_aac_timescale(sample_rate: u32) -> u32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_avc_timescale` is never used
[INFO] [stderr]   --> src/fmpeg/parser.rs:58:8
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub fn parse_avc_timescale(fps: f32) -> u32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `AudioParseResult` is never used
[INFO] [stderr]   --> src/fmpeg/parser.rs:62:10
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub enum AudioParseResult {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `VideoParseResult` is never used
[INFO] [stderr]   --> src/fmpeg/parser.rs:68:10
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub enum VideoParseResult {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Avc1ParseResult` is never used
[INFO] [stderr]   --> src/fmpeg/parser.rs:72:10
[INFO] [stderr]    |
[INFO] [stderr] 72 | pub enum Avc1ParseResult {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AvcNalu` is never constructed
[INFO] [stderr]   --> src/fmpeg/parser.rs:78:12
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub struct AvcNalu {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `AudioConfigurationLike` is never used
[INFO] [stderr]   --> src/fmpeg/parser.rs:99:10
[INFO] [stderr]    |
[INFO] [stderr] 99 | pub enum AudioConfigurationLike {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Mp3ParseResult` is never constructed
[INFO] [stderr]    --> src/fmpeg/parser.rs:161:12
[INFO] [stderr]     |
[INFO] [stderr] 161 | pub struct Mp3ParseResult {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `AUDIO_SAMPLE_RATE_TABLE_M10` is never used
[INFO] [stderr]    --> src/fmpeg/parser.rs:172:11
[INFO] [stderr]     |
[INFO] [stderr] 172 | pub const AUDIO_SAMPLE_RATE_TABLE_M10: [u32; 4] = [44100, 48000, 32000, 0];
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `AUDIO_SAMPLE_RATE_TABLE_M20` is never used
[INFO] [stderr]    --> src/fmpeg/parser.rs:173:11
[INFO] [stderr]     |
[INFO] [stderr] 173 | pub const AUDIO_SAMPLE_RATE_TABLE_M20: [u32; 4] = [22050, 24000, 16000, 0];
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `AUDIO_SAMPLE_RATE_TABLE_M25` is never used
[INFO] [stderr]    --> src/fmpeg/parser.rs:174:11
[INFO] [stderr]     |
[INFO] [stderr] 174 | pub const AUDIO_SAMPLE_RATE_TABLE_M25: [u32; 4] = [11025, 12000, 8000, 0];
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `AUDIO_BITRATE_TABLE_L1` is never used
[INFO] [stderr]    --> src/fmpeg/parser.rs:176:11
[INFO] [stderr]     |
[INFO] [stderr] 176 | pub const AUDIO_BITRATE_TABLE_L1: [u32; 16] = [0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, 0];
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `AUDIO_BITRATE_TABLE_L2` is never used
[INFO] [stderr]    --> src/fmpeg/parser.rs:177:11
[INFO] [stderr]     |
[INFO] [stderr] 177 | pub const AUDIO_BITRATE_TABLE_L2: [u32; 16] = [0, 32, 48, 56,  64,  80,  96, 112, 128, 160, 192, 224, 256, 320, 384, 0];
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `AUDIO_BITRATE_TABLE_L3` is never used
[INFO] [stderr]    --> src/fmpeg/parser.rs:178:11
[INFO] [stderr]     |
[INFO] [stderr] 178 | pub const AUDIO_BITRATE_TABLE_L3: [u32; 16] = [0, 32, 40, 48,  56,  64,  80,  96, 112, 128, 160, 192, 224, 256, 320, 0];
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MP3_SYNC_WORD` is never used
[INFO] [stderr]    --> src/fmpeg/parser.rs:180:7
[INFO] [stderr]     |
[INFO] [stderr] 180 | const MP3_SYNC_WORD: u16 = 0x07FF;
[INFO] [stderr]     |       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AacSequenceHeader` is never constructed
[INFO] [stderr]    --> src/fmpeg/parser.rs:182:12
[INFO] [stderr]     |
[INFO] [stderr] 182 | pub struct AacSequenceHeader {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Parser` is never constructed
[INFO] [stderr]    --> src/fmpeg/parser.rs:189:12
[INFO] [stderr]     |
[INFO] [stderr] 189 | pub struct Parser;
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated functions are never used
[INFO] [stderr]    --> src/fmpeg/parser.rs:192:12
[INFO] [stderr]     |
[INFO] [stderr] 191 | impl Parser {
[INFO] [stderr]     | ----------- associated functions in this implementation
[INFO] [stderr] 192 |     pub fn parse_audio(tag: &Tag) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 221 |     fn parse_mp3(header: &AudioTagHeader, body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 292 |     fn parse_aac(header: &AudioTagHeader, body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 304 |     fn parse_aac_seq_hdr(body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 327 |     fn parse_aac_raw(body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 331 |     pub fn parse_video(tag: &Tag) -> Result<VideoParseResult, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 355 |     fn parse_avc(header: &VideoTagHeader, body: &VecDeque<u8>) -> Result<VideoParseResult, Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 370 |     fn parse_avc_nalu(header: &VideoTagHeader, mut payload: VecDeque<u8>) -> Result<AvcNalu, Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Encoder` is never constructed
[INFO] [stderr]  --> src/fmpeg/encoder.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct Encoder;
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DEFAULT_VIDEO_TRACK_ID` is never used
[INFO] [stderr]  --> src/fmpeg/encoder.rs:9:11
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub const DEFAULT_VIDEO_TRACK_ID: u32 = 1;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DEFAULT_AUDIO_TRACK_ID` is never used
[INFO] [stderr]   --> src/fmpeg/encoder.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub const DEFAULT_AUDIO_TRACK_ID: u32 = 2;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated functions are never used
[INFO] [stderr]    --> src/fmpeg/encoder.rs:13:12
[INFO] [stderr]     |
[INFO] [stderr] 12  | impl Encoder {
[INFO] [stderr]     | ------------ associated functions in this implementation
[INFO] [stderr] 13  |     pub fn encode_ftyp(ctx: &RemuxContext) -> FileTypeBox {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 23  |     pub fn encode_moov(ctx: &RemuxContext) -> MovieBox {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 32  |     pub fn encode_mhdv(ctx: &RemuxContext) -> MovieHeaderBox {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 46  |     pub fn encode_trak(ctx: &RemuxContext, track_id: u32, media_box: MediaBox) -> mp4head::TrackBox {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 64  |     pub fn encode_mdia(ctx: &RemuxContext, handler_type: HandlerType) -> MediaBox {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 74  |     pub fn encode_mdhd(ctx: &RemuxContext) -> mp4head::MediaHeaderBoxV0 {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 85  |     pub fn encode_hdlr(ctx: &RemuxContext, handler_type: HandlerType) -> mp4head::HandlerBox {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 91  |     pub fn encode_minf(ctx: &RemuxContext, handler_type: HandlerType) -> mp4head::MediaInfoBox {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 157 |     pub fn encode_moof(ctx: &mut RemuxContext, track_ctx: &mut TrackContext, encoding_ctx: &mut SampleContext) -> MovieFragmentBox {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 167 |     fn encode_traf(ctx: &mut RemuxContext, track_ctx: &mut TrackContext, encoding_ctx: &mut SampleContext) -> TrackFragmentBox {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 208 |     pub fn encode_mdat(raw_data: Vec<u8>) -> MovieDataBox {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `flv-rs` (lib) generated 202 warnings (run `cargo fix --lib -p flv-rs` to apply 3 suggestions)
[INFO] [stderr] warning: unused variable: `core`
[INFO] [stderr]   --> src/lib.rs:94:13
[INFO] [stderr]    |
[INFO] [stderr] 94 |         let core = core::Core::new();
[INFO] [stderr]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_core`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:95:13
[INFO] [stderr]    |
[INFO] [stderr] 95 |         let mut buf = std::fs::read("D:/test.flv").unwrap();
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:197:13
[INFO] [stderr]     |
[INFO] [stderr] 197 |         let mut buf = std::fs::read("D:/test_aac.flv").unwrap();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/flv/decoder.rs:47:12
[INFO] [stderr]     |
[INFO] [stderr] 34  | impl Decoder {
[INFO] [stderr]     | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 47  |     pub fn push_data(&mut self, data: &mut VecDeque<u8>) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 51  |     pub fn push_bytes(&mut self, bytes: &[u8]) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 82  |     pub fn drain_u16_le(&mut self) -> u16 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 98  |     pub fn drain_u24_le(&mut self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 |     pub fn drain_u32_le(&mut self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 136 |     pub fn drain_u64(&mut self) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 150 |     pub fn drain_i8(&mut self) -> i8 {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 172 |     pub fn drain_i32(&mut self) -> i32 {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 182 |     pub fn drain_i64(&mut self) -> i64 {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 210 |     pub fn drain_f64_le(&mut self) -> f64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 224 |     pub fn drain_f32_le(&mut self) -> f32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 234 |     pub fn drain_f32(&mut self) -> f32 {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `signature`, `version`, and `data_offset` are never read
[INFO] [stderr]   --> src/flv/header.rs:6:9
[INFO] [stderr]    |
[INFO] [stderr] 5  | pub struct FlvHeader {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] 6  |     pub signature: [u8; 3],
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 7  |     pub version: u8,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 10 |     pub data_offset: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FlvHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `sound_rate`, `sound_size`, and `sound_type` are never read
[INFO] [stderr]   --> src/flv/header.rs:32:9
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub struct AudioTagHeader {
[INFO] [stderr]    |            -------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 32 |     pub sound_rate: u8,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 33 |     // UB1
[INFO] [stderr] 34 |     pub sound_size: bool,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 35 |     // UB1
[INFO] [stderr] 36 |     pub sound_type: bool,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AudioTagHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/flv/header.rs:43:12
[INFO] [stderr]    |
[INFO] [stderr] 42 | impl AudioTagHeader {
[INFO] [stderr]    | ------------------- associated function in this implementation
[INFO] [stderr] 43 |     pub fn new(sound_format: u8, sound_rate: u8, sound_size: bool, sound_type: bool, aac_packet_type: Option<u8>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `composition_time` is never read
[INFO] [stderr]   --> src/flv/header.rs:76:9
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub struct VideoTagHeader {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 76 |     pub composition_time: Option<i32>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `VideoTagHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/flv/header.rs:80:12
[INFO] [stderr]    |
[INFO] [stderr] 79 | impl VideoTagHeader {
[INFO] [stderr]    | ------------------- associated function in this implementation
[INFO] [stderr] 80 |     pub fn new(frame_type: u8, codec_id: u8, avc_packet_type: Option<u8>, composition_time: Option<i32>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `filter`, `timestamp_short`, `timestamp_extended`, `stream_id`, `encryption_tag_header`, and `filter_parameters` are never read
[INFO] [stderr]   --> src/flv/tag.rs:8:9
[INFO] [stderr]    |
[INFO] [stderr] 7  | pub struct Tag {
[INFO] [stderr]    |            --- fields in this struct
[INFO] [stderr] 8  |     pub filter: bool,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 11 |     pub timestamp_short: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 12 |     pub timestamp_extended: u8,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 13 |     pub timestamp: u32,
[INFO] [stderr] 14 |     pub stream_id: u32,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 15 |     pub tag_header: TagHeader,
[INFO] [stderr] 16 |     pub encryption_tag_header: Option<EncryptionTagHeader>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 17 |     pub filter_parameters: Option<FilterParameters>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Tag` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Encryption` is never constructed
[INFO] [stderr]   --> src/flv/tag.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub enum TagType {
[INFO] [stderr]    |          ------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 26 |     Encryption,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TagType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/flv/tag.rs:55:15
[INFO] [stderr]    |
[INFO] [stderr] 55 |     Encrypted(EncryptedTagBody),
[INFO] [stderr]    |     --------- ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TagBody` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 55 |     Encrypted(()),
[INFO] [stderr]    |               ~~
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Placeholder` is never constructed
[INFO] [stderr]   --> src/flv/tag.rs:63:5
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub enum NormalTagBody {
[INFO] [stderr]    |          ------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 63 |     Placeholder, // todo: temporary
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `NormalTagBody` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Audio`, `Video`, and `Script` are never constructed
[INFO] [stderr]   --> src/flv/tag.rs:97:5
[INFO] [stderr]    |
[INFO] [stderr] 96 | pub enum EncryptedTagBody {
[INFO] [stderr]    |          ---------------- variants in this enum
[INFO] [stderr] 97 |     Audio(Vec<u8>),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 98 |     Video(Vec<u8>),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 99 |     Script(ScriptTagBody),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `EncryptedTagBody` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/flv/script.rs:43:13
[INFO] [stderr]    |
[INFO] [stderr] 43 |     Boolean(u8),
[INFO] [stderr]    |     ------- ^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 43 |     Boolean(()),
[INFO] [stderr]    |             ~~
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/flv/script.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 45 |     Object(ScriptDataObject),
[INFO] [stderr]    |     ------ ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 45 |     Object(()),
[INFO] [stderr]    |            ~~
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/flv/script.rs:49:15
[INFO] [stderr]    |
[INFO] [stderr] 49 |     Reference(u16),
[INFO] [stderr]    |     --------- ^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 49 |     Reference(()),
[INFO] [stderr]    |               ~~
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/flv/script.rs:50:15
[INFO] [stderr]    |
[INFO] [stderr] 50 |     EcmaArray(ScriptDataEcmaArray),
[INFO] [stderr]    |     --------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 50 |     EcmaArray(()),
[INFO] [stderr]    |               ~~
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/flv/script.rs:52:17
[INFO] [stderr]    |
[INFO] [stderr] 52 |     StrictArray(ScriptStrictArray),
[INFO] [stderr]    |     ----------- ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 52 |     StrictArray(()),
[INFO] [stderr]    |                 ~~
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/flv/script.rs:53:10
[INFO] [stderr]    |
[INFO] [stderr] 53 |     Date(ScriptDataDate),
[INFO] [stderr]    |     ---- ^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 53 |     Date(()),
[INFO] [stderr]    |          ~~
[INFO] [stderr] 
[INFO] [stderr] warning: variants `MovieClip`, `Null`, and `Undefined` are never constructed
[INFO] [stderr]   --> src/flv/script.rs:46:5
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub enum ScriptData {
[INFO] [stderr]    |          ---------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 46 |     MovieClip,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 47 |     Null,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 48 |     Undefined,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ScriptData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]   --> src/flv/script.rs:65:12
[INFO] [stderr]    |
[INFO] [stderr] 63 | impl ScriptDataObject {
[INFO] [stderr]    | --------------------- associated function in this implementation
[INFO] [stderr] 64 |
[INFO] [stderr] 65 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataObject, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `length` is never read
[INFO] [stderr]    --> src/flv/script.rs:103:9
[INFO] [stderr]     |
[INFO] [stderr] 102 | pub struct ScriptDataString {
[INFO] [stderr]     |            ---------------- field in this struct
[INFO] [stderr] 103 |     pub length: u16,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ScriptDataString` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `length` is never read
[INFO] [stderr]    --> src/flv/script.rs:134:9
[INFO] [stderr]     |
[INFO] [stderr] 133 | pub struct ScriptDataLongString {
[INFO] [stderr]     |            -------------------- field in this struct
[INFO] [stderr] 134 |     pub length: u32,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ScriptDataLongString` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]    --> src/flv/script.rs:139:12
[INFO] [stderr]     |
[INFO] [stderr] 138 | impl ScriptDataLongString {
[INFO] [stderr]     | ------------------------- associated function in this implementation
[INFO] [stderr] 139 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataLongString, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]    --> src/flv/script.rs:202:12
[INFO] [stderr]     |
[INFO] [stderr] 201 | impl ScriptStrictArray {
[INFO] [stderr]     | ---------------------- associated function in this implementation
[INFO] [stderr] 202 |     pub fn parse(data: &mut Decoder) -> Result<ScriptStrictArray, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]    --> src/flv/script.rs:234:12
[INFO] [stderr]     |
[INFO] [stderr] 233 | impl ScriptDataDate {
[INFO] [stderr]     | ------------------- associated function in this implementation
[INFO] [stderr] 234 |     pub fn parse(data: &mut Decoder) -> Result<ScriptDataDate, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `try_get_boolean` is never used
[INFO] [stderr]   --> src/flv/meta.rs:90:12
[INFO] [stderr]    |
[INFO] [stderr] 64 | impl RawMetaData {
[INFO] [stderr]    | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 90 |     pub fn try_get_boolean(&self, key: &str) -> Option<bool> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `read_bit_safe` is never used
[INFO] [stderr]   --> src/io/bit.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 5  | impl BitIO {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub fn read_bit_safe(&self, index: usize) -> Result<bool, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_data` is never used
[INFO] [stderr]   --> src/io/bit.rs:56:12
[INFO] [stderr]    |
[INFO] [stderr] 54 | impl U16BitIO {
[INFO] [stderr]    | ------------- method in this implementation
[INFO] [stderr] 55 |     #[inline]
[INFO] [stderr] 56 |     pub fn get_data(&self) -> [u8; 2] {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `endian` is never read
[INFO] [stderr]    --> src/io/bit.rs:120:5
[INFO] [stderr]     |
[INFO] [stderr] 118 | pub struct U32BitIO {
[INFO] [stderr]     |            -------- field in this struct
[INFO] [stderr] 119 |     data: [u8; 4],
[INFO] [stderr] 120 |     endian: UIntParserEndian
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `read_at` and `read_range` are never used
[INFO] [stderr]    --> src/io/bit.rs:146:12
[INFO] [stderr]     |
[INFO] [stderr] 123 | impl U32BitIO {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 146 |     pub fn read_at(&mut self, bit_offset: usize) -> bool {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 156 |     pub fn read_range(&mut self, start: usize, end: usize) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `push_data_to_decoder` is never used
[INFO] [stderr]   --> src/core.rs:62:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl Core {
[INFO] [stderr]    | --------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 62 |     pub fn push_data_to_decoder(&self, data: &mut VecDeque<u8>) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_exchange_sender` and `get_sender` are never used
[INFO] [stderr]   --> src/exchange.rs:78:12
[INFO] [stderr]    |
[INFO] [stderr] 68 | impl Exchange {
[INFO] [stderr]    | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 78 |     pub fn get_exchange_sender(&self) -> mpsc::Sender<Packed> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 82 |     pub fn get_sender(&self, channel_dest: Destination) -> Option<mpsc::Sender<PackedContent>> {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Command` is never constructed
[INFO] [stderr]    --> src/exchange.rs:128:5
[INFO] [stderr]     |
[INFO] [stderr] 125 | pub enum PackedContentToCore {
[INFO] [stderr]     |          ------------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 128 |     Command
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `PushData` is never constructed
[INFO] [stderr]    --> src/exchange.rs:203:5
[INFO] [stderr]     |
[INFO] [stderr] 202 | pub enum PackedContentToDecoder {
[INFO] [stderr]     |          ---------------------- variant in this enum
[INFO] [stderr] 203 |     PushData(VecDeque<u8>),
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `str_to_char_array` is never used
[INFO] [stderr]  --> src/fmpeg/mp4head.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | impl Utils {
[INFO] [stderr]   | ---------- associated function in this implementation
[INFO] [stderr] 6 |     #[inline]
[INFO] [stderr] 7 |     pub fn str_to_char_array(s: &String) -> [char; 4] {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `compatible_brand` is never used
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:268:12
[INFO] [stderr]     |
[INFO] [stderr] 246 | impl FileTypeBoxBuilder {
[INFO] [stderr]     | ----------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 268 |     pub fn compatible_brand(mut self, compatible_brand: &String) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `V1` is never constructed
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:373:5
[INFO] [stderr]     |
[INFO] [stderr] 371 | pub enum MovieHeaderBox {
[INFO] [stderr]     |          -------------- variant in this enum
[INFO] [stderr] 372 |     V0(MovieHeaderBoxV0),
[INFO] [stderr] 373 |     V1(MovieHeaderBoxV1),
[INFO] [stderr]     |     ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `MovieHeaderBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `V1` is never constructed
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:796:5
[INFO] [stderr]     |
[INFO] [stderr] 794 | pub enum TrackHeaderBox {
[INFO] [stderr]     |          -------------- variant in this enum
[INFO] [stderr] 795 |     V0(TrackHeaderBoxV0),
[INFO] [stderr] 796 |     V1(TrackHeaderBoxV1),
[INFO] [stderr]     |     ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `TrackHeaderBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `language` and `quality` are never used
[INFO] [stderr]     --> src/fmpeg/mp4head.rs:1209:12
[INFO] [stderr]      |
[INFO] [stderr] 1171 | impl MediaHeaderBoxV0Builder {
[INFO] [stderr]      | ---------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 1209 |     pub fn language(mut self, language: u16) -> Self {
[INFO] [stderr]      |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1215 |     pub fn quality(mut self, quality: u16) -> Self {
[INFO] [stderr]      |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `with_sample_options` is never used
[INFO] [stderr]    --> src/fmpeg/mp4frag.rs:127:12
[INFO] [stderr]     |
[INFO] [stderr] 107 | impl TrackFragmentBoxBuilder {
[INFO] [stderr]     | ---------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 127 |     pub fn with_sample_options(mut self, sample_flag_builder: SampleFlagBuilder) -> TrackFragmentBoxBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `add_data` is never used
[INFO] [stderr]    --> src/fmpeg/mp4frag.rs:599:12
[INFO] [stderr]     |
[INFO] [stderr] 590 | impl MovieDataBox {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 599 |     pub fn add_data(mut self, data: Vec<u8>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `layer` and `bitrate` are never read
[INFO] [stderr]    --> src/fmpeg/parser.rs:163:9
[INFO] [stderr]     |
[INFO] [stderr] 161 | pub struct Mp3ParseResult {
[INFO] [stderr]     |            -------------- fields in this struct
[INFO] [stderr] 162 |     pub version: Mp3Version,
[INFO] [stderr] 163 |     pub layer: Mp3Layer,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] 164 |     pub sample_rate: u32,
[INFO] [stderr] 165 |     pub bitrate: u32,
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `flv-rs` (lib test) generated 91 warnings (47 duplicates) (run `cargo fix --lib -p flv-rs --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/flv_rs-271516d08b2097b6)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::it_works ... FAILED
[INFO] [stdout] test tests::test_all ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::it_works stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::it_works' panicked at src/lib.rs:95:52:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e0c5af2ce8a - std::backtrace_rs::backtrace::libunwind::trace::hb059275cfc8d6126
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x5e0c5af2ce8a - std::backtrace_rs::backtrace::trace_unsynchronized::h2da071e4327ce3ee
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5e0c5af2ce8a - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5e0c5af2ce8a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h71a62eb3b9696b12
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5e0c5af54b93 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x5e0c5af54b93 - core::fmt::write::h2cc1698af7e2d686
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21
[INFO] [stdout]    6:     0x5e0c5af299e3 - std::io::Write::write_fmt::hab1b4cd059a79022
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15
[INFO] [stdout]    7:     0x5e0c5af2ccd2 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x5e0c5af2e2af - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22
[INFO] [stdout]    9:     0x5e0c5af2e0c8 - std::panicking::default_hook::h20f81eb0576efcec
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:322:9
[INFO] [stdout]   10:     0x5e0c5aef6613 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdb53814c496a4d34
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   11:     0x5e0c5aef6613 - test::test_main::{{closure}}::hc0a4963c59427c24
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x5e0c5af2eda3 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h591b2225413a77e9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   13:     0x5e0c5af2eda3 - std::panicking::rust_panic_with_hook::h625eea43051b2edc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13
[INFO] [stdout]   14:     0x5e0c5af2ea5a - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:704:13
[INFO] [stdout]   15:     0x5e0c5af2d389 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   16:     0x5e0c5af2e6ed - rust_begin_unwind
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]   17:     0x5e0c5af531c0 - core::panicking::panic_fmt::h9e7c637e9e5f29c9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]   18:     0x5e0c5af53636 - core::result::unwrap_failed::h7979f09313fe1849
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/result.rs:1704:5
[INFO] [stdout]   19:     0x5e0c5ae7fe70 - core::result::Result<T,E>::unwrap::hc9e6e7a15604b4b4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/result.rs:1109:23
[INFO] [stdout]   20:     0x5e0c5ae7fe70 - flv_rs::tests::it_works::hb8f93c62603ac2fc
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:95:23
[INFO] [stdout]   21:     0x5e0c5ae7f147 - flv_rs::tests::it_works::{{closure}}::h7c03c50676c2e8ff
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:30:18
[INFO] [stdout]   22:     0x5e0c5ae84bd6 - core::ops::function::FnOnce::call_once::h802929baca2da265
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5e0c5aefbd6b - core::ops::function::FnOnce::call_once::he27718dfdd183f43
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5e0c5aefbd6b - test::__rust_begin_short_backtrace::h4e84902998457a5d
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18
[INFO] [stdout]   25:     0x5e0c5aefaca3 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60
[INFO] [stdout]   26:     0x5e0c5aefaca3 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf79cff2a624d8cf7
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x5e0c5aefaca3 - std::panicking::try::do_call::h3da0561d9ab99c25
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   28:     0x5e0c5aefaca3 - std::panicking::try::h41c9fa508bc61df6
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   29:     0x5e0c5aefaca3 - std::panic::catch_unwind::h6b3ff07bb5afad93
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   30:     0x5e0c5aefaca3 - test::run_test_in_process::hc7253dd11b39b9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27
[INFO] [stdout]   31:     0x5e0c5aefaca3 - test::run_test::{{closure}}::hfb2007f8649c30bb
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43
[INFO] [stdout]   32:     0x5e0c5aebdd85 - test::run_test::{{closure}}::h56a17aa7a282a9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41
[INFO] [stdout]   33:     0x5e0c5aebdd85 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   34:     0x5e0c5aec166a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   35:     0x5e0c5aec166a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf2e855a36a4ea846
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x5e0c5aec166a - std::panicking::try::do_call::h2f73af3616c35465
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   37:     0x5e0c5aec166a - std::panicking::try::hd1660ce9efadef5a
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   38:     0x5e0c5aec166a - std::panic::catch_unwind::h5ee8d7823b8ca744
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   39:     0x5e0c5aec166a - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   40:     0x5e0c5aec166a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5e0c5af32ceb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha52bedf99a3b4981
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   42:     0x5e0c5af32ceb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h567748934d80ccf8
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   43:     0x5e0c5af32ceb - std::sys::pal::unix::thread::Thread::new::thread_start::h2d970728ae887adc
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/pal/unix/thread.rs:106:17
[INFO] [stdout]   44:     0x7b281d2a5ac3 - <unknown>
[INFO] [stdout]   45:     0x7b281d336a04 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_all stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_all' panicked at src/lib.rs:197:56:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e0c5af2ce8a - std::backtrace_rs::backtrace::libunwind::trace::hb059275cfc8d6126
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x5e0c5af2ce8a - std::backtrace_rs::backtrace::trace_unsynchronized::h2da071e4327ce3ee
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5e0c5af2ce8a - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5e0c5af2ce8a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h71a62eb3b9696b12
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5e0c5af54b93 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x5e0c5af54b93 - core::fmt::write::h2cc1698af7e2d686
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21
[INFO] [stdout]    6:     0x5e0c5af299e3 - std::io::Write::write_fmt::hab1b4cd059a79022
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15
[INFO] [stdout]    7:     0x5e0c5af2ccd2 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x5e0c5af2e2af - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22
[INFO] [stdout]    9:     0x5e0c5af2e0c8 - std::panicking::default_hook::h20f81eb0576efcec
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:322:9
[INFO] [stdout]   10:     0x5e0c5aef6613 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdb53814c496a4d34
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   11:     0x5e0c5aef6613 - test::test_main::{{closure}}::hc0a4963c59427c24
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x5e0c5af2eda3 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h591b2225413a77e9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   13:     0x5e0c5af2eda3 - std::panicking::rust_panic_with_hook::h625eea43051b2edc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13
[INFO] [stdout]   14:     0x5e0c5af2ea5a - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:704:13
[INFO] [stdout]   15:     0x5e0c5af2d389 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   16:     0x5e0c5af2e6ed - rust_begin_unwind
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]   17:     0x5e0c5af531c0 - core::panicking::panic_fmt::h9e7c637e9e5f29c9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]   18:     0x5e0c5af53636 - core::result::unwrap_failed::h7979f09313fe1849
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/result.rs:1704:5
[INFO] [stdout]   19:     0x5e0c5ae82e2a - core::result::Result<T,E>::unwrap::hc9e6e7a15604b4b4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/result.rs:1109:23
[INFO] [stdout]   20:     0x5e0c5ae82e2a - flv_rs::tests::test_all::h54f6100dd15d43dd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:197:23
[INFO] [stdout]   21:     0x5e0c5ae82d67 - flv_rs::tests::test_all::{{closure}}::h875817370ce07620
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:196:18
[INFO] [stdout]   22:     0x5e0c5ae84cf6 - core::ops::function::FnOnce::call_once::h98441e4ff92b5e7b
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5e0c5aefbd6b - core::ops::function::FnOnce::call_once::he27718dfdd183f43
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5e0c5aefbd6b - test::__rust_begin_short_backtrace::h4e84902998457a5d
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18
[INFO] [stdout]   25:     0x5e0c5aefaca3 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60
[INFO] [stdout]   26:     0x5e0c5aefaca3 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf79cff2a624d8cf7
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x5e0c5aefaca3 - std::panicking::try::do_call::h3da0561d9ab99c25
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   28:     0x5e0c5aefaca3 - std::panicking::try::h41c9fa508bc61df6
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   29:     0x5e0c5aefaca3 - std::panic::catch_unwind::h6b3ff07bb5afad93
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   30:     0x5e0c5aefaca3 - test::run_test_in_process::hc7253dd11b39b9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27
[INFO] [stdout]   31:     0x5e0c5aefaca3 - test::run_test::{{closure}}::hfb2007f8649c30bb
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43
[INFO] [stdout]   32:     0x5e0c5aebdd85 - test::run_test::{{closure}}::h56a17aa7a282a9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41
[INFO] [stdout]   33:     0x5e0c5aebdd85 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   34:     0x5e0c5aec166a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   35:     0x5e0c5aec166a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf2e855a36a4ea846
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x5e0c5aec166a - std::panicking::try::do_call::h2f73af3616c35465
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   37:     0x5e0c5aec166a - std::panicking::try::hd1660ce9efadef5a
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   38:     0x5e0c5aec166a - std::panic::catch_unwind::h5ee8d7823b8ca744
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   39:     0x5e0c5aec166a - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   40:     0x5e0c5aec166a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5e0c5af32ceb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha52bedf99a3b4981
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   42:     0x5e0c5af32ceb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h567748934d80ccf8
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   43:     0x5e0c5af32ceb - std::sys::pal::unix::thread::Thread::new::thread_start::h2d970728ae887adc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/pal/unix/thread.rs:106:17
[INFO] [stdout]   44:     0x7b281d2a5ac3 - <unknown>
[INFO] [stdout]   45:     0x7b281d336a04 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::it_works
[INFO] [stdout]     tests::test_all
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c58d15d2b3b154b27ac42ce3ca1b9d169f686de192a9eee7d364164a3c279d0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c58d15d2b3b154b27ac42ce3ca1b9d169f686de192a9eee7d364164a3c279d0c", kill_on_drop: false }`
[INFO] [stdout] c58d15d2b3b154b27ac42ce3ca1b9d169f686de192a9eee7d364164a3c279d0c
