summaryrefslogtreecommitdiff
path: root/hlsPlayer.cpp
diff options
context:
space:
mode:
authorchriszero <zerov83@gmail.com>2015-01-12 21:32:12 +0100
committerchriszero <zerov83@gmail.com>2015-01-12 21:32:12 +0100
commitd40d85f7ce39d5e8301173a7d21707dd8c3ab5cd (patch)
treed75fb08567d70fa32e96b11b61795f6a1a282ffd /hlsPlayer.cpp
parent243e2d5097351046aa07f3c0af6ab0bb7c91ed2e (diff)
downloadvdr-plugin-plex-d40d85f7ce39d5e8301173a7d21707dd8c3ab5cd.tar.gz
vdr-plugin-plex-d40d85f7ce39d5e8301173a7d21707dd8c3ab5cd.tar.bz2
Fixes Segfault after playing a movie
Diffstat (limited to 'hlsPlayer.cpp')
-rw-r--r--hlsPlayer.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/hlsPlayer.cpp b/hlsPlayer.cpp
index 5fa7b0e..6c8d70c 100644
--- a/hlsPlayer.cpp
+++ b/hlsPlayer.cpp
@@ -66,6 +66,7 @@ void cHlsSegmentLoader::LoadIndexList(void)
Poco::URI indexUri(startUri+m_startParser.vPlaylistItems[0].file);
Poco::Net::HTTPRequest request(Poco::Net::HTTPRequest::HTTP_GET, indexUri.getPath());
+ AddHeader(request);
// same server
m_pClientSession->sendRequest(request);
@@ -90,6 +91,7 @@ void cHlsSegmentLoader::LoadStartList(void)
ConnectToServer();
Poco::Net::HTTPRequest request(Poco::Net::HTTPRequest::HTTP_GET, m_startUri.getPathAndQuery());
+ AddHeader(request);
m_pClientSession->sendRequest(request);
Poco::Net::HTTPResponse responseStart;
@@ -122,6 +124,7 @@ 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);
Poco::Net::HTTPResponse segmentResponse;
@@ -158,6 +161,7 @@ int cHlsSegmentLoader::GetSegmentSize(int segmentIndex)
return m_indexParser.vPlaylistItems[segmentIndex].size;
}
Poco::Net::HTTPRequest req(Poco::Net::HTTPRequest::HTTP_HEAD, GetSegmentUri(segmentIndex));
+ AddHeader(req);
m_pClientSession->sendRequest(req);
Poco::Net::HTTPResponse reqResponse;
m_pClientSession->receiveResponse(reqResponse);
@@ -223,6 +227,14 @@ bool cHlsSegmentLoader::StopLoader(void)
return reqResponse.getStatus() == 200;
}
+void cHlsSegmentLoader::AddHeader(Poco::Net::HTTPRequest& req)
+{
+ req.add("X-Plex-Client-Identifier", Config::GetInstance().GetUUID());
+ req.add("X-Plex-Product", "Plex Home Theater");
+ req.add("X-Plex-Device", "PC");
+ req.add("X-Plex-Platform", "Plex Home Theater");
+ req.add("X-Plex-Model", "Linux");
+}
//--- cHlsPlayer