Gerrit507 24 Posted February 26, 2018 Share Posted February 26, 2018 (edited) No it needs image/png, image/jpeg, etc. We don't try and detect what kind of image it is. How did it work before then? btw: Do you have any news on the recording issue? Are those two bugs probably related? Edited February 26, 2018 by Gerrit507 Link to comment Share on other sites More sharing options...
Luke 37022 Posted February 26, 2018 Share Posted February 26, 2018 A while ago Tolotos was using .net graphics api's to examine the images, but those api's are no longer available in .net core. i advised against it anyway. just force the supplier to tell you what kind of image it is and it will perform much better. Link to comment Share on other sites More sharing options...
Gerrit507 24 Posted February 26, 2018 Share Posted February 26, 2018 A while ago Tolotos was using .net graphics api's to examine the images, but those api's are no longer available in .net core. i advised against it anyway. just force the supplier to tell you what kind of image it is and it will perform much better. I'm having a lot of fun with .net core, too :D Did you read my other questions? Link to comment Share on other sites More sharing options...
Luke 37022 Posted February 26, 2018 Share Posted February 26, 2018 I don't know. I haven't seen a log file related to the recordings yet. Link to comment Share on other sites More sharing options...
Gerrit507 24 Posted February 26, 2018 Share Posted February 26, 2018 (edited) I don't know. I haven't seen a log file related to the recordings yet. Ok here you go. What I did: 1) I stopped emby 2) Made a short recording in tvheadend 3) started emby 4) accessed emby webinterface 5) emby crashes server-63655274236.txt Edited February 26, 2018 by Gerrit507 Link to comment Share on other sites More sharing options...
Luke 37022 Posted February 26, 2018 Share Posted February 26, 2018 Well I'm sure the crash is in the plugin. I don't really know how i can help with that part of things. does tvheadend really not have a plain http api? Link to comment Share on other sites More sharing options...
Luke 37022 Posted February 26, 2018 Share Posted February 26, 2018 What you could do is add more logging to the plugin so that we can see how far it gets. Link to comment Share on other sites More sharing options...
Gerrit507 24 Posted February 26, 2018 Share Posted February 26, 2018 Well I'm sure the crash is in the plugin. I don't really know how i can help with that part of things. does tvheadend really not have a plain http api? It has a json api... but I've found nothing about a http api. What you could do is add more logging to the plugin so that we can see how far it gets. I'll give it a try. Link to comment Share on other sites More sharing options...
Gerrit507 24 Posted February 26, 2018 Share Posted February 26, 2018 I've found out that buildDvrInfos is working fine. I'm logging upcoming recordings with it and it's not crashing. My next try would be the RecordingsChannel class but it hasn't got any logger. It's getting called directly from the server right? I would bet it is something in there causing the issue... Link to comment Share on other sites More sharing options...
Luke 37022 Posted February 26, 2018 Share Posted February 26, 2018 I've found out that buildDvrInfos is working fine. I'm logging upcoming recordings with it and it's not crashing. My next try would be the RecordingsChannel class but it hasn't got any logger. It's getting called directly from the server right? I would bet it is something in there causing the issue... If there were an error there it would get logged into the core server log. The fact that there's nothing in the log is probably an indication that an exception is being thrown on another thread that doesn't have any try/catch. Link to comment Share on other sites More sharing options...
Gerrit507 24 Posted February 26, 2018 Share Posted February 26, 2018 (edited) If there were an error there it would get logged into the core server log. The fact that there's nothing in the log is probably an indication that an exception is being thrown on another thread that doesn't have any try/catch. Ok, I see. This what I got with my logging in buildDvrInfos server-log.txt Edited February 26, 2018 by Gerrit507 Link to comment Share on other sites More sharing options...
Gerrit507 24 Posted February 26, 2018 Share Posted February 26, 2018 I've put logging and try catch blocks now in every method of DvrDataHelper, nothing suspicious there. Which other methods are related to recordings? I've found out that not only finished recordings are causing a crash, also currently running ones. Only upcoming recordings are fine. Link to comment Share on other sites More sharing options...
Luke 37022 Posted February 26, 2018 Share Posted February 26, 2018 you can go ahead and put some in recordings channel if you want. that way we can see the whole flow. Link to comment Share on other sites More sharing options...
Gerrit507 24 Posted February 26, 2018 Share Posted February 26, 2018 you can go ahead and put some in recordings channel if you want. that way we can see the whole flow. But it doesn't have a logger field. It must get the logger instance from the server, right? Link to comment Share on other sites More sharing options...
Gerrit507 24 Posted February 26, 2018 Share Posted February 26, 2018 (edited) I've put try catch blocks in the methods of RecordingChannels. Seems like nothing happening there. I'm starting to believe that it's somewhere in the server. Why else would it work with version up to 2.7.6.0 and stopped working with 2.7.18.0 upwards... Something in the new way of getting/showing the recordings is incompatible with the plugin. Maybe it's causing issues with other plugins too... Then on the other hand, why is there absolutely nothing in the logs... Edited February 26, 2018 by Gerrit507 Link to comment Share on other sites More sharing options...
Luke 37022 Posted February 26, 2018 Share Posted February 26, 2018 Well these same changes have gone into the other plugins (most of them), and they are able to show recordings. Link to comment Share on other sites More sharing options...
Luke 37022 Posted February 26, 2018 Share Posted February 26, 2018 yes you can put one in the constructor. Link to comment Share on other sites More sharing options...
bobwinters 1 Posted February 27, 2018 Share Posted February 27, 2018 So where to from here? Wait for our Lord and Saviour Tolotos? Link to comment Share on other sites More sharing options...
Luke 37022 Posted February 27, 2018 Share Posted February 27, 2018 So where to from here? Wait for our Lord and Saviour Tolotos? What issue are you having? Link to comment Share on other sites More sharing options...
bobwinters 1 Posted February 27, 2018 Share Posted February 27, 2018 What issue are you having? Same as Gerrit507 apart from the crashing. No recordings showing and no channel logos. Apart from that, it's fine. Link to comment Share on other sites More sharing options...
Luke 37022 Posted February 27, 2018 Share Posted February 27, 2018 Does the recordings channel show up in your home screen? Link to comment Share on other sites More sharing options...
bobwinters 1 Posted February 27, 2018 Share Posted February 27, 2018 Does the recordings channel show up in your home screen? Yes, but just like others have said. When you click on TVHeadend recordings it has 'Others', then nothing inside of that. https://i.imgur.com/dIseAYR.jpg Link to comment Share on other sites More sharing options...
Gerrit507 24 Posted February 28, 2018 Share Posted February 28, 2018 Yes, but just like others have said. When you click on TVHeadend recordings it has 'Others', then nothing inside of that. https://i.imgur.com/dIseAYR.jpg Which OS do you have? Maybe we can find something in your logs, when your server isn't crashing. Could you please upload a server log? Link to comment Share on other sites More sharing options...
Gerrit507 24 Posted February 28, 2018 Share Posted February 28, 2018 (edited) @@Luke I got the idea to run emby in vs to find the bug and it payed off > TVHeadEnd!TVHeadEnd.RecordingsChannel.ConvertToChannelItem(TVHeadEnd.MyRecordingInfo item = {unbekannt}) C# Nichtbenutzercode System.Core.dll!WhereSelectListIterator`2.MoveNext() C# Nichtbenutzercode mscorlib.dll!System.Collections.Generic.List`1.InsertRange(int index = {unbekannt}, System.Collections.Generic.IEnumerable collection = {unbekannt}) C# Nichtbenutzercode TVHeadEnd!<GetChannelItems>d__24.MoveNext() C# Nichtbenutzercode mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext = {unbekannt}, System.Threading.ContextCallback callback = {unbekannt}, object state = {unbekannt}, bool preserveSyncCtx = {unbekannt}) C# Nichtbenutzercode mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext = {unbekannt}, System.Threading.ContextCallback callback = {unbekannt}, object state = {unbekannt}, bool preserveSyncCtx = {unbekannt}) C# Nichtbenutzercode mscorlib.dll!MoveNextRunner.Run() C# Nichtbenutzercode mscorlib.dll!<>c__DisplayClass4_0.AnonymousMethod() C# Nichtbenutzercode mscorlib.dll!<>c__DisplayClass11_0.AnonymousMethod() C# Nichtbenutzercode mscorlib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action = {unbekannt}, bool allowInlining = {unbekannt}, ref System.Threading.Tasks.Task currentTask = {unbekannt}) C# Nichtbenutzercode mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations() C# Nichtbenutzercode mscorlib.dll!System.Threading.Tasks.Task`1.TrySetResult(TResult result = {unbekannt}) C# Nichtbenutzercode mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(TResult result = {unbekannt}) C# Nichtbenutzercode TVHeadEnd!<GetAllRecordingsAsync>d__34.MoveNext() C# Nichtbenutzercode mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext = {unbekannt}, System.Threading.ContextCallback callback = {unbekannt}, object state = {unbekannt}, bool preserveSyncCtx = {unbekannt}) C# Nichtbenutzercode mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext = {unbekannt}, System.Threading.ContextCallback callback = {unbekannt}, object state = {unbekannt}, bool preserveSyncCtx = {unbekannt}) C# Nichtbenutzercode mscorlib.dll!MoveNextRunner.Run() C# Nichtbenutzercode mscorlib.dll!<>c__DisplayClass4_0.AnonymousMethod() C# Nichtbenutzercode mscorlib.dll!<>c__DisplayClass11_0.AnonymousMethod() C# Nichtbenutzercode mscorlib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action = {unbekannt}, bool allowInlining = {unbekannt}, ref System.Threading.Tasks.Task currentTask = {unbekannt}) C# Nichtbenutzercode mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations() C# Nichtbenutzercode mscorlib.dll!System.Threading.Tasks.Task.Finish(bool bUserDelegateExecuted = {unbekannt}) C# Nichtbenutzercode mscorlib.dll!System.Threading.Tasks.Task.ExecuteWithThreadLocal(ref System.Threading.Tasks.Task currentTaskSlot = {unbekannt}) C# Nichtbenutzercode mscorlib.dll!System.Threading.Tasks.Task.ExecuteEntry(bool bPreventDoubleExecution = {unbekannt}) C# Nichtbenutzercode mscorlib.dll!System.Threading.ThreadPoolWorkQueue.Dispatch() C# Nichtbenutzercode + Ausnahme Ausgelöste Ausnahme: "System.NullReferenceException" in TVHeadEnd ("Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.") System.NullReferenceException ConvertToChannelItem is throwing a null reference exception... Sorry for the german ouput. I hope you can translate it. edit: Some more info - item {TVHeadEnd.MyRecordingInfo} TVHeadEnd.MyRecordingInfo Audio null MediaBrowser.Model.LiveTv.ProgramAudio? ChannelId "1687266589" string ChannelType TV MediaBrowser.Model.LiveTv.ChannelType CommunityRating null float? + DateLastUpdated {01.01.0001 00:00:00} System.DateTime + EndDate {28.02.2018 02:15:00} System.DateTime EpisodeTitle null string + Genres Count = 0 System.Collections.Generic.List<string> HasImage false bool? Id "1023472816" string ImagePath null string ImageUrl null string IsHD null bool? IsKids false bool IsLive false bool IsMovie false bool IsNews false bool IsPremiere false bool IsRepeat false bool IsSeries false bool IsSports false bool Name "Tagesschau" string OfficialRating null string OriginalAirDate null System.DateTime? Overview "Die Nachrichten der ARD\nProduziert in HD" string Path null string ProgramId null string SeriesTimerId null string ShowId null string + StartDate {28.02.2018 02:13:00} System.DateTime Status Completed MediaBrowser.Model.LiveTv.RecordingStatus TimerId null string Url null string item.Path null string item.Url null string Path and Url are both null... Edited February 28, 2018 by Gerrit507 Link to comment Share on other sites More sharing options...
Gerrit507 24 Posted February 28, 2018 Share Posted February 28, 2018 (edited) Fixed it! https://github.com/MediaBrowser/Tvheadend/pull/4 Still a bad news though: I've just published it to my server and I can't play the recordings. Obviously the path can't be reached because it is just a relative path inside the recordings folder of tvheadend. I have an idea. Will code it later... Edited February 28, 2018 by Gerrit507 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now