diff --git a/CONTRIBUTORS b/CONTRIBUTORS index fb7293e..52f1a3d 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -33,6 +33,7 @@ Rolf Ahrenberg for replacing private members by cThread::Running()/Active() for improving externremux script termination for fixing PAT repacker version field + for suggesting to include the charset in HTTP replies Rantanen Teemu for providing vdr-incompletesections.diff diff --git a/HISTORY b/HISTORY index eae2865..39d4ab3 100644 --- a/HISTORY +++ b/HISTORY @@ -1,6 +1,7 @@ VDR Plugin 'streamdev' Revision History --------------------------------------- +- report charset in HTTP replies (suggested by Rolf Ahrenberg) - use SO_KEEPALIVE option on all sockets do detect dead sockets (thanks to owagner) - enable PatFilter for externremux, so VLC can be used as remuxer or client diff --git a/server/menuHTTP.h b/server/menuHTTP.h index 8be613b..efa20f2 100644 --- a/server/menuHTTP.h +++ b/server/menuHTTP.h @@ -113,7 +113,12 @@ class cHtmlChannelList: public cChannelList std::string ItemText(); std::string PageBottom(); public: - virtual std::string HttpHeader() { return cChannelList::HttpHeader() + "Content-type: text/html\r\n\r\n"; } + virtual std::string HttpHeader() { + return cChannelList::HttpHeader() + + "Content-type: text/html; charset=" + + I18nCharSets()[Setup.OSDLanguage] + + "\r\n"; + } virtual bool HasNext(); virtual std::string Next(); cHtmlChannelList(cChannelIterator *Iterator, eStreamType StreamType, const char *Self, const char *GroupTarget); @@ -130,7 +135,16 @@ class cM3uChannelList: public cChannelList cCharSetConv m_IConv; #endif public: - virtual std::string HttpHeader() { return cChannelList::HttpHeader() + "Content-type: audio/x-mpegurl\r\n"; }; + virtual std::string HttpHeader() { + return cChannelList::HttpHeader() + + "Content-type: audio/x-mpegurl; charset=" +#if defined(APIVERSNUM) && APIVERSNUM >= 10503 + + "UTF-8" +#else + + I18nCharSets()[Setup.OSDLanguage] +#endif + + "\r\n"; + } virtual bool HasNext(); virtual std::string Next(); cM3uChannelList(cChannelIterator *Iterator, const char* Base);