diff options
author | methodus <methodus@web.de> | 2012-12-31 13:45:07 +0100 |
---|---|---|
committer | methodus <methodus@web.de> | 2012-12-31 13:45:07 +0100 |
commit | 624049b01b7eacfef9fd7e4a6e73f4ffa1cc36a6 (patch) | |
tree | 4ca51504fd616929e5ebd113966190b8bdab4813 /plugins | |
parent | 0deeeb8116285491ecef1e52c23f7851383f8c86 (diff) | |
download | vdr-plugin-upnp-624049b01b7eacfef9fd7e4a6e73f4ffa1cc36a6.tar.gz vdr-plugin-upnp-624049b01b7eacfef9fd7e4a6e73f4ffa1cc36a6.tar.bz2 |
Fixed string encoding issue
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/profiler/vdrDVBProfiler/dvbProfiler.cpp | 25 | ||||
-rw-r--r-- | plugins/provider/recProvider/recProvider.cpp | 2 | ||||
-rw-r--r-- | plugins/provider/vdrProvider/vdrProvider.cpp | 13 |
3 files changed, 19 insertions, 21 deletions
diff --git a/plugins/profiler/vdrDVBProfiler/dvbProfiler.cpp b/plugins/profiler/vdrDVBProfiler/dvbProfiler.cpp index 327d16a..f367c39 100644 --- a/plugins/profiler/vdrDVBProfiler/dvbProfiler.cpp +++ b/plugins/profiler/vdrDVBProfiler/dvbProfiler.cpp @@ -173,9 +173,9 @@ private: metadata.SetParentIDByUri(fs); metadata.SetProperty(cMetadata::Property(property::object::KEY_RESTRICTED, true)); - metadata.SetProperty(cMetadata::Property(property::object::KEY_TITLE, string(info->Title()?info->Title():recording->Title()))); - metadata.SetProperty(cMetadata::Property(property::object::KEY_DESCRIPTION, string(info->ShortText()?info->ShortText():""))); - metadata.SetProperty(cMetadata::Property(property::object::KEY_LONG_DESCRIPTION, string(info->Description()?info->Description():""))); + metadata.SetProperty(cMetadata::Property(property::object::KEY_TITLE, tools::ToUTF8String(info->Title()?info->Title():recording->Title()))); + metadata.SetProperty(cMetadata::Property(property::object::KEY_DESCRIPTION, tools::ToUTF8String(info->ShortText()?info->ShortText():""))); + metadata.SetProperty(cMetadata::Property(property::object::KEY_LONG_DESCRIPTION, tools::ToUTF8String(info->Description()?info->Description():""))); boost::posix_time::ptime date = boost::posix_time::from_time_t(info->GetEvent()->StartTime()); metadata.SetProperty(cMetadata::Property(property::object::KEY_DATE, boost::gregorian::to_iso_extended_string(date.date()))); @@ -335,7 +335,10 @@ private: // TODO: implement check for radio stations (this is ...audioItem.audioBroadcast) metadata.SetProperty(cMetadata::Property(property::object::KEY_CLASS, string("object.item.videoItem.videoBroadcast"))); metadata.SetProperty(cMetadata::Property(property::object::KEY_RESTRICTED, true)); - metadata.SetProperty(cMetadata::Property(property::object::KEY_CHANNEL_NAME, string(channel->Name()))); + + string channelName = tools::ToUTF8String(channel->Name()); + + metadata.SetProperty(cMetadata::Property(property::object::KEY_CHANNEL_NAME, channelName)); metadata.SetProperty(cMetadata::Property(property::object::KEY_CHANNEL_NR, (long int)channel->Number())); // Now, we try to get the present event of the schedule @@ -353,24 +356,24 @@ private: metadata.SetProperty(cMetadata::Property(property::object::KEY_DATE, boost::gregorian::to_iso_extended_string(startTime.date()))); metadata.SetProperty(cMetadata::Property(property::object::KEY_SCHEDULED_START, boost::posix_time::to_iso_extended_string(startTime))); metadata.SetProperty(cMetadata::Property(property::object::KEY_SCHEDULED_END, boost::posix_time::to_iso_extended_string(endTime))); - metadata.SetProperty(cMetadata::Property(property::object::KEY_DESCRIPTION, string(event->ShortText()?event->ShortText():""))); - metadata.SetProperty(cMetadata::Property(property::object::KEY_LONG_DESCRIPTION, string(event->Description()?event->Description():""))); + metadata.SetProperty(cMetadata::Property(property::object::KEY_DESCRIPTION, tools::ToUTF8String(event->ShortText()?event->ShortText():""))); + metadata.SetProperty(cMetadata::Property(property::object::KEY_LONG_DESCRIPTION, tools::ToUTF8String(event->Description()?event->Description():""))); } ChannelTitle* titleConfig = channelTitleConfig.First(); if(titleConfig){ titleConfig->Clear(); if(event) - titleConfig->SetTitle(event->Title()); - titleConfig->SetChannelName(channel->Name()); + titleConfig->SetTitle(tools::ToUTF8String(event->Title())); + titleConfig->SetChannelName(channelName); titleConfig->SetChannelNumber(channel->Number()); metadata.SetProperty(cMetadata::Property(property::object::KEY_TITLE, titleConfig->ToString())); } else { stringstream ss; - ss << channel->Name(); + ss << channelName; if(event) - ss << " - " << event->Title(); + ss << " - " << tools::ToUTF8String(event->Title()); metadata.SetProperty(cMetadata::Property(property::object::KEY_TITLE, ss.str())); } @@ -413,7 +416,7 @@ private: stringstream ss; cMetadata::Resource thumbnail; ss.str(string()); - ss << "channelIcons/" << channel->Name() << ".jpg"; + ss << "channelIcons/" << channelName << ".jpg"; stringstream filename, uriStrm; filename << cMediaServer::GetInstance()->GetWebserver().GetThumbnailDir() << ss.str(); diff --git a/plugins/provider/recProvider/recProvider.cpp b/plugins/provider/recProvider/recProvider.cpp index 8657cb3..ff4dcbb 100644 --- a/plugins/provider/recProvider/recProvider.cpp +++ b/plugins/provider/recProvider/recProvider.cpp @@ -178,7 +178,7 @@ public: string folder = uri.substr(ls , ul - ls -1); char * str = strdup(folder.c_str()); str = ExchangeChars(str, false); - metadata.SetProperty(cMetadata::Property(property::object::KEY_TITLE, string(str))); + metadata.SetProperty(cMetadata::Property(property::object::KEY_TITLE, tools::ToUTF8String(str))); free(str); } diff --git a/plugins/provider/vdrProvider/vdrProvider.cpp b/plugins/provider/vdrProvider/vdrProvider.cpp index 5ab99d3..6ab3d27 100644 --- a/plugins/provider/vdrProvider/vdrProvider.cpp +++ b/plugins/provider/vdrProvider/vdrProvider.cpp @@ -66,10 +66,6 @@ private: cCondWait sleep; - cCharSetConv conv; -#define TO_UTF8(from, to, length) \ - char to[length]; conv.Convert(from, to, length); - public: VdrProvider() @@ -117,8 +113,7 @@ public: } } else { for(index = Channels.GetNextGroup(from - 1); (channel = Channels.Get(index)) && index < to; index = Channels.GetNextGroup(index)){ - TO_UTF8(channel->Name(), chanName, 1024); - string group = string(chanName) + '/'; + string group = tools::ToUTF8String(channel->Name()) + '/'; list.push_back(group); } } @@ -154,9 +149,9 @@ public: metadata.SetProperty(cMetadata::Property(property::object::KEY_TITLE, string("VDR Live-TV"))); metadata.SetProperty(cMetadata::Property(property::object::KEY_DESCRIPTION, string("Watch Live-TV"))); } else if((index = GetGroupByName(GetContainerName(uri))) != -1 && (channel = Channels.Get(index)) != NULL){ - TO_UTF8(channel->Name(), chanName, 1024); - metadata.SetProperty(cMetadata::Property(property::object::KEY_TITLE, string(chanName))); - metadata.SetProperty(cMetadata::Property(property::object::KEY_DESCRIPTION, string(chanName))); + string chanName = tools::ToUTF8String(channel->Name()); + metadata.SetProperty(cMetadata::Property(property::object::KEY_TITLE, chanName)); + metadata.SetProperty(cMetadata::Property(property::object::KEY_DESCRIPTION, chanName)); } else { return false; } |