diff --git a/clients.c b/clients.c index 5b9ba5d..e045ad8 100644 --- a/clients.c +++ b/clients.c @@ -63,6 +63,13 @@ struct client_type_s client_types[] = EUserAgent }, + { ESamsungBDJ5500, + FLAG_SAMSUNG | FLAG_DLNA | FLAG_NO_RESIZE | FLAG_CAPTION_RES | FLAG_SKIP_DLNA_PN, + "Samsung BD J5500", + "[BD]J5500", + EUserAgent + }, + /* Samsung Series [CDE] BDPs and TVs must be separated, or some of our * advertised extra features trigger a folder browsing bug on BDPs. */ /* User-Agent: DLNADOC/1.50 SEC_HHP_BD-D5100/1.0 */ @@ -324,4 +331,3 @@ AddClientCache(struct in_addr addr, int type) return NULL; } - diff --git a/clients.h b/clients.h index 35d819a..f9818f5 100644 --- a/clients.h +++ b/clients.h @@ -37,6 +37,7 @@ #define FLAG_AUDIO_ONLY 0x00000400 #define FLAG_FORCE_SORT 0x00000800 #define FLAG_CAPTION_RES 0x00001000 +#define FLAG_SKIP_DLNA_PN 0x00002000 /* during browsing */ /* Response-related flags */ #define FLAG_HAS_CAPTIONS 0x80000000 #define RESPONSE_FLAGS 0xF0000000 @@ -69,6 +70,7 @@ enum client_types { ESamsungSeriesB, ESamsungSeriesCDEBDP, ESamsungSeriesCDE, + ESamsungBDJ5500, ESonyBDP, ESonyBravia, ESonyInternetTV, diff --git a/upnpsoap.c b/upnpsoap.c index 0c2b9af..9ee0b90 100644 --- a/upnpsoap.c +++ b/upnpsoap.c @@ -905,6 +905,9 @@ callback(void *args, int argc, char **argv, char **azColName) else dlna_flags |= DLNA_FLAG_TM_I; + if( passed_args->flags & FLAG_SKIP_DLNA_PN ) + dlna_pn = NULL; + if( dlna_pn ) snprintf(dlna_buf, sizeof(dlna_buf), "DLNA.ORG_PN=%s;" "DLNA.ORG_OP=01;"