diff options
author | chriszero <zerov83@gmail.com> | 2015-01-13 20:56:08 +0100 |
---|---|---|
committer | chriszero <zerov83@gmail.com> | 2015-01-13 20:56:08 +0100 |
commit | 6cd88fdcab8dd291c610a8a5a6a2f6499f6c6d3f (patch) | |
tree | 7f930ee6fee6ae4eb44435de5d6215fe3be4d80f | |
parent | d40d85f7ce39d5e8301173a7d21707dd8c3ab5cd (diff) | |
download | vdr-plugin-plex-6cd88fdcab8dd291c610a8a5a6a2f6499f6c6d3f.tar.gz vdr-plugin-plex-6cd88fdcab8dd291c610a8a5a6a2f6499f6c6d3f.tar.bz2 |
Added syslog messages
-rw-r--r-- | PlexHTTPRequestHandler.cpp | 5 | ||||
-rw-r--r-- | Plexservice.cpp | 10 | ||||
-rw-r--r-- | hlsPlayer.cpp | 27 | ||||
-rw-r--r-- | m3u8Parser.cpp | 17 | ||||
-rw-r--r-- | m3u8Parser.h | 1 | ||||
-rw-r--r-- | plex.cpp | 32 | ||||
-rw-r--r-- | plexgdm.cpp | 6 |
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; @@ -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(); |