diff options
-rw-r--r-- | httptnt/resourceStreamer.ecpp | 26 | ||||
-rw-r--r-- | include/media/mediaManager.h | 3 | ||||
-rw-r--r-- | include/plugin.h | 54 | ||||
-rw-r--r-- | include/pluginManager.h | 3 | ||||
-rw-r--r-- | media/mediaManager.cpp | 2 | ||||
-rw-r--r-- | media/pluginManager.cpp | 6 |
6 files changed, 50 insertions, 44 deletions
diff --git a/httptnt/resourceStreamer.ecpp b/httptnt/resourceStreamer.ecpp index 96c4ea4..3ab17bd 100644 --- a/httptnt/resourceStreamer.ecpp +++ b/httptnt/resourceStreamer.ecpp @@ -1,12 +1,12 @@ -//<%args> -//objectID; -//int resourceID = 0; -//</%args> -//<%pre> +<%args> +objectID; +int resourceID = 0; +</%args> +<%pre> #include <string> #include <stdint.h> #include <limits> -#include <memory> +#include <boost/shared_ptr.hpp> #include "../include/tools.h" #include "../include/media/mediaManager.h" #include "../include/server.h" @@ -16,11 +16,11 @@ #include <tnt/http.h> using namespace upnp; -//</%pre> -//<# +</%pre> +<# int doRequest(tnt::HttpReply reply, tnt::HttpRequest request, std::string objectID, int resourceID) { -//#> -//<%cpp> +#> +<%cpp> if(objectID.empty()){ reply.out() << "Object ID missing"; return HTTP_BAD_REQUEST; @@ -108,7 +108,7 @@ int doRequest(tnt::HttpReply reply, tnt::HttpRequest request, std::string object streamer->Close(); //reply.out() << std::flush; return code; -//</%cpp> -//<# +</%cpp> +<# } -//#> +#> diff --git a/include/media/mediaManager.h b/include/media/mediaManager.h index 18cf458..71f6d38 100644 --- a/include/media/mediaManager.h +++ b/include/media/mediaManager.h @@ -16,6 +16,7 @@ #include <tntdb/connect.h> #include "../../include/plugin.h" #include "../../include/tools.h" +#include "../../include/pluginManager.h" namespace upnp { @@ -123,7 +124,7 @@ private: upnp::cPluginManager* pluginManager; typedef std::map<std::string, upnp::cPluginManager::FunctionPtr> ProviderMap; - typedef std::list<boost::shared_ptr<cMediaProfiler>> ProfilerList; + typedef std::list<boost::shared_ptr<cMediaProfiler> > ProfilerList; ProviderMap providers; ProfilerList profilers; diff --git a/include/plugin.h b/include/plugin.h index 6b4a94d..6896ebf 100644 --- a/include/plugin.h +++ b/include/plugin.h @@ -23,38 +23,38 @@ namespace property { namespace object { - static const char* KEY_OBJECTID = "@id"; - static const char* KEY_PARENTID = "@parentID"; - static const char* KEY_TITLE = "dc:title"; - static const char* KEY_CREATOR = "dc:creator"; - static const char* KEY_CLASS = "upnp:class"; - static const char* KEY_RESTRICTED = "@restricted"; - static const char* KEY_CHILD_COUNT = "@childCount"; - static const char* KEY_DESCRIPTION = "dc:description"; - static const char* KEY_LONG_DESCRIPTION = "upnp:longDescription"; - static const char* KEY_DATE = "dc:date"; - static const char* KEY_LANGUAGE = "dc:language"; - static const char* KEY_CHANNEL_NR = "upnp:channelNr"; - static const char* KEY_CHANNEL_NAME = "upnp:channelName"; - static const char* KEY_SCHEDULED_START = "upnp:scheduledStartTime"; - static const char* KEY_SCHEDULED_END = "upnp:scheduledEndTime"; - static const char* KEY_OBJECT_UPDATE_ID = "upnp:objectUpdateID"; - static const char* KEY_CONTAINER_UPDATE_ID= "upnp:containerUpdateID"; + static const char KEY_OBJECTID[] = "@id"; + static const char KEY_PARENTID[] = "@parentID"; + static const char KEY_TITLE[] = "dc:title"; + static const char KEY_CREATOR[] = "dc:creator"; + static const char KEY_CLASS[] = "upnp:class"; + static const char KEY_RESTRICTED[] = "@restricted"; + static const char KEY_CHILD_COUNT[] = "@childCount"; + static const char KEY_DESCRIPTION[] = "dc:description"; + static const char KEY_LONG_DESCRIPTION[] = "upnp:longDescription"; + static const char KEY_DATE[] = "dc:date"; + static const char KEY_LANGUAGE[] = "dc:language"; + static const char KEY_CHANNEL_NR[] = "upnp:channelNr"; + static const char KEY_CHANNEL_NAME[] = "upnp:channelName"; + static const char KEY_SCHEDULED_START[] = "upnp:scheduledStartTime"; + static const char KEY_SCHEDULED_END[] = "upnp:scheduledEndTime"; + static const char KEY_OBJECT_UPDATE_ID[] = "upnp:objectUpdateID"; + static const char KEY_CONTAINER_UPDATE_ID[]= "upnp:containerUpdateID"; } namespace resource { - static const char* KEY_RESOURCE = "res"; - static const char* KEY_PROTOCOL_INFO = "res@protocolInfo"; - static const char* KEY_SIZE = "res@size"; - static const char* KEY_DURATION = "res@duration"; - static const char* KEY_SAMPLE_FREQUENCY = "res@sampleFrequency"; - static const char* KEY_RESOLUTION = "res@resolution"; - static const char* KEY_BITRATE = "res@bitrate"; - static const char* KEY_BITS_PER_SAMPLE = "res@bitsPerSample"; - static const char* KEY_NR_AUDIO_CHANNELS = "res@nrAudioChannels"; - static const char* KEY_COLOR_DEPTH = "res@colorDepth"; + static const char KEY_RESOURCE[] = "res"; + static const char KEY_PROTOCOL_INFO[] = "res@protocolInfo"; + static const char KEY_SIZE[] = "res@size"; + static const char KEY_DURATION[] = "res@duration"; + static const char KEY_SAMPLE_FREQUENCY[] = "res@sampleFrequency"; + static const char KEY_RESOLUTION[] = "res@resolution"; + static const char KEY_BITRATE[] = "res@bitrate"; + static const char KEY_BITS_PER_SAMPLE[] = "res@bitsPerSample"; + static const char KEY_NR_AUDIO_CHANNELS[] = "res@nrAudioChannels"; + static const char KEY_COLOR_DEPTH[] = "res@colorDepth"; } diff --git a/include/pluginManager.h b/include/pluginManager.h index 5c38e34..a40308f 100644 --- a/include/pluginManager.h +++ b/include/pluginManager.h @@ -12,6 +12,7 @@ #include <string> #include <map> #include <list> +#include <boost/shared_ptr.hpp> namespace upnp { @@ -41,7 +42,7 @@ private: FunctionPtr profiler; }; - typedef std::list<boost::shared_ptr<DLL>> DLLList; + typedef std::list< boost::shared_ptr<DLL> > DLLList; DLLList dlls; cMediaManager* manager; diff --git a/media/mediaManager.cpp b/media/mediaManager.cpp index 8b9cce7..e8ee505 100644 --- a/media/mediaManager.cpp +++ b/media/mediaManager.cpp @@ -396,7 +396,7 @@ bool cMediaManager::Initialise(){ pluginManager = new upnp::cPluginManager(this); if(!pluginManager->LoadPlugins(pluginDirectory)){ - esyslog("UPnP\tError while loading upnp plugin directory '%s'", pluginDirectory); + esyslog("UPnP\tError while loading upnp plugin directory '%s'", pluginDirectory.c_str()); return false; } diff --git a/media/pluginManager.cpp b/media/pluginManager.cpp index 662ae4b..b35cd49 100644 --- a/media/pluginManager.cpp +++ b/media/pluginManager.cpp @@ -7,6 +7,7 @@ #include "../include/plugin.h" #include "../include/tools.h" +#include "../include/pluginManager.h" #include <string> #include <dlfcn.h> #include <dirent.h> @@ -287,7 +288,7 @@ bool upnp::cPluginManager::LoadPlugins(const string& directory){ } } } - closedir(dp); + closedir(dirHandle); return true; } @@ -311,10 +312,13 @@ bool upnp::cPluginManager::DLL::Load(){ provider = (FunctionPtr)dlsym(handle, "UPnPCreateResourceProvider"); if (!(error = dlerror())){ isyslog("UPnP\tFound provider in %s", file.c_str()); + return true; } + profiler = (FunctionPtr)dlsym(handle, "UPnPCreateMediaProfiler"); if (!(error = dlerror())){ isyslog("UPnP\tFound profiler in %s", file.c_str()); + return true; } } |