summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--httptnt/resourceStreamer.ecpp26
-rw-r--r--include/media/mediaManager.h3
-rw-r--r--include/plugin.h54
-rw-r--r--include/pluginManager.h3
-rw-r--r--media/mediaManager.cpp2
-rw-r--r--media/pluginManager.cpp6
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;
}
}