Multiple Audio Instances Playing #2970

Closed
opened 2026-02-06 22:37:31 +03:00 by OVERLORD · 2 comments
Owner

Originally created by @nathandtrone on GitHub (Apr 25, 2021).

The Bug I've found can be reproduced by opening ANY media using the web interface, and while the media is playing, using the keyboard playback hotkeys. Such as K for pause/resume, and J and L for skipping. The video when paused will pause but the audio will sometimes start playing from the beginning of the track... If you play the video again, via keyboard or buttons, the audio will start back up where it left off, but now you have another audio track playing over top of the repeated/offset track. If you do this a number of times, it appears to "Build up" a few tracks and it becomes deafening and you have to reload the page to stop it.

System (please complete the following information):

  • OS: Windows
  • Virtualization: Docker jellyfin/jellyfin:latest on an Ubuntu Server
  • Clients: Chrome
  • Browser: Chrome Version 90.0.4430.85 (Official Build) (64-bit)
  • Jellyfin Version: 10.7.2
  • Playback: "Auto-Direct"
  • Installed Plugins: None
  • Reverse Proxy: nginx
  • Base URL: https://jellyfin.intranet.local/web/index.html#!/video
  • Networking: NAT?
  • Storage: NFS/LOCAL Storage is on another container via docker NFS4 mount.

To Reproduce

  1. Go to a video, any video
  2. Click play. Let the media load and begin playing.
  3. Use any media keys to control the playback of the content, specifically pausing and playing.
  4. Listen for a second audio stream beginning to play in the background. It may take a few seconds depending on how far into the track you hear something. (like if the video has no intro sounds, vs dolby boom sound at the beginning)
  5. Repeat for more duplicate tracks you can't stop.

Expected behavior
It should stop the audio and play the audio wherever it is at, not start another stream in the background. It's like a second video element is playing in the background with the duration value set back to the beginning/resume time.

Logs
Cannot find any errors except for this one on startup:

[03:32:15] [ERR] [34] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL POST /Sessions/Playing/Stopped.,
MediaBrowser.Common.Extensions.ResourceNotFoundException: Session b9e7123435566778913456778868bbea not found.,
   at Emby.Server.Implementations.Session.SessionManager.GetSession(String sessionId, Boolean throwOnMissing),
   at Emby.Server.Implementations.Session.SessionManager.OnPlaybackStopped(PlaybackStopInfo info),
   at Jellyfin.Api.Controllers.PlaystateController.ReportPlaybackStopped(PlaybackStopInfo playbackStopInfo),
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments),
   at lambda_method884(Closure , Object ),
   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(),
   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 Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager),
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger),
   at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager),
   at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager),
   at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager),
   at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context),
   at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context),
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.Invoke(HttpContext context),
   at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext),
   at Jellyfin.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext),
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context),
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider),
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext),
   at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext),
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context),
   at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult),
[03:33:06] [WRN] [21] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://jellyfin.intranet.local/Items/RemoteSearch/Movie to 10.0.3.5 in 0:00:00.7433289 with Status Code 200

Screenshots
It doesn't help here. I may be able to record it?

Additional context
I can reliably reproduce the problem every time I try. I have updated, redeployed and rebuilt the docker image multiple times, tried it with many different file formats and medias. I have tried it with single audio track files, and multi-language embedded audio tracks. Let me know if you could use any other information. I've got the app on my FireTV and I don't believe it's doing this on there. So I'm not certain what could be causing this. Let me know if you want me to run any javascript in console or anything to debug the problem more. I see no errors or warnings on the browser side.

Originally created by @nathandtrone on GitHub (Apr 25, 2021). The Bug I've found can be reproduced by opening ANY media using the web interface, and while the media is playing, using the keyboard playback hotkeys. Such as K for pause/resume, and J and L for skipping. The video when paused will pause but the audio will sometimes start playing from the beginning of the track... If you play the video again, via keyboard or buttons, the audio will start back up where it left off, but now you have another audio track playing over top of the repeated/offset track. If you do this a number of times, it appears to "Build up" a few tracks and it becomes deafening and you have to reload the page to stop it. **System (please complete the following information):** - OS: Windows - Virtualization: Docker jellyfin/jellyfin:latest on an Ubuntu Server - Clients: Chrome - Browser: Chrome Version 90.0.4430.85 (Official Build) (64-bit) - Jellyfin Version: 10.7.2 - Playback: "Auto-Direct" - Installed Plugins: None - Reverse Proxy: nginx - Base URL: https://jellyfin.intranet.local/web/index.html#!/video - Networking: NAT? - Storage: NFS/LOCAL Storage is on another container via docker NFS4 mount. **To Reproduce** 1. Go to a video, any video 2. Click play. Let the media load and begin playing. 3. Use any media keys to control the playback of the content, specifically pausing and playing. 4. Listen for a second audio stream beginning to play in the background. It may take a few seconds depending on how far into the track you hear something. (like if the video has no intro sounds, vs dolby boom sound at the beginning) 5. Repeat for more duplicate tracks you can't stop. **Expected behavior** It should stop the audio and play the audio wherever it is at, not start another stream in the background. It's like a second video element is playing in the background with the duration value set back to the beginning/resume time. **Logs** Cannot find any errors except for this one on startup: ``` [03:32:15] [ERR] [34] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL POST /Sessions/Playing/Stopped., MediaBrowser.Common.Extensions.ResourceNotFoundException: Session b9e7123435566778913456778868bbea not found., at Emby.Server.Implementations.Session.SessionManager.GetSession(String sessionId, Boolean throwOnMissing), at Emby.Server.Implementations.Session.SessionManager.OnPlaybackStopped(PlaybackStopInfo info), at Jellyfin.Api.Controllers.PlaystateController.ReportPlaybackStopped(PlaybackStopInfo playbackStopInfo), at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments), at lambda_method884(Closure , Object ), 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(), 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 Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager), at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger), at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager), at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager), at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager), at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context), at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context), at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.Invoke(HttpContext context), at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext), at Jellyfin.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext), at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context), at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider), at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext), at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext), at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context), at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult), [03:33:06] [WRN] [21] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://jellyfin.intranet.local/Items/RemoteSearch/Movie to 10.0.3.5 in 0:00:00.7433289 with Status Code 200 ``` **Screenshots** It doesn't help here. I may be able to record it? **Additional context** I can reliably reproduce the problem every time I try. I have updated, redeployed and rebuilt the docker image multiple times, tried it with many different file formats and medias. I have tried it with single audio track files, and multi-language embedded audio tracks. Let me know if you could use any other information. I've got the app on my FireTV and I don't believe it's doing this on there. So I'm not certain what could be causing this. Let me know if you want me to run any javascript in console or anything to debug the problem more. I see no errors or warnings on the browser side.
OVERLORD added the bugstale labels 2026-02-06 22:37:31 +03:00
Author
Owner

@stale[bot] commented on GitHub (Sep 22, 2021):

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.
If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or nightlies, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.
This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

@stale[bot] commented on GitHub (Sep 22, 2021): This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments. If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or nightlies, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label. This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://docs.jellyfin.org/general/getting-help.html).
Author
Owner

@Bond-009 commented on GitHub (Mar 9, 2023):

Closing as stale

@Bond-009 commented on GitHub (Mar 9, 2023): Closing as stale
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#2970