diff options
author | Justin Maggard <jmaggard@users.sourceforge.net> | 2011-01-18 05:26:31 +0300 |
---|---|---|
committer | Justin Maggard <jmaggard@users.sourceforge.net> | 2011-01-18 05:26:31 +0300 |
commit | ba7ac3701e81dd0a4262b60bbdf50e3f4ba59290 (patch) | |
tree | 7ad6854c85e8077d77949528db5a6136428ca947 | |
parent | 3d2597a3667e08aadc5936046ba545b0b8ed6daf (diff) |
* Cheat to make Sony Bravia AVC support work.
-rw-r--r-- | minidlnatypes.h | 1 | ||||
-rw-r--r-- | upnphttp.c | 6 | ||||
-rw-r--r-- | upnpsoap.c | 9 |
3 files changed, 16 insertions, 0 deletions
diff --git a/minidlnatypes.h b/minidlnatypes.h index 436eec9..531305d 100644 --- a/minidlnatypes.h +++ b/minidlnatypes.h @@ -67,6 +67,7 @@ enum client_types { EPopcornHour, EMediaRoom, ESonyBDP, + ESonyBravia, EStandardDLNA150 = 100 }; @@ -344,6 +344,12 @@ intervening space) by either an integer or the keyword "infinite". */ h->req_client = ESonyBDP; h->reqflags |= FLAG_DLNA; } + /* X-AV-Client-Info: av=5.0; cn="Sony Corporation"; mn="BRAVIA KDL-40EX503"; mv="1.7"; */ + else if(strstrc(p, "BRAVIA", '\r')) + { + h->req_client = ESonyBravia; + h->reqflags |= FLAG_DLNA; + } } else if(strncasecmp(line, "Transfer-Encoding", 17)==0) { @@ -619,7 +619,16 @@ callback(void *args, int argc, char **argv, char **azColName) passed_args->returned++; if( dlna_pn ) + { + if( passed_args->client == ESonyBravia ) + { + /* BRAVIA KDL-##*X### series TVs do natively support AVC/AC3 in TS, but + require profile to be renamed (applies to _T and _ISO variants also) */ + modifyString(dlna_pn, "AVC_TS_MP_SD_AC3", "AVC_TS_HD_50_AC3", 0); + modifyString(dlna_pn, "AVC_TS_MP_HD_AC3", "AVC_TS_HD_50_AC3", 0); + } sprintf(dlna_buf, "DLNA.ORG_PN=%s", dlna_pn); + } else if( passed_args->flags & FLAG_DLNA ) strcpy(dlna_buf, dlna_no_conv); else |