Commented PES for vdr 1.7.3+

Modified Files:
	HISTORY common.c common.h remux/ts2ps.h remux/tsremux.h
	server/connectionHTTP.c server/connectionVTP.c
	server/livestreamer.c server/livestreamer.h server/menuHTTP.c
	server/setup.c
This commit is contained in:
schmirl 2009-01-16 11:35:43 +00:00
parent 41cf7a5848
commit 9af6ceb007
11 changed files with 45 additions and 6 deletions

View File

@ -1,6 +1,7 @@
VDR Plugin 'streamdev' Revision History VDR Plugin 'streamdev' Revision History
--------------------------------------- ---------------------------------------
- disabled PES for VDR 1.7.3+
- added Network Media Tank browser support to HTML pages (thanks to Jori - added Network Media Tank browser support to HTML pages (thanks to Jori
Hamalainen) Hamalainen)
- minor fixes of PAT repacker - minor fixes of PAT repacker

View File

@ -1,5 +1,5 @@
/* /*
* $Id: common.c,v 1.8 2008/04/08 14:18:15 schmirl Exp $ * $Id: common.c,v 1.9 2009/01/16 11:35:43 schmirl Exp $
*/ */
#include <vdr/channels.h> #include <vdr/channels.h>
@ -14,7 +14,9 @@ const char *VERSION = "0.5.0-pre";
const char *StreamTypes[st_Count] = { const char *StreamTypes[st_Count] = {
"TS", "TS",
#if APIVERSNUM < 10703
"PES", "PES",
#endif
"PS", "PS",
"ES", "ES",
"Extern", "Extern",

View File

@ -1,5 +1,5 @@
/* /*
* $Id: common.h,v 1.11 2008/04/07 14:40:39 schmirl Exp $ * $Id: common.h,v 1.12 2009/01/16 11:35:43 schmirl Exp $
*/ */
#ifndef VDR_STREAMDEV_COMMON_H #ifndef VDR_STREAMDEV_COMMON_H
@ -51,7 +51,9 @@ const cChannel *ChannelFromString(const char *String, int *Apid = NULL);
enum eStreamType { enum eStreamType {
stTS, stTS,
#if APIVERSNUM < 10703
stPES, stPES,
#endif
stPS, stPS,
stES, stES,
stExtern, stExtern,

View File

@ -5,6 +5,10 @@
#include <vdr/remux.h> #include <vdr/remux.h>
#include <vdr/ringbuffer.h> #include <vdr/ringbuffer.h>
#ifndef MAXTRACKS
#define MAXTRACKS 64
#endif
class cTS2PS; class cTS2PS;
class cTS2PSRemux: public cTSRemux { class cTS2PSRemux: public cTSRemux {

View File

@ -4,6 +4,10 @@
#include "libdvbmpeg/transform.h" #include "libdvbmpeg/transform.h"
#include <vdr/remux.h> #include <vdr/remux.h>
#ifndef NO_PICTURE
#define NO_PICTURE 0
#endif
#define RESULTBUFFERSIZE KILOBYTE(256) #define RESULTBUFFERSIZE KILOBYTE(256)
class cTSRemux { class cTSRemux {

View File

@ -1,5 +1,5 @@
/* /*
* $Id: connectionHTTP.c,v 1.14 2008/10/14 11:05:47 schmirl Exp $ * $Id: connectionHTTP.c,v 1.15 2009/01/16 11:35:44 schmirl Exp $
*/ */
#include <ctype.h> #include <ctype.h>
@ -208,8 +208,10 @@ bool cConnectionHTTP::CmdGET(const std::string &Opts)
const char* pType = type.c_str(); const char* pType = type.c_str();
if (strcasecmp(pType, "PS") == 0) { if (strcasecmp(pType, "PS") == 0) {
m_StreamType = stPS; m_StreamType = stPS;
#if APIVERSNUM < 10703
} else if (strcasecmp(pType, "PES") == 0) { } else if (strcasecmp(pType, "PES") == 0) {
m_StreamType = stPES; m_StreamType = stPES;
#endif
} else if (strcasecmp(pType, "TS") == 0) { } else if (strcasecmp(pType, "TS") == 0) {
m_StreamType = stTS; m_StreamType = stTS;
} else if (strcasecmp(pType, "ES") == 0) { } else if (strcasecmp(pType, "ES") == 0) {
@ -261,7 +263,9 @@ bool cConnectionHTTP::CmdGET(const std::string &Opts)
{ {
case stTS: base += "TS/"; break; case stTS: base += "TS/"; break;
case stPS: base += "PS/"; break; case stPS: base += "PS/"; break;
#if APIVERSNUM < 10703
case stPES: base += "PES/"; break; case stPES: base += "PES/"; break;
#endif
case stES: base += "ES/"; break; case stES: base += "ES/"; break;
case stExtern: base += "Extern/"; break; case stExtern: base += "Extern/"; break;
default: break; default: break;

View File

@ -1,5 +1,5 @@
/* /*
* $Id: connectionVTP.c,v 1.18 2008/04/07 14:27:30 schmirl Exp $ * $Id: connectionVTP.c,v 1.19 2009/01/16 11:35:44 schmirl Exp $
*/ */
#include "server/connectionVTP.h" #include "server/connectionVTP.h"
@ -595,10 +595,12 @@ bool cConnectionVTP::CmdCAPS(char *Opts)
return Respond(220, "Capability \"%s\" accepted", Opts); return Respond(220, "Capability \"%s\" accepted", Opts);
} }
#if APIVERSNUM < 10703
if (strcasecmp(Opts, "PES") == 0) { if (strcasecmp(Opts, "PES") == 0) {
m_StreamType = stPES; m_StreamType = stPES;
return Respond(220, "Capability \"%s\" accepted", Opts); return Respond(220, "Capability \"%s\" accepted", Opts);
} }
#endif
if (strcasecmp(Opts, "EXTERN") == 0) { if (strcasecmp(Opts, "EXTERN") == 0) {
m_StreamType = stExtern; m_StreamType = stExtern;

View File

@ -329,7 +329,9 @@ cStreamdevLiveStreamer::cStreamdevLiveStreamer(int Priority, std::string Paramet
m_Device(NULL), m_Device(NULL),
m_Receiver(NULL), m_Receiver(NULL),
m_PatFilter(NULL), m_PatFilter(NULL),
#if APIVERSNUM < 10703
m_PESRemux(NULL), m_PESRemux(NULL),
#endif
m_ESRemux(NULL), m_ESRemux(NULL),
m_PSRemux(NULL), m_PSRemux(NULL),
m_ExtRemux(NULL) m_ExtRemux(NULL)
@ -345,7 +347,9 @@ cStreamdevLiveStreamer::~cStreamdevLiveStreamer()
DELETENULL(m_PatFilter); DELETENULL(m_PatFilter);
} }
DELETENULL(m_Receiver); DELETENULL(m_Receiver);
#if APIVERSNUM < 10703
delete m_PESRemux; delete m_PESRemux;
#endif
delete m_ESRemux; delete m_ESRemux;
delete m_PSRemux; delete m_PSRemux;
delete m_ExtRemux; delete m_ExtRemux;
@ -459,10 +463,12 @@ bool cStreamdevLiveStreamer::SetChannel(const cChannel *Channel, eStreamType Str
return SetPids(pid); return SetPids(pid);
} }
#if APIVERSNUM < 10703
case stPES: case stPES:
m_PESRemux = new cRemux(m_Channel->Vpid(), m_Channel->Apids(), m_Channel->Dpids(), m_PESRemux = new cRemux(m_Channel->Vpid(), m_Channel->Apids(), m_Channel->Dpids(),
m_Channel->Spids(), false); m_Channel->Spids(), false);
return SetPids(m_Channel->Vpid(), Apids, Dpids, m_Channel->Spids()); return SetPids(m_Channel->Vpid(), Apids, Dpids, m_Channel->Spids());
#endif
case stPS: case stPS:
m_PSRemux = new cTS2PSRemux(m_Channel->Vpid(), m_Channel->Apids(), m_Channel->Dpids(), m_PSRemux = new cTS2PSRemux(m_Channel->Vpid(), m_Channel->Apids(), m_Channel->Dpids(),
@ -502,8 +508,10 @@ int cStreamdevLiveStreamer::Put(const uchar *Data, int Count)
case stTSPIDS: case stTSPIDS:
return cStreamdevStreamer::Put(Data, Count); return cStreamdevStreamer::Put(Data, Count);
#if APIVERSNUM < 10703
case stPES: case stPES:
return m_PESRemux->Put(Data, Count); return m_PESRemux->Put(Data, Count);
#endif
case stES: case stES:
return m_ESRemux->Put(Data, Count); return m_ESRemux->Put(Data, Count);
@ -526,8 +534,10 @@ uchar *cStreamdevLiveStreamer::Get(int &Count)
case stTSPIDS: case stTSPIDS:
return cStreamdevStreamer::Get(Count); return cStreamdevStreamer::Get(Count);
#if APIVERSNUM < 10703
case stPES: case stPES:
return m_PESRemux->Get(Count); return m_PESRemux->Get(Count);
#endif
case stES: case stES:
return m_ESRemux->Get(Count); return m_ESRemux->Get(Count);
@ -551,9 +561,11 @@ void cStreamdevLiveStreamer::Del(int Count)
cStreamdevStreamer::Del(Count); cStreamdevStreamer::Del(Count);
break; break;
#if APIVERSNUM < 10703
case stPES: case stPES:
m_PESRemux->Del(Count); m_PESRemux->Del(Count);
break; break;
#endif
case stES: case stES:
m_ESRemux->Del(Count); m_ESRemux->Del(Count);

View File

@ -10,7 +10,9 @@
class cTS2PSRemux; class cTS2PSRemux;
class cTS2ESRemux; class cTS2ESRemux;
class cExternRemux; class cExternRemux;
#if APIVERSNUM < 10703
class cRemux; class cRemux;
#endif
class cStreamdevPatFilter; class cStreamdevPatFilter;
class cStreamdevLiveReceiver; class cStreamdevLiveReceiver;
@ -27,7 +29,9 @@ private:
cDevice *m_Device; cDevice *m_Device;
cStreamdevLiveReceiver *m_Receiver; cStreamdevLiveReceiver *m_Receiver;
cStreamdevPatFilter *m_PatFilter; cStreamdevPatFilter *m_PatFilter;
#if APIVERSNUM < 10703
cRemux *m_PESRemux; cRemux *m_PESRemux;
#endif
cTS2ESRemux *m_ESRemux; cTS2ESRemux *m_ESRemux;
cTS2PSRemux *m_PSRemux; cTS2PSRemux *m_PSRemux;
cExternRemux *m_ExtRemux; cExternRemux *m_ExtRemux;

View File

@ -201,8 +201,10 @@ std::string cHtmlChannelList::StreamTypeMenu()
(std::string) "[<a href=\"/TS/" + self + "\">TS</a>] "); (std::string) "[<a href=\"/TS/" + self + "\">TS</a>] ");
typeMenu += (streamType == stPS ? (std::string) "[PS] " : typeMenu += (streamType == stPS ? (std::string) "[PS] " :
(std::string) "[<a href=\"/PS/" + self + "\">PS</a>] "); (std::string) "[<a href=\"/PS/" + self + "\">PS</a>] ");
#if APIVERSNUM < 10703
typeMenu += (streamType == stPES ? (std::string) "[PES] " : typeMenu += (streamType == stPES ? (std::string) "[PES] " :
(std::string) "[<a href=\"/PES/" + self + "\">PES</a>] "); (std::string) "[<a href=\"/PES/" + self + "\">PES</a>] ");
#endif
typeMenu += (streamType == stES ? (std::string) "[ES] " : typeMenu += (streamType == stES ? (std::string) "[ES] " :
(std::string) "[<a href=\"/ES/" + self + "\">ES</a>] "); (std::string) "[<a href=\"/ES/" + self + "\">ES</a>] ");
typeMenu += (streamType == stExtern ? (std::string) "[Extern] " : typeMenu += (streamType == stExtern ? (std::string) "[Extern] " :
@ -341,8 +343,10 @@ std::string cHtmlChannelList::ItemText()
switch (streamType) { switch (streamType) {
case stTS: suffix = (std::string) ".ts"; break; case stTS: suffix = (std::string) ".ts"; break;
case stPS: suffix = (std::string) ".vob"; break; case stPS: suffix = (std::string) ".vob"; break;
#if APIVERSNUM < 10703
// for Network Media Tank // for Network Media Tank
case stPES: suffix = (std::string) ".vdr"; break; case stPES: suffix = (std::string) ".vdr"; break;
#endif
default: suffix = ""; default: suffix = "";
} }
line += (std::string) "<li value=\"" + (const char*) itoa(current->Number()) + "\">"; line += (std::string) "<li value=\"" + (const char*) itoa(current->Number()) + "\">";

View File

@ -1,5 +1,5 @@
/* /*
* $Id: setup.c,v 1.4 2008/04/08 14:18:18 schmirl Exp $ * $Id: setup.c,v 1.5 2009/01/16 11:35:44 schmirl Exp $
*/ */
#include <vdr/menuitems.h> #include <vdr/menuitems.h>
@ -15,7 +15,7 @@ cStreamdevServerSetup::cStreamdevServerSetup(void) {
VTPServerPort = 2004; VTPServerPort = 2004;
StartHTTPServer = true; StartHTTPServer = true;
HTTPServerPort = 3000; HTTPServerPort = 3000;
HTTPStreamType = stPES; HTTPStreamType = stTS;
SuspendMode = smAlways; SuspendMode = smAlways;
AllowSuspend = false; AllowSuspend = false;
strcpy(VTPBindIP, "0.0.0.0"); strcpy(VTPBindIP, "0.0.0.0");