jellyfin / jellyfin-plugin-nextpvr

https://jellyfin.org
MIT License
25 stars 9 forks source link

Version 5 from the repo is not working with JF 10.7-rc1 and the latest unstable from today #15

Closed Nickbert7 closed 3 years ago

Nickbert7 commented 3 years ago

I cannot start any live tv playback on JF 10.7-rc1 and the latest unstable server of today with the plugin version 5 from the repo.

OS: Win 10 Server Version: 10.7-rc1 and Unstable (jellyfin_20201222.3-unstable) Client: Web/Chrome 87

The guide data is filled so the connection to the npvr backend should be fine.

This is the error I get on the unstable server:

System.NullReferenceException: Object reference not set to an instance of an object.
   at MediaBrowser.Model.Dlna.StreamBuilder.GetVideoDirectPlayProfile(VideoOptions options, MediaSourceInfo mediaSource, MediaStream videoStream, MediaStream audioStream, Boolean isEligibleForDirectPlay, Boolean isEligibleForDirectStream)
   at MediaBrowser.Model.Dlna.StreamBuilder.BuildVideoItem(MediaSourceInfo item, VideoOptions options)
   at MediaBrowser.Model.Dlna.StreamBuilder.BuildVideoItem(VideoOptions options)
   at Jellyfin.Api.Helpers.MediaInfoHelper.SetDeviceSpecificData(BaseItem item, MediaSourceInfo mediaSource, DeviceProfile profile, AuthorizationInfo auth, Nullable`1 maxBitrate, Int64 startTimeTicks, String mediaSourceId, Nullable`1 audioStreamIndex, Nullable`1 subtitleStreamIndex, Nullable`1 maxAudioChannels, String playSessionId, Guid userId, Boolean enableDirectPlay, Boolean enableDirectStream, Boolean enableTranscoding, Boolean allowVideoStreamCopy, Boolean allowAudioStreamCopy, String ipAddress)
   at Jellyfin.Api.Controllers.MediaInfoController.GetPostedPlaybackInfo(Guid itemId, Nullable`1 userId, Nullable`1 maxStreamingBitrate, Nullable`1 startTimeTicks, Nullable`1 audioStreamIndex, Nullable`1 subtitleStreamIndex, Nullable`1 maxAudioChannels, String mediaSourceId, String liveStreamId, Nullable`1 autoOpenLiveStream, Nullable`1 enableDirectPlay, Nullable`1 enableDirectStream, Nullable`1 enableTranscoding, Nullable`1 allowVideoStreamCopy, Nullable`1 allowAudioStreamCopy, PlaybackInfoDto playbackInfoDto)
   at lambda_method905(Closure , Object )
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
   at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
   at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
   at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
   at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
   at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
[2020-12-23 00:05:34.131 +01:00] [WRN] [10] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://xxx.xxx/Items/0e0a99903c233d158125ebd61ac44ed5/PlaybackInfo?UserId=8ede7a0c-3421-4dae-ad44-be1374706eab&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&MaxStreamingBitrate=6804375" to "165.225.72.99" in 0:00:10.0027987 with Status Code 500
Volkor3-16 commented 3 years ago

I was able to reproduce this on Debian 10, with the 10.7-rc1, using Firefox.

emveepee commented 3 years ago

This message is from the server it is not clear why this is being raised as a plugin issue but the server developers will not look into it so I am expecting this to fail. Unless you hear from @joshuaboniface or other senior team members no further action on the addon is planned. as the issue is being ignored. It's a shame really that such a breaking change was approved on the server with no respect for you users especially as jellfyin looked like such a promising platform.

It is not just Live TV Recordings also fail with a different error. Someone may wish to create a separate issue for that.

I am sorry. Please use 10.6.4 with my unofficial add should continue to work .

cvium commented 3 years ago

Such toxic, demanding and childish behaviour during the holidays (and frankly any other time) seems entirely unwarranted.

I understand the frustration, but we're all volunteers and it's a busy time.

thornbill commented 3 years ago

10.7 is also not a stable release. Bugs are expected and are being addressed during the release candidate stage.

emveepee commented 3 years ago

Sorry I just was hoping to get this looked into for the users, since I don't know how to fix the server. I tried asking on Matrix and was completely dismissed without cause and no one else was standing up for users.

Recordings still remain broken after the patch and I stand by my comment that this was released too early to be called release candidate. Perhaps I misunderstood your naming conventions and it could be alpha or beta in other projects.

emveepee commented 3 years ago

Sorry I don't understand you confusion. My understanding on release candidate is it is considered nearly ready for release and stable for testing. Users can't even use this because of server side issues

I am really glad this issue was resolved on behalf of the users. I volunteer to code this too and I don't even use jellyfin.

If a user user opens another issue on the recordings not playing I am not sure how to respond now since again I don't see it is a plugin issue either unless there is an undocumented change in the API.

crobibero commented 3 years ago

As we don't use the NextPVR plugin at all, feel free to open another issue for recordings not working as this is not something I have the ability to test.

emveepee commented 3 years ago

As we don't use the NextPVR plugin at all, feel free to open another issue for recordings not working as this is not something I have the ability to test.

Thank you done https://github.com/jellyfin/jellyfin-plugin-nextpvr/issues/16