feat: add jello-types crate and update dependencies with backtrace support
This commit is contained in:
@@ -77,7 +77,7 @@ pub struct ActivityLogEntryQueryResult {
|
||||
#[serde(rename = "StartIndex")]
|
||||
pub start_index: i32,
|
||||
}
|
||||
/** Activity log entry start message.
|
||||
/** Activity log entry start message.
|
||||
Data is the timing data encoded as "$initialDelay,$interval" in ms.*/
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
pub struct ActivityLogEntryStartMessage {
|
||||
@@ -290,7 +290,7 @@ pub struct AuthenticationResult {
|
||||
#[serde(rename = "ServerId")]
|
||||
pub server_id: Option<String>,
|
||||
}
|
||||
/** This is strictly used as a data transfer object from the api layer.
|
||||
/** This is strictly used as a data transfer object from the api layer.
|
||||
This holds information about a BaseItem in a format that is convenient for the client.*/
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
pub struct BaseItemDto {
|
||||
@@ -565,8 +565,8 @@ pub struct BaseItemDto {
|
||||
/// Gets or sets the series thumb image tag.
|
||||
#[serde(rename = "SeriesThumbImageTag")]
|
||||
pub series_thumb_image_tag: Option<String>,
|
||||
/** Gets or sets the blurhashes for the image tags.
|
||||
Maps image type to dictionary mapping image tag to blurhash value.*/
|
||||
/** Gets or sets the blurhashes for the image tags.
|
||||
Maps image type to dictionary mapping image tag to blurhash value.*/
|
||||
#[serde(rename = "ImageBlurHashes")]
|
||||
pub image_blur_hashes: BaseItemDtoImageBlurHashes,
|
||||
/// Gets or sets the series studio.
|
||||
@@ -590,7 +590,10 @@ pub struct BaseItemDto {
|
||||
/// Gets or sets the trickplay manifest.
|
||||
#[serde(rename = "Trickplay")]
|
||||
pub trickplay: Option<
|
||||
std::collections::HashMap<String, Option<std::collections::HashMap<String, TrickplayInfo>>>,
|
||||
std::collections::HashMap<
|
||||
String,
|
||||
Option<std::collections::HashMap<String, TrickplayInfo>>,
|
||||
>,
|
||||
>,
|
||||
/// Gets or sets the type of the location.
|
||||
#[serde(rename = "LocationType")]
|
||||
@@ -721,7 +724,7 @@ pub struct BaseItemDto {
|
||||
#[serde(rename = "CurrentProgram")]
|
||||
pub current_program: Option<Box<BaseItemDto>>,
|
||||
}
|
||||
/** Gets or sets the blurhashes for the image tags.
|
||||
/** Gets or sets the blurhashes for the image tags.
|
||||
Maps image type to dictionary mapping image tag to blurhash value.*/
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
pub struct BaseItemDtoImageBlurHashes {
|
||||
@@ -1275,11 +1278,11 @@ pub struct DeviceOptionsDto {
|
||||
#[serde(rename = "CustomName")]
|
||||
pub custom_name: Option<String>,
|
||||
}
|
||||
/** A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.
|
||||
<br />
|
||||
Specifically, it defines the supported <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles">containers</see> and
|
||||
<see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles">codecs</see> (video and/or audio, including codec profiles and levels)
|
||||
the device is able to direct play (without transcoding or remuxing),
|
||||
/** A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.
|
||||
<br />
|
||||
Specifically, it defines the supported <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles">containers</see> and
|
||||
<see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles">codecs</see> (video and/or audio, including codec profiles and levels)
|
||||
the device is able to direct play (without transcoding or remuxing),
|
||||
as well as which <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles">containers/codecs to transcode to</see> in case it isn't.*/
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
pub struct DeviceProfile {
|
||||
@@ -1522,7 +1525,9 @@ pub struct EncodingOptions {
|
||||
pub hardware_decoding_codecs: Option<Vec<String>>,
|
||||
/// Gets or sets the file extensions on-demand metadata based keyframe extraction is enabled for.
|
||||
#[serde(rename = "AllowOnDemandMetadataBasedKeyframeExtractionForExtensions")]
|
||||
pub allow_on_demand_metadata_based_keyframe_extraction_for_extensions: Option<Vec<String>>,
|
||||
pub allow_on_demand_metadata_based_keyframe_extraction_for_extensions: Option<
|
||||
Vec<String>,
|
||||
>,
|
||||
}
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
pub struct EndPointInfo {
|
||||
@@ -1540,10 +1545,10 @@ pub struct ExternalIdInfo {
|
||||
/// Gets or sets the unique key for this id. This key should be unique across all providers.
|
||||
#[serde(rename = "Key")]
|
||||
pub key: String,
|
||||
/** Gets or sets the specific media type for this id. This is used to distinguish between the different
|
||||
external id types for providers with multiple ids.
|
||||
A null value indicates there is no specific media type associated with the external id, or this is the
|
||||
default id for the external provider so there is no need to specify a type.*/
|
||||
/** Gets or sets the specific media type for this id. This is used to distinguish between the different
|
||||
external id types for providers with multiple ids.
|
||||
A null value indicates there is no specific media type associated with the external id, or this is the
|
||||
default id for the external provider so there is no need to specify a type.*/
|
||||
#[serde(rename = "Type")]
|
||||
pub _type: Option<ExternalIdMediaType>,
|
||||
/// Gets or sets the URL format string.
|
||||
@@ -2438,8 +2443,8 @@ pub struct MediaSourceInfo {
|
||||
pub size: Option<i64>,
|
||||
#[serde(rename = "Name")]
|
||||
pub name: Option<String>,
|
||||
/** Gets or sets a value indicating whether the media is remote.
|
||||
Differentiate internet url vs local network.*/
|
||||
/** Gets or sets a value indicating whether the media is remote.
|
||||
Differentiate internet url vs local network.*/
|
||||
#[serde(rename = "IsRemote")]
|
||||
pub is_remote: bool,
|
||||
#[serde(rename = "ETag")]
|
||||
@@ -2500,8 +2505,8 @@ pub struct MediaSourceInfo {
|
||||
pub required_http_headers: Option<std::collections::HashMap<String, Option<String>>>,
|
||||
#[serde(rename = "TranscodingUrl")]
|
||||
pub transcoding_url: Option<String>,
|
||||
/** Media streaming protocol.
|
||||
Lowercase for backwards compatibility.*/
|
||||
/** Media streaming protocol.
|
||||
Lowercase for backwards compatibility.*/
|
||||
#[serde(rename = "TranscodingSubProtocol")]
|
||||
pub transcoding_sub_protocol: MediaStreamProtocol,
|
||||
#[serde(rename = "TranscodingContainer")]
|
||||
@@ -2651,9 +2656,9 @@ pub struct MediaStream {
|
||||
/// Gets or sets the real frame rate.
|
||||
#[serde(rename = "RealFrameRate")]
|
||||
pub real_frame_rate: Option<f32>,
|
||||
/** Gets the framerate used as reference.
|
||||
Prefer AverageFrameRate, if that is null or an unrealistic value
|
||||
then fallback to RealFrameRate.*/
|
||||
/** Gets the framerate used as reference.
|
||||
Prefer AverageFrameRate, if that is null or an unrealistic value
|
||||
then fallback to RealFrameRate.*/
|
||||
#[serde(rename = "ReferenceFrameRate")]
|
||||
pub reference_frame_rate: Option<f32>,
|
||||
/// Gets or sets the profile.
|
||||
@@ -2714,8 +2719,8 @@ pub struct MediaUpdateInfoPathDto {
|
||||
/// Gets or sets media path.
|
||||
#[serde(rename = "Path")]
|
||||
pub path: Option<String>,
|
||||
/** Gets or sets media update type.
|
||||
Created, Modified, Deleted.*/
|
||||
/** Gets or sets media update type.
|
||||
Created, Modified, Deleted.*/
|
||||
#[serde(rename = "UpdateType")]
|
||||
pub update_type: Option<String>,
|
||||
}
|
||||
@@ -2963,8 +2968,8 @@ pub struct NetworkConfiguration {
|
||||
/// Gets or sets a value indicating whether the published server uri is based on information in HTTP requests.
|
||||
#[serde(rename = "EnablePublishedServerUriByRequest")]
|
||||
pub enable_published_server_uri_by_request: bool,
|
||||
/** Gets or sets the PublishedServerUriBySubnet
|
||||
Gets or sets PublishedServerUri to advertise for specific subnets.*/
|
||||
/** Gets or sets the PublishedServerUriBySubnet
|
||||
Gets or sets PublishedServerUri to advertise for specific subnets.*/
|
||||
#[serde(rename = "PublishedServerUriBySubnet")]
|
||||
pub published_server_uri_by_subnet: Vec<String>,
|
||||
/// Gets or sets the filter for remote IP connectivity. Used in conjunction with <seealso cref="P:MediaBrowser.Common.Net.NetworkConfiguration.IsRemoteIPFilterBlacklist" />.
|
||||
@@ -3027,12 +3032,12 @@ pub struct OpenLiveStreamDto {
|
||||
/// Gets or sets a value indicating whether always burn in subtitles when transcoding.
|
||||
#[serde(rename = "AlwaysBurnInSubtitleWhenTranscoding")]
|
||||
pub always_burn_in_subtitle_when_transcoding: Option<bool>,
|
||||
/** A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.
|
||||
<br />
|
||||
Specifically, it defines the supported <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles">containers</see> and
|
||||
<see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles">codecs</see> (video and/or audio, including codec profiles and levels)
|
||||
the device is able to direct play (without transcoding or remuxing),
|
||||
as well as which <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles">containers/codecs to transcode to</see> in case it isn't.*/
|
||||
/** A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.
|
||||
<br />
|
||||
Specifically, it defines the supported <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles">containers</see> and
|
||||
<see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles">codecs</see> (video and/or audio, including codec profiles and levels)
|
||||
the device is able to direct play (without transcoding or remuxing),
|
||||
as well as which <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles">containers/codecs to transcode to</see> in case it isn't.*/
|
||||
#[serde(rename = "DeviceProfile")]
|
||||
pub device_profile: Option<DeviceProfile>,
|
||||
/// Gets or sets the device play protocols.
|
||||
@@ -3067,8 +3072,8 @@ pub struct PackageInfo {
|
||||
/// Gets or sets the category.
|
||||
#[serde(rename = "category")]
|
||||
pub category: String,
|
||||
/** Gets or sets the guid of the assembly associated with this plugin.
|
||||
This is used to identify the proper item for automatic updates.*/
|
||||
/** Gets or sets the guid of the assembly associated with this plugin.
|
||||
This is used to identify the proper item for automatic updates.*/
|
||||
#[serde(rename = "guid")]
|
||||
pub guid: uuid::Uuid,
|
||||
/// Gets or sets the versions.
|
||||
@@ -3186,12 +3191,12 @@ pub struct PlaybackInfoDto {
|
||||
/// Gets or sets the live stream id.
|
||||
#[serde(rename = "LiveStreamId")]
|
||||
pub live_stream_id: Option<String>,
|
||||
/** A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.
|
||||
<br />
|
||||
Specifically, it defines the supported <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles">containers</see> and
|
||||
<see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles">codecs</see> (video and/or audio, including codec profiles and levels)
|
||||
the device is able to direct play (without transcoding or remuxing),
|
||||
as well as which <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles">containers/codecs to transcode to</see> in case it isn't.*/
|
||||
/** A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.
|
||||
<br />
|
||||
Specifically, it defines the supported <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles">containers</see> and
|
||||
<see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles">codecs</see> (video and/or audio, including codec profiles and levels)
|
||||
the device is able to direct play (without transcoding or remuxing),
|
||||
as well as which <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles">containers/codecs to transcode to</see> in case it isn't.*/
|
||||
#[serde(rename = "DeviceProfile")]
|
||||
pub device_profile: Option<DeviceProfile>,
|
||||
/// Gets or sets a value indicating whether to enable direct play.
|
||||
@@ -4036,7 +4041,7 @@ pub struct ScheduledTasksInfoMessage {
|
||||
#[serde(rename = "MessageType")]
|
||||
pub message_type: SessionMessageType,
|
||||
}
|
||||
/** Scheduled tasks info start message.
|
||||
/** Scheduled tasks info start message.
|
||||
Data is the timing data encoded as "$initialDelay,$interval" in ms.*/
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
pub struct ScheduledTasksInfoStartMessage {
|
||||
@@ -4387,8 +4392,8 @@ pub struct ServerConfiguration {
|
||||
/// Gets or sets the last known version that was ran using the configuration.
|
||||
#[serde(rename = "PreviousVersion")]
|
||||
pub previous_version: Option<String>,
|
||||
/** Gets or sets the stringified PreviousVersion to be stored/loaded,
|
||||
because System.Version itself isn't xml-serializable.*/
|
||||
/** Gets or sets the stringified PreviousVersion to be stored/loaded,
|
||||
because System.Version itself isn't xml-serializable.*/
|
||||
#[serde(rename = "PreviousVersionStr")]
|
||||
pub previous_version_str: Option<String>,
|
||||
/// Gets or sets a value indicating whether to enable prometheus metrics exporting.
|
||||
@@ -4440,13 +4445,13 @@ pub struct ServerConfiguration {
|
||||
/// Gets or sets the remaining minutes of a book that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched.
|
||||
#[serde(rename = "MaxAudiobookResume")]
|
||||
pub max_audiobook_resume: i32,
|
||||
/** Gets or sets the threshold in minutes after a inactive session gets closed automatically.
|
||||
If set to 0 the check for inactive sessions gets disabled.*/
|
||||
/** Gets or sets the threshold in minutes after a inactive session gets closed automatically.
|
||||
If set to 0 the check for inactive sessions gets disabled.*/
|
||||
#[serde(rename = "InactiveSessionThreshold")]
|
||||
pub inactive_session_threshold: i32,
|
||||
/** Gets or sets the delay in seconds that we will wait after a file system change to try and discover what has been added/removed
|
||||
Some delay is necessary with some items because their creation is not atomic. It involves the creation of several
|
||||
different directories and files.*/
|
||||
/** Gets or sets the delay in seconds that we will wait after a file system change to try and discover what has been added/removed
|
||||
Some delay is necessary with some items because their creation is not atomic. It involves the creation of several
|
||||
different directories and files.*/
|
||||
#[serde(rename = "LibraryMonitorDelay")]
|
||||
pub library_monitor_delay: i32,
|
||||
/// Gets or sets the duration in seconds that we will wait after a library updated event before executing the library changed notification.
|
||||
@@ -4665,7 +4670,7 @@ pub struct SessionsMessage {
|
||||
#[serde(rename = "MessageType")]
|
||||
pub message_type: SessionMessageType,
|
||||
}
|
||||
/** Sessions start message.
|
||||
/** Sessions start message.
|
||||
Data is the timing data encoded as "$initialDelay,$interval" in ms.*/
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
pub struct SessionsStartMessage {
|
||||
@@ -5324,7 +5329,7 @@ pub struct TranscodingInfo {
|
||||
#[serde(rename = "TranscodeReasons")]
|
||||
pub transcode_reasons: Vec<TranscodeReason>,
|
||||
}
|
||||
/** A class for transcoding profile information.
|
||||
/** A class for transcoding profile information.
|
||||
Note for client developers: Conditions defined in MediaBrowser.Model.Dlna.CodecProfile has higher priority and can override values defined here.*/
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
pub struct TranscodingProfile {
|
||||
@@ -5414,8 +5419,8 @@ pub struct TrickplayOptions {
|
||||
/// Gets or sets a value indicating whether or not to use HW accelerated MJPEG encoding.
|
||||
#[serde(rename = "EnableHwEncoding")]
|
||||
pub enable_hw_encoding: bool,
|
||||
/** Gets or sets a value indicating whether to only extract key frames.
|
||||
Significantly faster, but is not compatible with all decoders and/or video files.*/
|
||||
/** Gets or sets a value indicating whether to only extract key frames.
|
||||
Significantly faster, but is not compatible with all decoders and/or video files.*/
|
||||
#[serde(rename = "EnableKeyFrameOnlyExtraction")]
|
||||
pub enable_key_frame_only_extraction: bool,
|
||||
/// Gets or sets the behavior used by trickplay provider on library scan/update.
|
||||
@@ -5706,8 +5711,8 @@ pub struct UserDto {
|
||||
/// Gets or sets the server identifier.
|
||||
#[serde(rename = "ServerId")]
|
||||
pub server_id: Option<String>,
|
||||
/** Gets or sets the name of the server.
|
||||
This is not used by the server and is for client-side usage only.*/
|
||||
/** Gets or sets the name of the server.
|
||||
This is not used by the server and is for client-side usage only.*/
|
||||
#[serde(rename = "ServerName")]
|
||||
pub server_name: Option<String>,
|
||||
/// Gets or sets the id.
|
||||
@@ -7009,7 +7014,7 @@ pub enum MediaSourceType {
|
||||
#[serde(rename = "Placeholder")]
|
||||
Placeholder,
|
||||
}
|
||||
/** Media streaming protocol.
|
||||
/** Media streaming protocol.
|
||||
Lowercase for backwards compatibility.*/
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
pub enum MediaStreamProtocol {
|
||||
|
||||
@@ -55,7 +55,7 @@ impl JellyfinClient {
|
||||
|
||||
pub fn pre_authenticated(token: impl AsRef<str>, config: JellyfinConfig) -> Result<Self> {
|
||||
let auth_header = core::iter::once((
|
||||
reqwest::header::HeaderName::from_static("X-Emby-Authorization"),
|
||||
reqwest::header::HeaderName::from_static("x-emby-authorization"),
|
||||
reqwest::header::HeaderValue::from_str(&format!(
|
||||
"MediaBrowser Client=\"{}\", Device=\"{}\", DeviceId=\"{}\", Version=\"{}\"",
|
||||
config.client_name, config.device_name, config.device_id, config.version
|
||||
|
||||
Reference in New Issue
Block a user