diff --git a/src/addon_transport/http_transport/legacy/mod.rs b/src/addon_transport/http_transport/legacy/mod.rs index b3c6c2cc1..3d84096fc 100644 --- a/src/addon_transport/http_transport/legacy/mod.rs +++ b/src/addon_transport/http_transport/legacy/mod.rs @@ -1,5 +1,7 @@ use crate::addon_transport::AddonTransport; -use crate::constants::{BASE64, VIDEO_HASH_EXTRA_PROP, VIDEO_SIZE_EXTRA_PROP}; +use crate::constants::{ + BASE64, VIDEO_FILENAME_EXTRA_PROP, VIDEO_HASH_EXTRA_PROP, VIDEO_SIZE_EXTRA_PROP, +}; use crate::runtime::{ConditionalSend, Env, EnvError, EnvFutureExt, TryEnvFuture}; use crate::types::addon::{Manifest, ResourcePath, ResourceResponse}; use crate::types::resource::{MetaItem, MetaItemPreview, Stream, Subtitles}; @@ -219,6 +221,14 @@ fn build_legacy_req(transport_url: &Url, path: &ResourcePath) -> Result return Err(LegacyErr::UnsupportedRequest.into()), diff --git a/src/constants.rs b/src/constants.rs index 777398b92..0b9403ddb 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -88,6 +88,12 @@ lazy_static! { options: vec![], options_limit: OptionsLimit::default(), }; + pub static ref VIDEO_FILENAME_EXTRA_PROP: ExtraProp = ExtraProp { + name: "filename".to_owned(), + is_required: false, + options: vec![], + options_limit: OptionsLimit::default(), + }; pub static ref LAST_VIDEOS_IDS_EXTRA_PROP: ExtraProp = ExtraProp { name: "lastVideosIds".to_owned(), is_required: false, diff --git a/src/models/player.rs b/src/models/player.rs index 0577929fb..e93b88943 100644 --- a/src/models/player.rs +++ b/src/models/player.rs @@ -1,7 +1,8 @@ use std::marker::PhantomData; use crate::constants::{ - CREDITS_THRESHOLD_COEF, VIDEO_HASH_EXTRA_PROP, VIDEO_SIZE_EXTRA_PROP, WATCHED_THRESHOLD_COEF, + CREDITS_THRESHOLD_COEF, VIDEO_FILENAME_EXTRA_PROP, VIDEO_HASH_EXTRA_PROP, + VIDEO_SIZE_EXTRA_PROP, WATCHED_THRESHOLD_COEF, }; use crate::models::common::{ eq_update, resource_update, resources_update_with_vector_content, Loadable, ResourceAction, @@ -59,6 +60,7 @@ pub struct AnalyticsContext { pub struct VideoParams { pub hash: Option, pub size: Option, + pub filename: Option, } #[derive(Clone, PartialEq, Eq, Serialize, Deserialize, Debug)] @@ -860,7 +862,8 @@ fn subtitles_update( .extend_one( &VIDEO_SIZE_EXTRA_PROP, video_params.size.as_ref().map(|size| size.to_string()), - ), + ) + .extend_one(&VIDEO_FILENAME_EXTRA_PROP, video_params.filename.to_owned()), ..subtitles_path.to_owned() }), addons,