1097 lines
38 KiB
Text
1097 lines
38 KiB
Text
Checking stream_server v0.2.0 (/home/senke/Documents/veza/veza-stream-server)
|
|
warning: unused import: `DecodedAudio`
|
|
--> src/audio/pipeline.rs:12:49
|
|
|
|
|
12 | use crate::codecs::{AudioDecoder, AudioEncoder, DecodedAudio, DecoderInfo, EncoderInfo};
|
|
| ^^^^^^^^^^^^
|
|
|
|
|
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: unused import: `AppError`
|
|
--> src/audio/pipeline.rs:13:20
|
|
|
|
|
13 | use crate::error::{AppError, Result as AppResult};
|
|
| ^^^^^^^^
|
|
|
|
warning: unused import: `std::sync::Arc`
|
|
--> src/audio/pipeline.rs:14:5
|
|
|
|
|
14 | use std::sync::Arc;
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `std::time::Duration`
|
|
--> src/audio/pipeline.rs:16:5
|
|
|
|
|
16 | use std::time::Duration;
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused imports: `Deserialize` and `Serialize`
|
|
--> src/audio/realtime.rs:4:13
|
|
|
|
|
4 | use serde::{Deserialize, Serialize};
|
|
| ^^^^^^^^^^^ ^^^^^^^^^
|
|
|
|
warning: unused import: `SystemTime`
|
|
--> src/audio/realtime.rs:11:36
|
|
|
|
|
11 | use std::time::{Duration, Instant, SystemTime};
|
|
| ^^^^^^^^^^
|
|
|
|
warning: unused import: `effects::*`
|
|
--> src/audio/mod.rs:12:9
|
|
|
|
|
12 | pub use effects::*;
|
|
| ^^^^^^^^^^
|
|
|
|
warning: unused import: `std::collections::hash_map::DefaultHasher`
|
|
--> src/cache/audio_cache.rs:2:5
|
|
|
|
|
2 | use std::collections::hash_map::DefaultHasher;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused imports: `AudioSampleFormat`, `CodecQuality`, and `LatencyMode`
|
|
--> src/codecs/flac.rs:2:33
|
|
|
|
|
2 | AudioDecoder, AudioEncoder, AudioSampleFormat, CodecQuality, DecodedAudio, DecoderConfig,
|
|
| ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^
|
|
3 | DecoderInfo, EncoderConfig, EncoderInfo, EncoderMetrics, LatencyMode,
|
|
| ^^^^^^^^^^^
|
|
|
|
warning: unused imports: `Deserialize` and `Serialize`
|
|
--> src/codecs/flac.rs:6:13
|
|
|
|
|
6 | use serde::{Deserialize, Serialize};
|
|
| ^^^^^^^^^^^ ^^^^^^^^^
|
|
|
|
warning: unused import: `std::collections::HashMap`
|
|
--> src/codecs/flac.rs:14:5
|
|
|
|
|
14 | use std::collections::HashMap;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `SystemTime`
|
|
--> src/codecs/flac.rs:15:26
|
|
|
|
|
15 | use std::time::{Instant, SystemTime};
|
|
| ^^^^^^^^^^
|
|
|
|
warning: unused imports: `AudioFrame`, `CodecConfig`, `DecodingResult`, and `EncodingResult`
|
|
--> src/codecs/mp3.rs:19:33
|
|
|
|
|
19 | AudioDecoder, AudioEncoder, AudioFrame, CodecConfig, CodecQuality, DecoderConfig,
|
|
| ^^^^^^^^^^ ^^^^^^^^^^^
|
|
20 | DecodingResult, EncoderConfig, EncodingResult,
|
|
| ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `mpsc`
|
|
--> src/core/buffer.rs:15:19
|
|
|
|
|
15 | use tokio::sync::{mpsc, Mutex};
|
|
| ^^^^
|
|
|
|
warning: unused import: `mpsc`
|
|
--> src/core/stream.rs:10:30
|
|
|
|
|
10 | use tokio::sync::{broadcast, mpsc};
|
|
| ^^^^
|
|
|
|
warning: unused imports: `RwLock as TokioRwLock` and `mpsc`
|
|
--> src/core/sync.rs:18:30
|
|
|
|
|
18 | use tokio::sync::{broadcast, mpsc, RwLock as TokioRwLock};
|
|
| ^^^^ ^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused imports: `Error as LapinError` and `ExchangeKind`
|
|
--> src/event_bus.rs:3:5
|
|
|
|
|
3 | Error as LapinError, ExchangeKind,
|
|
| ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^
|
|
|
|
warning: unused import: `UNIX_EPOCH`
|
|
--> src/monitoring/alerting.rs:7:39
|
|
|
|
|
7 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
|
|
| ^^^^^^^^^^
|
|
|
|
warning: unused import: `Instant`
|
|
--> src/monitoring/prometheus_metrics.rs:3:27
|
|
|
|
|
3 | use std::time::{Duration, Instant};
|
|
| ^^^^^^^
|
|
|
|
warning: unused imports: `Deserialize` and `Serialize`
|
|
--> src/monitoring/prometheus_metrics.rs:6:13
|
|
|
|
|
6 | use serde::{Deserialize, Serialize};
|
|
| ^^^^^^^^^^^ ^^^^^^^^^
|
|
|
|
warning: unused import: `Duration`
|
|
--> src/monitoring/tracing_module.rs:4:17
|
|
|
|
|
4 | use std::time::{Duration, SystemTime};
|
|
| ^^^^^^^^
|
|
|
|
warning: unused import: `SystemHealth`
|
|
--> src/monitoring/mod.rs:27:35
|
|
|
|
|
27 | use health_checks::{HealthConfig, SystemHealth};
|
|
| ^^^^^^^^^^^^
|
|
|
|
warning: private item shadows public glob re-export
|
|
--> src/monitoring/mod.rs:27:21
|
|
|
|
|
27 | use health_checks::{HealthConfig, SystemHealth};
|
|
| ^^^^^^^^^^^^
|
|
|
|
|
note: the name `HealthConfig` in the type namespace is supposed to be publicly re-exported here
|
|
--> src/monitoring/mod.rs:14:9
|
|
|
|
|
14 | pub use health_checks::*;
|
|
| ^^^^^^^^^^^^^^^^
|
|
note: but the private item here shadows it
|
|
--> src/monitoring/mod.rs:27:21
|
|
|
|
|
27 | use health_checks::{HealthConfig, SystemHealth};
|
|
| ^^^^^^^^^^^^
|
|
= note: `#[warn(hidden_glob_reexports)]` on by default
|
|
|
|
warning: private item shadows public glob re-export
|
|
--> src/monitoring/mod.rs:27:35
|
|
|
|
|
27 | use health_checks::{HealthConfig, SystemHealth};
|
|
| ^^^^^^^^^^^^
|
|
|
|
|
note: the name `SystemHealth` in the type namespace is supposed to be publicly re-exported here
|
|
--> src/monitoring/mod.rs:14:9
|
|
|
|
|
14 | pub use health_checks::*;
|
|
| ^^^^^^^^^^^^^^^^
|
|
note: but the private item here shadows it
|
|
--> src/monitoring/mod.rs:27:35
|
|
|
|
|
27 | use health_checks::{HealthConfig, SystemHealth};
|
|
| ^^^^^^^^^^^^
|
|
|
|
warning: private item shadows public glob re-export
|
|
--> src/monitoring/mod.rs:28:5
|
|
|
|
|
28 | use tracing_module::TracingConfig;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
note: the name `TracingConfig` in the type namespace is supposed to be publicly re-exported here
|
|
--> src/monitoring/mod.rs:17:9
|
|
|
|
|
17 | pub use tracing_module::*;
|
|
| ^^^^^^^^^^^^^^^^^
|
|
note: but the private item here shadows it
|
|
--> src/monitoring/mod.rs:28:5
|
|
|
|
|
28 | use tracing_module::TracingConfig;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `IntoResponse`
|
|
--> src/routes/encoding.rs:14:16
|
|
|
|
|
14 | response::{IntoResponse, Response},
|
|
| ^^^^^^^^^^^^
|
|
|
|
warning: unused import: `Deserialize`
|
|
--> src/routes/encoding.rs:17:13
|
|
|
|
|
17 | use serde::{Deserialize, Serialize};
|
|
| ^^^^^^^^^^^
|
|
|
|
warning: unused import: `crate::core::encoding_service::EncodingService`
|
|
--> src/routes/encoding.rs:86:9
|
|
|
|
|
86 | use crate::core::encoding_service::EncodingService;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `sync::Arc`
|
|
--> src/routes/api.rs:8:49
|
|
|
|
|
8 | use std::{collections::HashMap, time::Duration, sync::Arc};
|
|
| ^^^^^^^^^
|
|
|
|
warning: unused imports: `Deserialize` and `Serialize`
|
|
--> src/structured_logging.rs:12:13
|
|
|
|
|
12 | use serde::{Deserialize, Serialize};
|
|
| ^^^^^^^^^^^ ^^^^^^^^^
|
|
|
|
warning: unused import: `std::time::Duration`
|
|
--> src/structured_logging.rs:15:5
|
|
|
|
|
15 | use std::time::Duration;
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `format::Writer`
|
|
--> src/structured_logging.rs:22:17
|
|
|
|
|
22 | fmt::{self, format::Writer, time::ChronoUtc},
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `uuid::Uuid`
|
|
--> src/structured_logging.rs:182:9
|
|
|
|
|
182 | use uuid::Uuid;
|
|
| ^^^^^^^^^^
|
|
|
|
warning: unused import: `std::collections::HashMap`
|
|
--> src/lib.rs:25:5
|
|
|
|
|
25 | use std::collections::HashMap;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `tokio::sync::RwLock`
|
|
--> src/lib.rs:28:5
|
|
|
|
|
28 | use tokio::sync::RwLock;
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused variable: `user_id`
|
|
--> src/auth/token_validator.rs:256:21
|
|
|
|
|
256 | if let Some(user_id) = user_id {
|
|
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
|
|
|
|
|
= note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: unused variable: `sample_rate`
|
|
--> src/codecs/mp3.rs:766:13
|
|
|
|
|
766 | let sample_rate =
|
|
| ^^^^^^^^^^^
|
|
|
|
|
help: if this is intentional, prefix it with an underscore
|
|
|
|
|
766 | let _sample_rate =
|
|
| +
|
|
help: you might have meant to pattern match on the similarly named constant `BRANCHES`
|
|
|
|
|
766 - let sample_rate =
|
|
766 + let transcoding::pipeline::queue::PriorityQueue::next_job::{closure#0}::BRANCHES =
|
|
|
|
|
|
|
warning: unused variable: `chunk`
|
|
--> src/core/buffer.rs:453:25
|
|
|
|
|
453 | if let Some(ref chunk) = chunk {
|
|
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk`
|
|
|
|
warning: unused variable: `drift_samples`
|
|
--> src/core/sync.rs:464:38
|
|
|
|
|
464 | SyncState::Calibrating { ref drift_samples, ref rtt_samples } => {
|
|
| ^^^^^^^^^^^^^^^^^ help: try ignoring the field: `drift_samples: _`
|
|
|
|
warning: unused variable: `rtt_samples`
|
|
--> src/core/sync.rs:464:57
|
|
|
|
|
464 | SyncState::Calibrating { ref drift_samples, ref rtt_samples } => {
|
|
| ^^^^^^^^^^^^^^^ help: try ignoring the field: `rtt_samples: _`
|
|
|
|
warning: variable does not need to be mutable
|
|
--> src/core/sync.rs:444:13
|
|
|
|
|
444 | let mut listener = match listeners_map.get(&listener_id) {
|
|
| ----^^^^^^^^
|
|
| |
|
|
| help: remove this `mut`
|
|
|
|
|
= note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: variable `success_count` is assigned to, but never used
|
|
--> src/core/sync.rs:416:17
|
|
|
|
|
416 | let mut success_count = 0;
|
|
| ^^^^^^^^^^^^^
|
|
|
|
|
= note: consider using `_success_count` instead
|
|
|
|
warning: variable `error_count` is assigned to, but never used
|
|
--> src/core/sync.rs:417:17
|
|
|
|
|
417 | let mut error_count = 0;
|
|
| ^^^^^^^^^^^
|
|
|
|
|
= note: consider using `_error_count` instead
|
|
|
|
warning: unused variable: `encoding_service`
|
|
--> src/routes/encoding.rs:83:11
|
|
|
|
|
83 | State(encoding_service): State<EncodingService>,
|
|
| ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoding_service`
|
|
|
|
warning: unused variable: `data`
|
|
--> src/streaming/websocket.rs:372:43
|
|
|
|
|
372 | ... Message::Ping(data) => {
|
|
| ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
|
|
|
|
warning: unused variable: `conn`
|
|
--> src/streaming/websocket.rs:374:45
|
|
|
|
|
374 | ... if let Some(conn) =
|
|
| ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
|
|
|
|
warning: unused variable: `global_sender_clone`
|
|
--> src/streaming/websocket.rs:326:13
|
|
|
|
|
326 | let global_sender_clone = self.global_sender.clone();
|
|
| ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_global_sender_clone`
|
|
|
|
warning: unused variable: `ping_id`
|
|
--> src/streaming/websocket.rs:541:42
|
|
|
|
|
541 | WebSocketCommand::SyncPong { ping_id, client_timestamp } => {
|
|
| ^^^^^^^ help: try ignoring the field: `ping_id: _`
|
|
|
|
warning: unused variable: `token`
|
|
--> src/streaming/websocket.rs:786:9
|
|
|
|
|
786 | let token = params.token.or_else(|| {
|
|
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
|
|
|
|
warning: unused import: `AudioEffect`
|
|
--> src/audio/pipeline.rs:11:29
|
|
|
|
|
11 | use crate::audio::effects::{AudioEffect, EffectsChain};
|
|
| ^^^^^^^^^^^
|
|
|
|
warning: unused import: `Hasher`
|
|
--> src/cache/audio_cache.rs:3:23
|
|
|
|
|
3 | use std::hash::{Hash, Hasher};
|
|
| ^^^^^^
|
|
|
|
warning: unused import: `super`
|
|
--> src/structured_logging.rs:179:9
|
|
|
|
|
179 | use super::*;
|
|
| ^^^^^
|
|
|
|
warning: unused variable: `config`
|
|
--> src/codecs/mp3.rs:579:16
|
|
|
|
|
579 | pub fn new(config: DecoderConfig) -> Result<Self, AppError> {
|
|
| ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
|
|
|
|
warning: unused variable: `resource`
|
|
--> src/error.rs:449:34
|
|
|
|
|
449 | AppError::NotFound { resource } => StreamError::FileNotFound,
|
|
| ^^^^^^^^ help: try ignoring the field: `resource: _`
|
|
|
|
warning: unused variable: `err`
|
|
--> src/error.rs:513:13
|
|
|
|
|
513 | fn from(err: serde_json::Error) -> Self {
|
|
| ^^^ help: if this is intentional, prefix it with an underscore: `_err`
|
|
|
|
warning: type `Mp3Metadata` is more private than the item `Mp3EncoderImpl::set_metadata`
|
|
--> src/codecs/mp3.rs:368:5
|
|
|
|
|
368 | pub async fn set_metadata(&self, metadata: Mp3Metadata) -> Result<(), AppError> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Mp3EncoderImpl::set_metadata` is reachable at visibility `pub`
|
|
|
|
|
note: but type `Mp3Metadata` is only usable at visibility `pub(self)`
|
|
--> src/codecs/mp3.rs:249:1
|
|
|
|
|
249 | struct Mp3Metadata {
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
= note: `#[warn(private_interfaces)]` on by default
|
|
|
|
warning: type `Mp3EncoderStats` is more private than the item `Mp3EncoderImpl::get_stats`
|
|
--> src/codecs/mp3.rs:376:5
|
|
|
|
|
376 | pub async fn get_stats(&self) -> Mp3EncoderStats {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Mp3EncoderImpl::get_stats` is reachable at visibility `pub`
|
|
|
|
|
note: but type `Mp3EncoderStats` is only usable at visibility `pub(self)`
|
|
--> src/codecs/mp3.rs:264:1
|
|
|
|
|
264 | struct Mp3EncoderStats {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: type `Mp3DecoderStats` is more private than the item `Mp3DecoderImpl::get_stats`
|
|
--> src/codecs/mp3.rs:605:5
|
|
|
|
|
605 | pub async fn get_stats(&self) -> Mp3DecoderStats {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Mp3DecoderImpl::get_stats` is reachable at visibility `pub`
|
|
|
|
|
note: but type `Mp3DecoderStats` is only usable at visibility `pub(self)`
|
|
--> src/codecs/mp3.rs:281:1
|
|
|
|
|
281 | struct Mp3DecoderStats {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: type `Mp3StreamInfo` is more private than the item `Mp3DecoderImpl::get_stream_info`
|
|
--> src/codecs/mp3.rs:610:5
|
|
|
|
|
610 | pub async fn get_stream_info(&self) -> Option<Mp3StreamInfo> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Mp3DecoderImpl::get_stream_info` is reachable at visibility `pub`
|
|
|
|
|
note: but type `Mp3StreamInfo` is only usable at visibility `pub(self)`
|
|
--> src/codecs/mp3.rs:230:1
|
|
|
|
|
230 | struct Mp3StreamInfo {
|
|
| ^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: field `config` is never read
|
|
--> src/analytics/mod.rs:126:5
|
|
|
|
|
120 | pub struct AnalyticsEngine {
|
|
| --------------- field in this struct
|
|
...
|
|
126 | config: Arc<Config>,
|
|
| ^^^^^^
|
|
|
|
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: method `cleanup_old_sessions` is never used
|
|
--> src/analytics/mod.rs:668:14
|
|
|
|
|
129 | impl AnalyticsEngine {
|
|
| -------------------- method in this implementation
|
|
...
|
|
668 | async fn cleanup_old_sessions(&self) {
|
|
| ^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: fields `dry_wet_mix` and `performance_metrics` are never read
|
|
--> src/audio/effects.rs:43:5
|
|
|
|
|
39 | pub struct EffectsChain {
|
|
| ------------ fields in this struct
|
|
...
|
|
43 | dry_wet_mix: f32,
|
|
| ^^^^^^^^^^^
|
|
...
|
|
47 | performance_metrics: Arc<RwLock<EffectsPerformanceMetrics>>,
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: `EffectsChain` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `sample_rate` and `channels` are never read
|
|
--> src/audio/pipeline.rs:28:5
|
|
|
|
|
24 | pub struct AudioPipeline {
|
|
| ------------- fields in this struct
|
|
...
|
|
28 | sample_rate: u32,
|
|
| ^^^^^^^^^^^
|
|
29 | channels: u8,
|
|
| ^^^^^^^^
|
|
|
|
warning: fields `filter_coeffs` and `history` are never read
|
|
--> src/audio/realtime.rs:169:5
|
|
|
|
|
163 | pub struct AdaptiveResampler {
|
|
| ----------------- fields in this struct
|
|
...
|
|
169 | filter_coeffs: Vec<f32>,
|
|
| ^^^^^^^^^^^^^
|
|
170 | /// Historique pour interpolation
|
|
171 | history: VecDeque<f32>,
|
|
| ^^^^^^^
|
|
|
|
|
= note: `AdaptiveResampler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `adaptive_buffer`, `target_latency_ms`, `measured_latency_ms`, `latency_history`, and `pid_controller` are never read
|
|
--> src/audio/realtime.rs:197:5
|
|
|
|
|
195 | pub struct LatencyManager {
|
|
| -------------- fields in this struct
|
|
196 | /// Buffer adaptatif
|
|
197 | adaptive_buffer: RingBuffer<f32>,
|
|
| ^^^^^^^^^^^^^^^
|
|
198 | /// Latence cible
|
|
199 | target_latency_ms: f32,
|
|
| ^^^^^^^^^^^^^^^^^
|
|
200 | /// Latence mesurée
|
|
201 | measured_latency_ms: f32,
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
202 | /// Historique des latences
|
|
203 | latency_history: VecDeque<f32>,
|
|
| ^^^^^^^^^^^^^^^
|
|
204 | /// Contrôleur PID pour ajustement
|
|
205 | pid_controller: PIDController,
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
|
= note: `LatencyManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `psychoacoustic_model` and `bandwidth_extension` are never read
|
|
--> src/codecs/aac.rs:134:5
|
|
|
|
|
129 | struct AacEncoderState {
|
|
| --------------- fields in this struct
|
|
...
|
|
134 | psychoacoustic_model: PsychoacousticModel,
|
|
| ^^^^^^^^^^^^^^^^^^^^
|
|
135 | bandwidth_extension: BandwidthExtension,
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: `AacEncoderState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: field `spectral_data` is never read
|
|
--> src/codecs/aac.rs:145:5
|
|
|
|
|
140 | struct AacDecoderState {
|
|
| --------------- field in this struct
|
|
...
|
|
145 | spectral_data: SpectralData,
|
|
| ^^^^^^^^^^^^^
|
|
|
|
|
= note: `AacDecoderState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `masking_threshold`, `perceptual_entropy`, and `tonal_components` are never read
|
|
--> src/codecs/aac.rs:151:5
|
|
|
|
|
150 | struct PsychoacousticModel {
|
|
| ------------------- fields in this struct
|
|
151 | masking_threshold: Vec<f32>,
|
|
| ^^^^^^^^^^^^^^^^^
|
|
152 | perceptual_entropy: f32,
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
153 | tonal_components: Vec<TonalComponent>,
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: `PsychoacousticModel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `sbr_active`, `ps_active`, and `high_freq_reconstruction` are never read
|
|
--> src/codecs/aac.rs:159:5
|
|
|
|
|
158 | struct BandwidthExtension {
|
|
| ------------------ fields in this struct
|
|
159 | sbr_active: bool,
|
|
| ^^^^^^^^^^
|
|
160 | ps_active: bool,
|
|
| ^^^^^^^^^
|
|
161 | high_freq_reconstruction: Vec<f32>,
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: `BandwidthExtension` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: field `concealment_method` is never read
|
|
--> src/codecs/aac.rs:168:5
|
|
|
|
|
166 | struct ErrorConcealmentState {
|
|
| --------------------- field in this struct
|
|
167 | last_good_spectrum: Option<Vec<f32>>,
|
|
168 | concealment_method: AacConcealMethod,
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: `ErrorConcealmentState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `mdct_coefficients`, `scale_factors`, and `quantized_spectrum` are never read
|
|
--> src/codecs/aac.rs:175:5
|
|
|
|
|
174 | struct SpectralData {
|
|
| ------------ fields in this struct
|
|
175 | mdct_coefficients: Vec<f32>,
|
|
| ^^^^^^^^^^^^^^^^^
|
|
176 | scale_factors: Vec<u8>,
|
|
| ^^^^^^^^^^^^^
|
|
177 | quantized_spectrum: Vec<i16>,
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: `SpectralData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `frequency`, `amplitude`, and `phase` are never read
|
|
--> src/codecs/aac.rs:183:5
|
|
|
|
|
182 | struct TonalComponent {
|
|
| -------------- fields in this struct
|
|
183 | frequency: f32,
|
|
| ^^^^^^^^^
|
|
184 | amplitude: f32,
|
|
| ^^^^^^^^^
|
|
185 | phase: f32,
|
|
| ^^^^^
|
|
|
|
|
= note: `TonalComponent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `input_buffer` and `quality_preset` are never read
|
|
--> src/codecs/mp3.rs:34:5
|
|
|
|
|
26 | pub struct Mp3EncoderImpl {
|
|
| -------------- fields in this struct
|
|
...
|
|
34 | input_buffer: Arc<Mutex<Vec<f32>>>,
|
|
| ^^^^^^^^^^^^
|
|
35 | /// Quality preset utilisé
|
|
36 | quality_preset: Mp3QualityPreset,
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
|
= note: `Mp3EncoderImpl` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `output_buffer` and `frame_cache` are never read
|
|
--> src/codecs/mp3.rs:49:5
|
|
|
|
|
41 | pub struct Mp3DecoderImpl {
|
|
| -------------- fields in this struct
|
|
...
|
|
49 | output_buffer: Arc<Mutex<Vec<f32>>>,
|
|
| ^^^^^^^^^^^^^
|
|
50 | /// Cache des frames pour seeking
|
|
51 | frame_cache: Arc<RwLock<HashMap<u64, Mp3Frame>>>,
|
|
| ^^^^^^^^^^^
|
|
|
|
|
= note: `Mp3DecoderImpl` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `initialized`, `samples_encoded`, `bytes_generated`, `last_frame_timestamp`, and `internal_buffers` are never read
|
|
--> src/codecs/mp3.rs:141:5
|
|
|
|
|
139 | struct Mp3EncoderState {
|
|
| --------------- fields in this struct
|
|
140 | /// Initialized flag
|
|
141 | initialized: bool,
|
|
| ^^^^^^^^^^^
|
|
142 | /// Total samples encodés
|
|
143 | samples_encoded: u64,
|
|
| ^^^^^^^^^^^^^^^
|
|
144 | /// Total bytes générés
|
|
145 | bytes_generated: u64,
|
|
| ^^^^^^^^^^^^^^^
|
|
146 | /// Dernière frame encodée
|
|
147 | last_frame_timestamp: Option<Duration>,
|
|
| ^^^^^^^^^^^^^^^^^^^^
|
|
148 | /// Buffers internes LAME (simulation)
|
|
149 | internal_buffers: Vec<u8>,
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: `Mp3EncoderState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `initialized`, `total_samples`, `decode_buffer`, and `current_frame` are never read
|
|
--> src/codecs/mp3.rs:158:5
|
|
|
|
|
156 | struct Mp3DecoderState {
|
|
| --------------- fields in this struct
|
|
157 | /// Initialized flag
|
|
158 | initialized: bool,
|
|
| ^^^^^^^^^^^
|
|
...
|
|
162 | total_samples: Option<u64>,
|
|
| ^^^^^^^^^^^^^
|
|
...
|
|
166 | decode_buffer: Vec<f32>,
|
|
| ^^^^^^^^^^^^^
|
|
167 | /// Frame courante
|
|
168 | current_frame: Option<Mp3Frame>,
|
|
| ^^^^^^^^^^^^^
|
|
|
|
|
= note: `Mp3DecoderState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `audio_data`, `timestamp`, `bitrate`, and `header_info` are never read
|
|
--> src/codecs/mp3.rs:175:5
|
|
|
|
|
173 | struct Mp3Frame {
|
|
| -------- fields in this struct
|
|
174 | /// Données audio
|
|
175 | audio_data: Vec<f32>,
|
|
| ^^^^^^^^^^
|
|
176 | /// Timestamp de la frame
|
|
177 | timestamp: Duration,
|
|
| ^^^^^^^^^
|
|
178 | /// Bitrate de cette frame
|
|
179 | bitrate: u32,
|
|
| ^^^^^^^
|
|
180 | /// Information du header
|
|
181 | header_info: Mp3FrameHeader,
|
|
| ^^^^^^^^^^^
|
|
|
|
|
= note: `Mp3Frame` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
|
|
|
|
warning: multiple fields are never read
|
|
--> src/codecs/mp3.rs:188:9
|
|
|
|
|
186 | struct Mp3FrameHeader {
|
|
| -------------- fields in this struct
|
|
187 | /// Version MPEG
|
|
188 | pub mpeg_version: MpegVersion,
|
|
| ^^^^^^^^^^^^
|
|
189 | /// Layer
|
|
190 | pub layer: u8,
|
|
| ^^^^^
|
|
191 | /// Protection CRC
|
|
192 | pub crc_protection: bool,
|
|
| ^^^^^^^^^^^^^^
|
|
193 | /// Bitrate index
|
|
194 | pub bitrate_index: u8,
|
|
| ^^^^^^^^^^^^^
|
|
195 | /// Sample rate index
|
|
196 | pub samplerate_index: u8,
|
|
| ^^^^^^^^^^^^^^^^
|
|
197 | /// Padding
|
|
198 | pub padding: bool,
|
|
| ^^^^^^^
|
|
199 | /// Mode (stereo, joint stereo, etc.)
|
|
200 | pub channel_mode: ChannelMode,
|
|
| ^^^^^^^^^^^^
|
|
201 | /// Mode extension pour joint stereo
|
|
202 | pub mode_extension: u8,
|
|
| ^^^^^^^^^^^^^^
|
|
203 | /// Copyright
|
|
204 | pub copyright: bool,
|
|
| ^^^^^^^^^
|
|
205 | /// Original
|
|
206 | pub original: bool,
|
|
| ^^^^^^^^
|
|
207 | /// Emphasis
|
|
208 | pub emphasis: u8,
|
|
| ^^^^^^^^
|
|
|
|
|
= note: `Mp3FrameHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
|
|
|
|
warning: fields `average_bitrate`, `channels`, `duration`, `encoding_mode`, `has_id3`, and `encoder_info` are never read
|
|
--> src/codecs/mp3.rs:232:9
|
|
|
|
|
230 | struct Mp3StreamInfo {
|
|
| ------------- fields in this struct
|
|
231 | /// Bitrate moyen
|
|
232 | pub average_bitrate: u32,
|
|
| ^^^^^^^^^^^^^^^
|
|
...
|
|
236 | pub channels: u8,
|
|
| ^^^^^^^^
|
|
237 | /// Durée totale
|
|
238 | pub duration: Option<Duration>,
|
|
| ^^^^^^^^
|
|
239 | /// Mode d'encodage détecté
|
|
240 | pub encoding_mode: Mp3EncodingMode,
|
|
| ^^^^^^^^^^^^^
|
|
241 | /// Présence d'ID3 tags
|
|
242 | pub has_id3: bool,
|
|
| ^^^^^^^
|
|
243 | /// Version de l'encoder détectée
|
|
244 | pub encoder_info: Option<String>,
|
|
| ^^^^^^^^^^^^
|
|
|
|
|
= note: `Mp3StreamInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
|
|
|
|
warning: fields `frames_encoded`, `total_encoding_time`, `average_compression_ratio`, `average_bitrate`, `peak_cpu_usage`, and `encoding_errors` are never read
|
|
--> src/codecs/mp3.rs:266:9
|
|
|
|
|
264 | struct Mp3EncoderStats {
|
|
| --------------- fields in this struct
|
|
265 | /// Total frames encodées
|
|
266 | pub frames_encoded: u64,
|
|
| ^^^^^^^^^^^^^^
|
|
267 | /// Temps total d'encodage
|
|
268 | pub total_encoding_time: Duration,
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
269 | /// Ratio de compression moyen
|
|
270 | pub average_compression_ratio: f32,
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
271 | /// Bitrate réel moyen
|
|
272 | pub average_bitrate: f32,
|
|
| ^^^^^^^^^^^^^^^
|
|
273 | /// Peak utilisation CPU
|
|
274 | pub peak_cpu_usage: f32,
|
|
| ^^^^^^^^^^^^^^
|
|
275 | /// Erreurs d'encodage
|
|
276 | pub encoding_errors: u32,
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
|
= note: `Mp3EncoderStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
|
|
|
|
warning: fields `frames_decoded`, `total_decoding_time`, `recovered_errors`, `corrupted_frames`, and `peak_cpu_usage` are never read
|
|
--> src/codecs/mp3.rs:283:9
|
|
|
|
|
281 | struct Mp3DecoderStats {
|
|
| --------------- fields in this struct
|
|
282 | /// Total frames décodées
|
|
283 | pub frames_decoded: u64,
|
|
| ^^^^^^^^^^^^^^
|
|
284 | /// Temps total de décodage
|
|
285 | pub total_decoding_time: Duration,
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
286 | /// Erreurs de décodage récupérées
|
|
287 | pub recovered_errors: u32,
|
|
| ^^^^^^^^^^^^^^^^
|
|
288 | /// Frames corrompues détectées
|
|
289 | pub corrupted_frames: u32,
|
|
| ^^^^^^^^^^^^^^^^
|
|
290 | /// Peak utilisation CPU
|
|
291 | pub peak_cpu_usage: f32,
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
|
= note: `Mp3DecoderStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
|
|
|
|
warning: methods `optimize_config_for_preset`, `initialize_lame_encoder`, `encode_with_lame`, and `generate_id3v1_tag` are never used
|
|
--> src/codecs/mp3.rs:381:8
|
|
|
|
|
324 | impl Mp3EncoderImpl {
|
|
| ------------------- methods in this implementation
|
|
...
|
|
381 | fn optimize_config_for_preset(&mut self) {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
...
|
|
419 | async fn initialize_lame_encoder(&self) -> Result<(), AppError> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
|
...
|
|
443 | async fn encode_with_lame(&self, samples: &[f32]) -> Result<Vec<u8>, AppError> {
|
|
| ^^^^^^^^^^^^^^^^
|
|
...
|
|
509 | fn generate_id3v1_tag(&self, metadata: &Mp3Metadata) -> Vec<u8> {
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: methods `analyze_mp3_header`, `parse_frame_header`, `bitrate_from_index`, `samplerate_from_index`, and `decode_mp3_frame` are never used
|
|
--> src/codecs/mp3.rs:616:14
|
|
|
|
|
577 | impl Mp3DecoderImpl {
|
|
| ------------------- methods in this implementation
|
|
...
|
|
616 | async fn analyze_mp3_header(&self, data: &[u8]) -> Result<Mp3StreamInfo, AppError> {
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
...
|
|
656 | fn parse_frame_header(&self, header_bytes: &[u8]) -> Result<Mp3FrameHeader, AppError> {
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
...
|
|
709 | fn bitrate_from_index(&self, index: u8, version: MpegVersion) -> u32 {
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
...
|
|
734 | fn samplerate_from_index(&self, index: u8, version: MpegVersion) -> u32 {
|
|
| ^^^^^^^^^^^^^^^^^^^^^
|
|
...
|
|
758 | async fn decode_mp3_frame(&self, frame_data: &[u8]) -> Result<Mp3Frame, AppError> {
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
warning: fields `adaptation_rate` and `quality_history` are never read
|
|
--> src/codecs/opus.rs:146:5
|
|
|
|
|
143 | struct BandwidthAdaptation {
|
|
| ------------------- fields in this struct
|
|
...
|
|
146 | adaptation_rate: f32,
|
|
| ^^^^^^^^^^^^^^^
|
|
147 | quality_history: Vec<f32>,
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
|
= note: `BandwidthAdaptation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: method `adapt_bitrate` is never used
|
|
--> src/codecs/opus.rs:319:8
|
|
|
|
|
206 | impl OpusEncoderImpl {
|
|
| -------------------- method in this implementation
|
|
...
|
|
319 | fn adapt_bitrate(
|
|
| ^^^^^^^^^^^^^
|
|
|
|
warning: field `bandwidth_analyzer` is never read
|
|
--> src/core/buffer.rs:33:5
|
|
|
|
|
23 | pub struct BufferManager {
|
|
| ------------- field in this struct
|
|
...
|
|
33 | bandwidth_analyzer: Arc<BandwidthAnalyzer>,
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: `BufferManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: field `model` is never read
|
|
--> src/core/buffer.rs:209:5
|
|
|
|
|
205 | pub struct BufferPredictor {
|
|
| --------------- field in this struct
|
|
...
|
|
209 | model: Arc<RwLock<PredictionModel>>,
|
|
| ^^^^^
|
|
|
|
|
= note: `BufferPredictor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: field `analytics` is never read
|
|
--> src/core/stream.rs:28:5
|
|
|
|
|
20 | pub struct StreamManager {
|
|
| ------------- field in this struct
|
|
...
|
|
28 | analytics: Arc<StreamAnalytics>,
|
|
| ^^^^^^^^^
|
|
|
|
|
= note: `StreamManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `synchronized_clients`, `config`, and `timed_metadata` are never read
|
|
--> src/core/sync.rs:73:5
|
|
|
|
|
68 | pub struct StreamSynchronizer {
|
|
| ------------------ fields in this struct
|
|
...
|
|
73 | synchronized_clients: Arc<DashMap<Uuid, SynchronizedClient>>,
|
|
| ^^^^^^^^^^^^^^^^^^^^
|
|
...
|
|
77 | config: StreamSyncConfig,
|
|
| ^^^^^^
|
|
78 | /// Métadonnées temps réel (paroles, etc.)
|
|
79 | timed_metadata: Arc<RwLock<TimedMetadata>>,
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
|
= note: `StreamSynchronizer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `ntp_clients`, `time_offset`, and `sync_quality` are never read
|
|
--> src/core/sync.rs:88:5
|
|
|
|
|
84 | pub struct TimeServer {
|
|
| ---------- fields in this struct
|
|
...
|
|
88 | ntp_clients: Vec<String>,
|
|
| ^^^^^^^^^^^
|
|
89 | /// Décalage mesuré avec les serveurs externes
|
|
90 | time_offset: Arc<std::sync::atomic::AtomicI64>,
|
|
| ^^^^^^^^^^^
|
|
91 | /// Qualité de la synchronisation
|
|
92 | sync_quality: Arc<std::sync::atomic::AtomicU8>,
|
|
| ^^^^^^^^^^^^
|
|
|
|
|
= note: `TimeServer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `drift_measurements`, `compensations`, and `config` are never read
|
|
--> src/core/sync.rs:108:5
|
|
|
|
|
106 | pub struct DriftCompensator {
|
|
| ---------------- fields in this struct
|
|
107 | /// Mesures de drift par client
|
|
108 | drift_measurements: Arc<DashMap<Uuid, VecDeque<DriftMeasurement>>>,
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
109 | /// Compensation calculée par client
|
|
110 | compensations: Arc<DashMap<Uuid, DriftCompensation>>,
|
|
| ^^^^^^^^^^^^^
|
|
111 | /// Configuration
|
|
112 | config: DriftCompensatorConfig,
|
|
| ^^^^^^
|
|
|
|
|
= note: `DriftCompensator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `timed_events` and `max_size` are never read
|
|
--> src/core/sync.rs:189:5
|
|
|
|
|
185 | pub struct SyncBuffer {
|
|
| ---------- fields in this struct
|
|
...
|
|
189 | timed_events: VecDeque<TimedEvent>,
|
|
| ^^^^^^^^^^^^
|
|
190 | /// Configuration
|
|
191 | max_size: usize,
|
|
| ^^^^^^^^
|
|
|
|
|
= note: `SyncBuffer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
|
|
|
|
warning: method `calculate_stability_score` is never used
|
|
--> src/core/sync.rs:650:14
|
|
|
|
|
360 | impl SyncEngine {
|
|
| --------------- method in this implementation
|
|
...
|
|
650 | async fn calculate_stability_score(&self, client_id: Uuid) -> f32 {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: field `start_time` is never read
|
|
--> src/core/sync.rs:795:5
|
|
|
|
|
794 | pub struct MasterClock {
|
|
| ----------- field in this struct
|
|
795 | start_time: Instant,
|
|
| ^^^^^^^^^^
|
|
|
|
|
= note: `MasterClock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: fields `config` and `connection` are never read
|
|
--> src/event_bus.rs:30:5
|
|
|
|
|
29 | pub struct RabbitMQEventBus {
|
|
| ---------------- fields in this struct
|
|
30 | config: config::RabbitMQConfig, // Use the canonical config type
|
|
| ^^^^^^
|
|
31 | connection: Option<Connection>,
|
|
| ^^^^^^^^^^
|
|
|
|
warning: field `total_bytes` is never read
|
|
--> src/health/mod.rs:850:5
|
|
|
|
|
849 | struct DiskInfo {
|
|
| -------- field in this struct
|
|
850 | total_bytes: u64,
|
|
| ^^^^^^^^^^^
|
|
|
|
warning: field `grafana_manager` is never read
|
|
--> src/monitoring/mod.rs:78:5
|
|
|
|
|
75 | pub struct MonitoringManager {
|
|
| ----------------- field in this struct
|
|
...
|
|
78 | grafana_manager: Arc<GrafanaManager>,
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
|
= note: `MonitoringManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: field `config` is never read
|
|
--> src/monitoring/grafana_dashboards.rs:14:5
|
|
|
|
|
12 | pub struct GrafanaManager {
|
|
| -------------- field in this struct
|
|
13 | dashboards: Arc<RwLock<Vec<GrafanaDashboard>>>,
|
|
14 | config: GrafanaConfig,
|
|
| ^^^^^^
|
|
|
|
|
= note: `GrafanaManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: field `config` is never read
|
|
--> src/monitoring/tracing_module.rs:13:5
|
|
|
|
|
12 | pub struct TracingManager {
|
|
| -------------- field in this struct
|
|
13 | config: TracingConfig,
|
|
| ^^^^^^
|
|
|
|
|
= note: `TracingManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: methods `update_quality_decisions`, `get_lower_quality`, and `get_higher_quality` are never used
|
|
--> src/streaming/adaptive.rs:272:14
|
|
|
|
|
177 | impl AdaptiveStreamingManager {
|
|
| ----------------------------- methods in this implementation
|
|
...
|
|
272 | async fn update_quality_decisions(&self) {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
|
...
|
|
322 | fn get_lower_quality(&self, current_quality: &str) -> Option<&AdaptiveProfile> {
|
|
| ^^^^^^^^^^^^^^^^^
|
|
...
|
|
337 | fn get_higher_quality(&self, current_quality: &str) -> Option<&AdaptiveProfile> {
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: field `stats_collector` is never read
|
|
--> src/streaming/live_recording.rs:292:5
|
|
|
|
|
287 | pub struct LiveRecordingManager {
|
|
| -------------------- field in this struct
|
|
...
|
|
292 | stats_collector: Arc<RwLock<HashMap<String, RecordingStats>>>,
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
|
= note: `LiveRecordingManager` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: field `stats_tx` is never read
|
|
--> src/streaming/webrtc.rs:162:5
|
|
|
|
|
158 | pub struct WebRTCManager {
|
|
| ------------- field in this struct
|
|
...
|
|
162 | stats_tx: mpsc::Sender<PeerStats>,
|
|
| ^^^^^^^^
|
|
|
|
|
= note: `WebRTCManager` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: comparison is useless due to type limits
|
|
--> src/config/mod.rs:604:30
|
|
|
|
|
604 | if self.port == 0 || self.port > 65535 {
|
|
| ^^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: `#[warn(unused_comparisons)]` on by default
|
|
|
|
warning: `stream_server` (lib) generated 103 warnings (run `cargo fix --lib -p stream_server` to apply 34 suggestions)
|
|
Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.43s
|
|
warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.25.4, sqlx-postgres v0.7.4
|
|
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
|