mirror of
https://projects.vdr-developer.org/git/vdr-plugin-streamdev.git
synced 2023-10-10 19:16:51 +02:00
Disabled PS remuxer which is said to produce anything but PS
This commit is contained in:
parent
1439b016b3
commit
c18f7d47e7
1
HISTORY
1
HISTORY
@ -1,6 +1,7 @@
|
|||||||
VDR Plugin 'streamdev' Revision History
|
VDR Plugin 'streamdev' Revision History
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
|
- Disabled PS remuxer which is said to produce anything but PS
|
||||||
- The patches intcamdevices and ignore_missing_cam are no longer required
|
- The patches intcamdevices and ignore_missing_cam are no longer required
|
||||||
on VDR >= 1.7.30. The localchannelprovide patch became obsolete with VDR
|
on VDR >= 1.7.30. The localchannelprovide patch became obsolete with VDR
|
||||||
1.7.21.
|
1.7.21.
|
||||||
|
7
README
7
README
@ -240,7 +240,6 @@ has been requested in the URL (see below). The supported stream types are:
|
|||||||
|
|
||||||
TS Transport Stream (i.e. a dump from the device)
|
TS Transport Stream (i.e. a dump from the device)
|
||||||
PES Packetized Elemetary Stream (VDR's native recording format)
|
PES Packetized Elemetary Stream (VDR's native recording format)
|
||||||
PS Program Stream (SVCD, DVD like stream)
|
|
||||||
ES Elementary Stream (only Video, if available, otherwise only Audio)
|
ES Elementary Stream (only Video, if available, otherwise only Audio)
|
||||||
EXT Pass stream through external script (e.g. for converting with mencoder)
|
EXT Pass stream through external script (e.g. for converting with mencoder)
|
||||||
|
|
||||||
@ -267,9 +266,9 @@ In addition, you can specify the desired stream type as a path to the channel.
|
|||||||
http://hostname:3000/PES/S19.2E-0-12480-898
|
http://hostname:3000/PES/S19.2E-0-12480-898
|
||||||
|
|
||||||
The first one would deliver the stream in TS, the second one in PES format.
|
The first one would deliver the stream in TS, the second one in PES format.
|
||||||
Possible values are 'PES', 'TS', 'PS', 'ES' and 'EXT'. You need to specify
|
Possible values are 'PES', 'TS', 'ES' and 'EXT'. You need to specify the ES
|
||||||
the ES format explicitly if you want to listen to radio channels. Play them
|
format explicitly if you want to listen to radio channels. Play them back i.e.
|
||||||
back i.e. with mpg123.
|
with mpg123.
|
||||||
|
|
||||||
mpg123 http://hostname:3000/ES/200
|
mpg123 http://hostname:3000/ES/200
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
#ifdef STREAMDEV_PS
|
||||||
|
|
||||||
#include "remux/ts2ps.h"
|
#include "remux/ts2ps.h"
|
||||||
#include "server/streamer.h"
|
#include "server/streamer.h"
|
||||||
#include <vdr/channels.h>
|
#include <vdr/channels.h>
|
||||||
@ -216,3 +218,4 @@ uchar *cTS2PSRemux::Get(int &Count)
|
|||||||
return resultData;
|
return resultData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
#ifdef STREAMDEV_PS
|
||||||
|
|
||||||
#ifndef VDR_STREAMDEV_TS2PSREMUX_H
|
#ifndef VDR_STREAMDEV_TS2PSREMUX_H
|
||||||
#define VDR_STREAMDEV_TS2PSREMUX_H
|
#define VDR_STREAMDEV_TS2PSREMUX_H
|
||||||
|
|
||||||
@ -34,3 +36,5 @@ public:
|
|||||||
} // namespace Streamdev
|
} // namespace Streamdev
|
||||||
|
|
||||||
#endif // VDR_STREAMDEV_TS2PSREMUX_H
|
#endif // VDR_STREAMDEV_TS2PSREMUX_H
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@ -585,10 +585,12 @@ bool cConnectionHTTP::ProcessURI(const std::string& PathInfo)
|
|||||||
// Streamtype with leading / stripped off
|
// Streamtype with leading / stripped off
|
||||||
std::string type = PathInfo.substr(1, PathInfo.find_first_of("/;", 1) - 1);
|
std::string type = PathInfo.substr(1, PathInfo.find_first_of("/;", 1) - 1);
|
||||||
const char* pType = type.c_str();
|
const char* pType = type.c_str();
|
||||||
if (strcasecmp(pType, "PS") == 0) {
|
if (strcasecmp(pType, "PES") == 0) {
|
||||||
m_StreamType = stPS;
|
|
||||||
} else if (strcasecmp(pType, "PES") == 0) {
|
|
||||||
m_StreamType = stPES;
|
m_StreamType = stPES;
|
||||||
|
#ifdef STREAMDEV_PS
|
||||||
|
} else if (strcasecmp(pType, "PS") == 0) {
|
||||||
|
m_StreamType = stPS;
|
||||||
|
#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) {
|
||||||
|
@ -872,10 +872,12 @@ bool cConnectionVTP::CmdCAPS(char *Opts)
|
|||||||
return Respond(220, "Capability \"%s\" accepted", Opts);
|
return Respond(220, "Capability \"%s\" accepted", Opts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef STREAMDEV_PS
|
||||||
if (strcasecmp(Opts, "PS") == 0) {
|
if (strcasecmp(Opts, "PS") == 0) {
|
||||||
m_StreamType = stPS;
|
m_StreamType = stPS;
|
||||||
return Respond(220, "Capability \"%s\" accepted", Opts);
|
return Respond(220, "Capability \"%s\" accepted", Opts);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (strcasecmp(Opts, "PES") == 0) {
|
if (strcasecmp(Opts, "PES") == 0) {
|
||||||
m_StreamType = stPES;
|
m_StreamType = stPES;
|
||||||
|
@ -496,9 +496,11 @@ bool cStreamdevLiveStreamer::SetChannel(const cChannel *Channel, eStreamType Str
|
|||||||
m_Remux = new cTS2PESRemux(m_Channel->Vpid(), Apids, Dpids, m_Channel->Spids());
|
m_Remux = new cTS2PESRemux(m_Channel->Vpid(), Apids, Dpids, m_Channel->Spids());
|
||||||
return SetPids(m_Channel->Vpid(), Apids, Dpids, m_Channel->Spids());
|
return SetPids(m_Channel->Vpid(), Apids, Dpids, m_Channel->Spids());
|
||||||
|
|
||||||
|
#ifdef STREAMDEV_PS
|
||||||
case stPS:
|
case stPS:
|
||||||
m_Remux = new cTS2PSRemux(m_Channel->Vpid(), Apids, Dpids, m_Channel->Spids());
|
m_Remux = new cTS2PSRemux(m_Channel->Vpid(), Apids, Dpids, m_Channel->Spids());
|
||||||
return SetPids(m_Channel->Vpid(), Apids, Dpids, m_Channel->Spids());
|
return SetPids(m_Channel->Vpid(), Apids, Dpids, m_Channel->Spids());
|
||||||
|
#endif
|
||||||
|
|
||||||
case stEXT:
|
case stEXT:
|
||||||
m_Remux = new cExternRemux(Connection(), m_Channel, Apids, Dpids);
|
m_Remux = new cExternRemux(Connection(), m_Channel, Apids, Dpids);
|
||||||
|
@ -260,8 +260,10 @@ std::string cHtmlMenuList::StreamTypeMenu()
|
|||||||
std::string typeMenu;
|
std::string typeMenu;
|
||||||
typeMenu += (streamType == stTS ? (std::string) "[TS] " :
|
typeMenu += (streamType == stTS ? (std::string) "[TS] " :
|
||||||
(std::string) "[<a href=\"/TS/" + self + "\">TS</a>] ");
|
(std::string) "[<a href=\"/TS/" + self + "\">TS</a>] ");
|
||||||
|
#ifdef STREAMDEV_PS
|
||||||
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>] ");
|
||||||
|
#endif
|
||||||
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>] ");
|
||||||
typeMenu += (streamType == stES ? (std::string) "[ES] " :
|
typeMenu += (streamType == stES ? (std::string) "[ES] " :
|
||||||
@ -402,7 +404,9 @@ std::string cHtmlMenuList::ItemText()
|
|||||||
|
|
||||||
switch (streamType) {
|
switch (streamType) {
|
||||||
case stTS: suffix = (std::string) ".ts"; break;
|
case stTS: suffix = (std::string) ".ts"; break;
|
||||||
|
#ifdef STREAMDEV_PS
|
||||||
case stPS: suffix = (std::string) ".vob"; break;
|
case stPS: suffix = (std::string) ".vob"; break;
|
||||||
|
#endif
|
||||||
// for Network Media Tank
|
// for Network Media Tank
|
||||||
case stPES: suffix = (std::string) ".vdr"; break;
|
case stPES: suffix = (std::string) ".vdr"; break;
|
||||||
default: suffix = "";
|
default: suffix = "";
|
||||||
|
Loading…
Reference in New Issue
Block a user