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
---------------------------------------
- disabled PES for VDR 1.7.3+
- added Network Media Tank browser support to HTML pages (thanks to Jori
Hamalainen)
- 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>
@ -14,7 +14,9 @@ const char *VERSION = "0.5.0-pre";
const char *StreamTypes[st_Count] = {
"TS",
#if APIVERSNUM < 10703
"PES",
#endif
"PS",
"ES",
"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
@ -51,7 +51,9 @@ const cChannel *ChannelFromString(const char *String, int *Apid = NULL);
enum eStreamType {
stTS,
#if APIVERSNUM < 10703
stPES,
#endif
stPS,
stES,
stExtern,

View File

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

View File

@ -4,6 +4,10 @@
#include "libdvbmpeg/transform.h"
#include <vdr/remux.h>
#ifndef NO_PICTURE
#define NO_PICTURE 0
#endif
#define RESULTBUFFERSIZE KILOBYTE(256)
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>
@ -208,8 +208,10 @@ bool cConnectionHTTP::CmdGET(const std::string &Opts)
const char* pType = type.c_str();
if (strcasecmp(pType, "PS") == 0) {
m_StreamType = stPS;
#if APIVERSNUM < 10703
} else if (strcasecmp(pType, "PES") == 0) {
m_StreamType = stPES;
#endif
} else if (strcasecmp(pType, "TS") == 0) {
m_StreamType = stTS;
} else if (strcasecmp(pType, "ES") == 0) {
@ -261,7 +263,9 @@ bool cConnectionHTTP::CmdGET(const std::string &Opts)
{
case stTS: base += "TS/"; break;
case stPS: base += "PS/"; break;
#if APIVERSNUM < 10703
case stPES: base += "PES/"; break;
#endif
case stES: base += "ES/"; break;
case stExtern: base += "Extern/"; 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"
@ -595,10 +595,12 @@ bool cConnectionVTP::CmdCAPS(char *Opts)
return Respond(220, "Capability \"%s\" accepted", Opts);
}
#if APIVERSNUM < 10703
if (strcasecmp(Opts, "PES") == 0) {
m_StreamType = stPES;
return Respond(220, "Capability \"%s\" accepted", Opts);
}
#endif
if (strcasecmp(Opts, "EXTERN") == 0) {
m_StreamType = stExtern;

View File

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

View File

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

View File

@ -201,8 +201,10 @@ std::string cHtmlChannelList::StreamTypeMenu()
(std::string) "[<a href=\"/TS/" + self + "\">TS</a>] ");
typeMenu += (streamType == stPS ? (std::string) "[PS] " :
(std::string) "[<a href=\"/PS/" + self + "\">PS</a>] ");
#if APIVERSNUM < 10703
typeMenu += (streamType == stPES ? (std::string) "[PES] " :
(std::string) "[<a href=\"/PES/" + self + "\">PES</a>] ");
#endif
typeMenu += (streamType == stES ? (std::string) "[ES] " :
(std::string) "[<a href=\"/ES/" + self + "\">ES</a>] ");
typeMenu += (streamType == stExtern ? (std::string) "[Extern] " :
@ -341,8 +343,10 @@ std::string cHtmlChannelList::ItemText()
switch (streamType) {
case stTS: suffix = (std::string) ".ts"; break;
case stPS: suffix = (std::string) ".vob"; break;
#if APIVERSNUM < 10703
// for Network Media Tank
case stPES: suffix = (std::string) ".vdr"; break;
#endif
default: suffix = "";
}
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>
@ -15,7 +15,7 @@ cStreamdevServerSetup::cStreamdevServerSetup(void) {
VTPServerPort = 2004;
StartHTTPServer = true;
HTTPServerPort = 3000;
HTTPStreamType = stPES;
HTTPStreamType = stTS;
SuspendMode = smAlways;
AllowSuspend = false;
strcpy(VTPBindIP, "0.0.0.0");