My working notes on looking at DLNA headers. Specific to my setup (minidlna, Sony BDP) only – using the wiki as a location to keep notes. Not meant to be useful for people who are not me. :)
Source: Episode ID 2002, 445063149 bytes, 425 MB
Getcontentfeatures.Dlna.Org
First HEAD request from DLNA client has this:
Getcontentfeatures.Dlna.Org: 1
Response from DLNA server is this:
Contentfeatures.Dlna.Org: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000
Using libdlna as a reference, it means that mine supports HTTP Range requests.
/* DLNA.ORG_OP: operations parameter (string) * "00" (or "0") neither time seek range nor range supported * "01" range supported * "10" time seek range supported * "11" both time seek range and range supported */
dlnaVersion15Supported
, connectionStallingSupported
, backgroundTransferModeSupported
, streamingTransferModeSupported
HEAD Requests
Worth noting that the DLNA client sends three total HEAD requests. They are identical, except the first one also includes a User-Agent
string:
User-Agent: UPnP/1.0 DLNADOC/1.50
Request Method: HEAD Request Url: /MediaItems/224.mkv User-Agent: UPnP/1.0 DLNADOC/1.50 Host: 10.10.10.103:8200 Accept: */* X-Av-Physical-Unit-Info: pa="Blu-ray Disc Player" X-Av-Client-Info: av=5.0; cn="Sony Corporation"; mn="Blu-ray Disc Player"; mv="2.0" Getcontentfeatures.Dlna.Org: 1
realTimeInfo.dlna.org: DLNA.ORG_TLAG=*
minidlna always sends the header, safe to ignore it (see upnphttp.c)