mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-16 05:43:54 +03:00
[PR #5613] [MERGED] Improve responses to HEAD /audio/<id>/stream for Samsung DLNA renderers #10575
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/jellyfin/jellyfin/pull/5613
Author: @accek
Created: 3/24/2021
Status: ✅ Merged
Merged: 3/25/2021
Merged by: @cvium
Base:
master← Head:accek-samsung-dlna-fix📝 Commits (2)
136136dFix incorrect responses for HEAD /audio//streamb1e8a85Update Jellyfin.Api/Helpers/FileStreamResponseHelpers.cs📊 Changes
1 file changed (+4 additions, -3 deletions)
View changed files
📝
Jellyfin.Api/Helpers/FileStreamResponseHelpers.cs(+4 -3)📄 Description
Changes
Changed
HEAD /audio/<id>/stream[.format]responses to:Issues
POST /upnp/control/AVTransport1)Details
Without this fix my Samsung Soundbar (HW-Q80R) fails to play using DLNA
and returns "Error: Resource not found (716)" instead.
I had a look on tcpdump network logs between Jellyfin and the soundbar
and noticed that the device performs a HEAD request for the media before
responding to the DLNA UPNP control request from Jellyfin (or BubbleUPNP
Android App).
Jellyfin retuns 204 No Content response, which is unusual. Common web
servers generally return 200 OK if the GET would return content, and
this is not-very-clearly suggested in HTTP
spec
The other patch is to ensure that invalid Content-Length: 0 is not
returned with the HEAD response in the streaming case.
I think in both cases we still don't return the same headers with HEAD
as with GET (e.g. Content-Length or Accept-Ranges), but at least we
don't return anything misleading.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.