You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After upgrading Jellyfin to 10.9.z and migrating to the DLNA plugin, I've copied my /config/dlna/user directory over to /plugins/configurations/dlna/user and I'm running into issues with one of my profiles (created using the Web interface in 10.8.z).
[2024-05-26 21:45:23.804 +00:00] [ERR] [49] Jellyfin.Plugin.Dlna.DlnaManager: Error parsing profile file: "/config/plugins/configurations/dlna/user/The Frame 2023.xml"
System.InvalidOperationException: There is an error in XML document (53, 88).
---> System.InvalidOperationException: Instance validation error: 'Http' is not a valid value for MediaStreamProtocol.
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderDlnaDeviceProfile.Read5_MediaStreamProtocol(String s)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderDlnaDeviceProfile.Read11_TranscodingProfile(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderDlnaDeviceProfile.Read23_DlnaDeviceProfile(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderDlnaDeviceProfile.Read24_Profile()
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader)
at Emby.Server.Implementations.Serialization.MyXmlSerializer.DeserializeFromStream(Type type, Stream stream)
at Emby.Server.Implementations.Serialization.MyXmlSerializer.DeserializeFromFile(Type type, String file)
at Jellyfin.Plugin.Dlna.DlnaManager.ParseProfileFile(String path, DeviceProfileType type)
In the TranscodingProfiles section of the profile, there are problematic TranscodingProfile entries with protocol attribute set to an empty string. The 10.8.z interface for creating profiles generated profiles with such entries when the protocol input field is empty (rather than omitting the protocol XML attribute), so these should be accepted for backwards compatibility.
As a workaround, I tried editing the profile to omit the protocol attribute (and other empty options):
[2024-05-26 21:45:23.804 +00:00] [ERR] [49] Jellyfin.Plugin.Dlna.DlnaManager: Error parsing profile file: "/config/plugins/configurations/dlna/user/The Frame 2023.xml"
System.InvalidOperationException: There is an error in XML document (53, 88).
---> System.InvalidOperationException: Instance validation error: 'Http' is not a valid value for MediaStreamProtocol.
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderDlnaDeviceProfile.Read5_MediaStreamProtocol(String s)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderDlnaDeviceProfile.Read11_TranscodingProfile(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderDlnaDeviceProfile.Read23_DlnaDeviceProfile(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderDlnaDeviceProfile.Read24_Profile()
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader)
at Emby.Server.Implementations.Serialization.MyXmlSerializer.DeserializeFromStream(Type type, Stream stream)
at Emby.Server.Implementations.Serialization.MyXmlSerializer.DeserializeFromFile(Type type, String file)
at Jellyfin.Plugin.Dlna.DlnaManager.ParseProfileFile(String path, DeviceProfileType type)
You might want to manually edit your custom profiles for now. I've been digging through the code to see if im capable of adding profile editing functionality back in and it looks like a significant undertaking for myself, might be do-able though since some of the controls still exist in the plugin code.
had a similar error with the protocol, but my file contained and empty protocol="" attribute which wasn't valid either. Removing the entire attribute manually helped.
After upgrading Jellyfin to 10.9.z and migrating to the DLNA plugin, I've copied my
/config/dlna/user
directory over to/plugins/configurations/dlna/user
and I'm running into issues with one of my profiles (created using the Web interface in 10.8.z).This is my profile:
First, I ran into this issue:
In the
TranscodingProfiles
section of the profile, there are problematicTranscodingProfile
entries withprotocol
attribute set to an empty string. The 10.8.z interface for creating profiles generated profiles with such entries when the protocol input field is empty (rather than omitting theprotocol
XML attribute), so these should be accepted for backwards compatibility.As a workaround, I tried editing the profile to omit the
protocol
attribute (and other empty options):But this triggered a different error:
It seems like
protocol
is expecting a lower-case"http"
instead of the capitalized"Http"
. TheMediaServerProtocol
enum (defined here) has lower-case members since jellyfin/jellyfin#11126, but before that, it had capitalized members when it was introduced in jellyfin/jellyfin#10153.As a second workaround, I've edited the profile to change
protocol="Http"
toprotocol="http"
and it worked.Since these profiles were generated by stable versions of Jellyfin, they probably should be supported for backwards compatibility.
The text was updated successfully, but these errors were encountered: