veza/veza-stream-server/test_output.txt

1089 lines
38 KiB
Text
Raw Permalink Normal View History

Compiling 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 import: `std::time::Duration`
--> src/cache/audio_cache.rs:330:9
|
330 | use std::time::Duration;
| ^^^^^^^^^^^^^^^^^^^
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 import: `axum::extract::ws::WebSocketUpgrade`
--> src/streaming/websocket.rs:813:9
|
813 | use axum::extract::ws::WebSocketUpgrade;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `axum::http::HeaderMap`
--> src/streaming/websocket.rs:814:9
|
814 | use axum::http::HeaderMap;
| ^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `std::sync::Arc`
--> src/streaming/websocket.rs:815:9
|
815 | use std::sync::Arc;
| ^^^^^^^^^^^^^^
warning: unused import: `tokio::sync::broadcast`
--> src/streaming/websocket_transport.rs:57:9
|
57 | use tokio::sync::broadcast;
| ^^^^^^^^^^^^^^^^^^^^^^
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 imports: `Duration as TokioDuration` and `sleep`
--> src/utils/metrics.rs:433:23
|
433 | use tokio::time::{sleep, Duration as TokioDuration};
| ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^
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 import: `super::*`
--> src/lib.rs:148:9
|
148 | use super::*;
| ^^^^^^^^
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: `master_time`
--> src/core/sync.rs:451:9
|
451 | master_time: MasterTime,
| ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_master_time`
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:363:43
|
363 | ... Message::Ping(data) => {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
warning: unused variable: `conn`
--> src/streaming/websocket.rs:365:45
|
365 | ... 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:317:13
|
317 | 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:532:42
|
532 | WebSocketCommand::SyncPong { ping_id, client_timestamp } => {
| ^^^^^^^ help: try ignoring the field: `ping_id: _`
warning: unused variable: `token`
--> src/streaming/websocket.rs:777:9
|
777 | 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 `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:27:5
|
19 | pub struct StreamManager {
| ------------- field in this struct
...
27 | analytics: Arc<StreamAnalytics>,
| ^^^^^^^^^
|
= note: `StreamManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
warning: fields `config` and `timed_metadata` are never read
--> src/core/sync.rs:70:5
|
61 | pub struct StreamSynchronizer {
| ------------------ fields in this struct
...
70 | config: StreamSyncConfig,
| ^^^^^^
71 | /// Métadonnées temps réel (paroles, etc.)
72 | 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:81:5
|
77 | pub struct TimeServer {
| ---------- fields in this struct
...
81 | ntp_clients: Vec<String>,
| ^^^^^^^^^^^
82 | /// Décalage mesuré avec les serveurs externes
83 | time_offset: Arc<std::sync::atomic::AtomicI64>,
| ^^^^^^^^^^^
84 | /// Qualité de la synchronisation
85 | 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 `compensations` and `config` are never read
--> src/core/sync.rs:103:5
|
99 | pub struct DriftCompensator {
| ---------------- fields in this struct
...
103 | compensations: Arc<DashMap<Uuid, DriftCompensation>>,
| ^^^^^^^^^^^^^
104 | /// Configuration
105 | 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:195:5
|
191 | pub struct SyncBuffer {
| ---------- fields in this struct
...
195 | timed_events: VecDeque<TimedEvent>,
| ^^^^^^^^^^^^
196 | /// Configuration
197 | max_size: usize,
| ^^^^^^^^
|
= note: `SyncBuffer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: field `start_time` is never read
--> src/core/sync.rs:752:5
|
751 | pub struct MasterClock {
| ----------- field in this struct
752 | 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 test) generated 104 warnings (run `cargo fix --lib -p stream_server --tests` to apply 40 suggestions)
Finished `test` profile [unoptimized + debuginfo] target(s) in 6.73s
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`
Running unittests src/lib.rs (target/debug/deps/stream_server-c10365a7417b13f6)
running 1 test
test streaming::websocket_transport::tests::test_send_adjustment_sends_websocket_event ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 97 filtered out; finished in 0.00s