summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchriszero <zerov83@gmail.com>2015-01-13 20:56:08 +0100
committerchriszero <zerov83@gmail.com>2015-01-13 20:56:08 +0100
commit6cd88fdcab8dd291c610a8a5a6a2f6499f6c6d3f (patch)
tree7f930ee6fee6ae4eb44435de5d6215fe3be4d80f
parentd40d85f7ce39d5e8301173a7d21707dd8c3ab5cd (diff)
downloadvdr-plugin-plex-6cd88fdcab8dd291c610a8a5a6a2f6499f6c6d3f.tar.gz
vdr-plugin-plex-6cd88fdcab8dd291c610a8a5a6a2f6499f6c6d3f.tar.bz2
Added syslog messages
-rw-r--r--PlexHTTPRequestHandler.cpp5
-rw-r--r--Plexservice.cpp10
-rw-r--r--hlsPlayer.cpp27
-rw-r--r--m3u8Parser.cpp17
-rw-r--r--m3u8Parser.h1
-rw-r--r--plex.cpp32
-rw-r--r--plexgdm.cpp6
7 files changed, 42 insertions, 56 deletions
diff --git a/PlexHTTPRequestHandler.cpp b/PlexHTTPRequestHandler.cpp
index 034a739..7fc3415 100644
--- a/PlexHTTPRequestHandler.cpp
+++ b/PlexHTTPRequestHandler.cpp
@@ -93,8 +93,7 @@ void ResourceRequestHandler::handleRequest(Poco::Net::HTTPServerRequest& request
response.setStatus(Poco::Net::HTTPResponse::HTTP_REASON_OK);
-
- std::cout << "Resources Response sent..." << std::endl;
+ dsyslog("[plex]Resources Response sent...");
}
void PlayerRequestHandler::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response){
@@ -112,7 +111,7 @@ void PlayerRequestHandler::handleRequest(Poco::Net::HTTPServerRequest& request,
std::ostream& ostr = response.send(); // Stream must not be empty!
ostr << " ";
response.setStatus(Poco::Net::HTTPResponse::HTTP_REASON_OK);
- std::cout << "OPTION Reply send" << std::endl;
+ dsyslog("[plex]OPTION Reply send");
return;
}
diff --git a/Plexservice.cpp b/Plexservice.cpp
index fe73391..cf926c3 100644
--- a/Plexservice.cpp
+++ b/Plexservice.cpp
@@ -317,15 +317,7 @@ std::string Plexservice::GetUniversalTranscodeUrl(Video* video)
params << "&videoResolution=1920x1080";
params << "&videoQuality=100";
params << "&session=" << encode(Config::GetInstance().GetUUID()); // TODO: generate Random SessionID
-
- //params << "&X-Plex-Client-Identifier=" << encode(Config::GetInstance().GetUUID());
- //params << "&X-Plex-Product=Plex%20Home%20Theater";
- //params << "&X-Plex-Device=PC";
- //params << "&X-Plex-Platform=Plex%20Home%20Theater";
- //params << "&X-Plex-Model=Linux";
- //params << "&X-Plex-Platform-Version=7";
- //params << "&X-Plex-Version=1.2.12";
- //params << "&X-Plex-Device-Name=" << "Plex%2FWeb%20(Chrome)";
+
return pServer->GetUri() + params.str();
}
diff --git a/hlsPlayer.cpp b/hlsPlayer.cpp
index 6c8d70c..4d19384 100644
--- a/hlsPlayer.cpp
+++ b/hlsPlayer.cpp
@@ -43,8 +43,8 @@ void cHlsSegmentLoader::Action(void)
int estSize = EstimateSegmentSize();
m_ringBufferSize = MEGABYTE(estSize*3);
-
- std::cout << "Create Ringbuffer " << estSize*3 << "MB" << std::endl;
+
+ isyslog("[plex]%s Create Ringbuffer %d MB", __FUNCTION__, estSize*3);
m_pRingbuffer = new cRingBufferLinear(m_ringBufferSize, 2*TS_SIZE);
@@ -102,7 +102,7 @@ void cHlsSegmentLoader::LoadStartList(void)
return;
}
- m_startParser.Parse(startFile);
+ bool res = m_startParser.Parse(startFile);
pcrecpp::RE re("([0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12})", pcrecpp::RE_Options(PCRE_CASELESS));
string value;
@@ -112,6 +112,9 @@ void cHlsSegmentLoader::LoadStartList(void)
int cHlsSegmentLoader::EstimateSegmentSize()
{
+ if(&m_startParser.vPlaylistItems[0] == NULL) {
+ esyslog("[plex]%s first element NULL", __FUNCTION__);
+ }
double bandw = m_startParser.vPlaylistItems[0].bandwidth / 8.0 / 1000.0 / 1000.0;
int len = m_indexParser.TargetDuration;
@@ -121,8 +124,7 @@ int cHlsSegmentLoader::EstimateSegmentSize()
}
bool cHlsSegmentLoader::LoadSegment(std::string segmentUri)
-{
- std::cout << "Loading Segment: " << segmentUri << "... ";
+{
Poco::Net::HTTPRequest segmentRequest(Poco::Net::HTTPRequest::HTTP_GET, segmentUri);
AddHeader(segmentRequest);
m_pClientSession->sendRequest(segmentRequest);
@@ -132,10 +134,10 @@ bool cHlsSegmentLoader::LoadSegment(std::string segmentUri)
if(segmentResponse.getStatus() != 200) {
// error
- std::cout << "failed." << std::endl;
+ esyslog("[plex]%s Loading Segment: %s failed.", __FUNCTION__, segmentUri.c_str());
return false;
}
- std::cout << "successfully." << std::endl;
+ dsyslog("[plex]%s Loading Segment: %s successfully.", __FUNCTION__, segmentUri.c_str());
// copy response
@@ -145,7 +147,8 @@ bool cHlsSegmentLoader::LoadSegment(std::string segmentUri)
while(n > 0) {
m = m_pRingbuffer->Put(m_pBuffer, n);
if(m < n) {
- // oops, this should not happen. Data doesn't fitted completly into ringbuffer
+ //
+ esyslog("[plex]%s oops, this should not happen. Segment doesn't fitted completly into ringbuffer", __FUNCTION__);
break;
} else {
segmentFile.read(reinterpret_cast<char*>(m_pBuffer), sizeof(m_pBuffer));
@@ -157,6 +160,7 @@ bool cHlsSegmentLoader::LoadSegment(std::string segmentUri)
int cHlsSegmentLoader::GetSegmentSize(int segmentIndex)
{
+ dsyslog("[plex]%s Segment %d", __FUNCTION__, segmentIndex);
if(m_indexParser.vPlaylistItems[segmentIndex].size > 0) {
return m_indexParser.vPlaylistItems[segmentIndex].size;
}
@@ -185,6 +189,7 @@ void cHlsSegmentLoader::CloseConnection(void)
bool cHlsSegmentLoader::ConnectToServer(void)
{
+ dsyslog("[plex]%s", __FUNCTION__);
if(!m_pClientSession)
m_pClientSession = new Poco::Net::HTTPClientSession(m_startUri.getHost(), m_startUri.getPort());
@@ -217,6 +222,7 @@ bool cHlsSegmentLoader::BufferFilled(void)
bool cHlsSegmentLoader::StopLoader(void)
{
+ dsyslog("[plex]%s", __FUNCTION__);
std::string stopUri = "/video/:/transcode/segmented/stop?session=" + m_sessionCookie;
Poco::Net::HTTPRequest req(Poco::Net::HTTPRequest::HTTP_GET, stopUri);
m_pClientSession->sendRequest(req);
@@ -307,6 +313,7 @@ bool cHlsPlayer::GetIndex(int& Current, int& Total, bool SnapToIFrame)
bool cHlsPlayer::GetReplayMode(bool& Play, bool& Forward, int& Speed)
{
+ dsyslog("[plex]%s", __FUNCTION__);
Play = (playMode == pmPlay);
Forward = true;
Speed = -1;
@@ -315,7 +322,7 @@ bool cHlsPlayer::GetReplayMode(bool& Play, bool& Forward, int& Speed)
void cHlsPlayer::Pause(void)
{
- // from vdr-1.7.34
+ dsyslog("[plex]%s", __FUNCTION__);
if (playMode == pmPause) {
Play();
} else {
@@ -328,7 +335,7 @@ void cHlsPlayer::Pause(void)
void cHlsPlayer::Play(void)
{
- // from vdr-1.7.34
+ dsyslog("[plex]%s", __FUNCTION__);
if (playMode != pmPlay) {
LOCK_THREAD;
diff --git a/m3u8Parser.cpp b/m3u8Parser.cpp
index 8d7382b..9c2657f 100644
--- a/m3u8Parser.cpp
+++ b/m3u8Parser.cpp
@@ -1,5 +1,6 @@
#include "m3u8Parser.h"
#include <pcrecpp.h>
+#include <vdr/tools.h>
cM3u8Parser::cM3u8Parser()
{
@@ -38,9 +39,15 @@ bool cM3u8Parser::Parse(std::istream& m3u8)
while (std::getline(m3u8, line)) {
if(lineNo == 0 && "#EXTM3U" == line ) {
+ lineNo++;
+ continue;
+ } else if(lineNo == 0) {
// Invalid File
ok = false;
- continue;
+ esyslog("[plex]%s m3u8 is invalid. dumping File:", __FUNCTION__);
+ esyslog("[plex]%s", line.c_str());
+ eDump(m3u8);
+ break;
}
if( re.FullMatch(line) ) {
@@ -99,6 +106,14 @@ bool cM3u8Parser::Parse(std::istream& m3u8)
return ok;
}
+void cM3u8Parser::eDump(std::istream &m3u8)
+{
+ std::string line;
+ while (std::getline(m3u8, line)) {
+ esyslog("[plex]%s", line.c_str());
+ }
+}
+
/*
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=4000000
diff --git a/m3u8Parser.h b/m3u8Parser.h
index 0f52002..3bd0ae2 100644
--- a/m3u8Parser.h
+++ b/m3u8Parser.h
@@ -17,6 +17,7 @@ public:
};
private:
void Init();
+ void eDump(std::istream &m3u8);
public:
std::vector<playListItem> vPlaylistItems;
diff --git a/plex.cpp b/plex.cpp
index 78af52f..a761303 100644
--- a/plex.cpp
+++ b/plex.cpp
@@ -14,7 +14,7 @@ char ConfigDisableRemote; ///< disable remote during external play
*/
static void PlayFile(std::string filename, plexclient::Video* pVid)
{
- dsyslog("[plex]: play file '%s'\n", filename.c_str());
+ isyslog("[plex]: play file '%s'\n", filename.c_str());
//cControl::Launch(new cMyControl(filename));
cControl::Launch(new cHlsPlayerControl(new cHlsPlayer(filename), pVid->m_sTitle.c_str()));
}
@@ -26,15 +26,6 @@ static void PlayFile(std::string filename, plexclient::Video* pVid)
static char ShowBrowser; ///< flag show browser
static plexclient::PlexServer* pPlexServer;
-/*
-static const char *BrowserStartDir; ///< browser start directory
-static const NameFilter *BrowserFilters; ///< browser name filters
-static int DirStackSize; ///< size of directory stack
-static int DirStackUsed; ///< entries used of directory stack
-static char **DirStack; ///< current path directory stack
-
-*/
-
cPlexBrowser::cPlexBrowser(const char *title, plexclient::PlexServer* pServ) :cOsdMenu(title) {
@@ -127,7 +118,6 @@ eOSState cPlexBrowser::LevelUp() {
uri += "/";
}
}
- std::cout << "m_sSection: " << uri << std::endl;
pCont = pService->GetSection(uri);
@@ -136,19 +126,12 @@ eOSState cPlexBrowser::LevelUp() {
}
eOSState cPlexBrowser::ProcessSelected() {
- std::string fullUri;
- //char *filename;
- //char *tmp;
-
int current = Current(); // get current menu item index
cPlexOsdItem *item = static_cast<cPlexOsdItem*>(Get(current));
if(item->IsVideo()) {
- plexclient::Video* pVid = item->GetAttachedVideo();
- fullUri = pService->GetServer()->GetUri() + pVid->m_pMedia->m_sPartKey;
- std::cout << "TrancodeUri: " << pService->GetUniversalTranscodeUrl(pVid) << std::endl;
-
+ plexclient::Video* pVid = item->GetAttachedVideo();
PlayFile(pService->GetUniversalTranscodeUrl(pVid).c_str(), pVid);
return osEnd;
}
@@ -303,12 +286,6 @@ bool cMyPlugin::ProcessArgs(int argc, char *argv[])
*/
bool cMyPlugin::Initialize(void)
{
- //dsyslog("[plex]%s:\n", __FUNCTION__);
-
- // FIXME: can delay until needed?
- //Status = new cMyStatus; // start monitoring
- // FIXME: destructs memory
-
// First Startup? Save UUID
SetupStore("UUID", Config::GetInstance().GetUUID().c_str());
@@ -321,8 +298,7 @@ bool cMyPlugin::Initialize(void)
plexclient::ControlServer::GetInstance().Start();
} else {
- perror("No Plexserver found");
- std::cout << "No Plexmediaserver found" << std::endl;
+ esyslog("[plex]No Plexmediaserver found");
}
return true;
@@ -344,7 +320,7 @@ cOsdObject *cMyPlugin::MainMenuAction(void)
//dsyslog("[plex]%s:\n", __FUNCTION__);
if (ShowBrowser) {
- return new cPlexBrowser("Newest", pPlexServer);
+ return new cPlexBrowser("Browse Plex", pPlexServer);
}
return new cPlayMenu("Plex");
}
diff --git a/plexgdm.cpp b/plexgdm.cpp
index 769e5dd..a2aeb6d 100644
--- a/plexgdm.cpp
+++ b/plexgdm.cpp
@@ -101,7 +101,6 @@ try {
}
catch(Poco::Exception &exc){
esyslog("[plex]Exception in %s s%", __func__, exc.displayText().c_str() );
- std::cout << "[plex]Exception: in " << __func__ << " | " << exc.displayText() << std::endl;
}
}
@@ -130,12 +129,10 @@ void plexgdm::discover()
if(buf.find("200 OK") != std::string::npos) {
vBuffer[sender.host().toString()] = buf;
}
- //std::cout << "Discover received from: " << sender.host().toString() << "\nData:\n" << buf << std::endl;
}
}
catch(Poco::TimeoutException &exc){
- //dsyslog("[plex]TimeoutException in %s s%", __func__, exc.displayText().c_str() );
- std::cout << "[plex]TimeoutException: in " << __func__ << " | " << exc.displayText() << std::endl;
+ dsyslog("[plex]TimeoutException in %s s%", __func__, exc.displayText().c_str() );
}
socket.close();
@@ -151,7 +148,6 @@ void plexgdm::discover()
void plexgdm::stopRegistration()
{
- std::cout << "stop Reg" << std::endl;
if(m_registrationIsRunning) {
m_registrationIsRunning = false;
m_waitCondition.Broadcast();