summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschmirl <schmirl>2008-10-31 11:59:48 +0000
committerschmirl <schmirl>2008-10-31 11:59:48 +0000
commit7184adef839d442612d10d46611bfd4042ac30e3 (patch)
treed3f5a8500e50a14db8ed2a01998f01608bef89c6
parentac2e992305d0840ff0f82403b017fd60a8bbe0e6 (diff)
downloadvdr-plugin-streamdev-7184adef839d442612d10d46611bfd4042ac30e3.tar.gz
vdr-plugin-streamdev-7184adef839d442612d10d46611bfd4042ac30e3.tar.bz2
consider Pids from channels.conf when HTTP TS streaming. Section filtering
is an optional feature for VDR devices, so we must not rely on the PMT alone (#473)
-rw-r--r--CONTRIBUTORS3
-rw-r--r--HISTORY3
-rw-r--r--server/livestreamer.c4
3 files changed, 10 insertions, 0 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 290b1e2..ef0dbfa 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -94,3 +94,6 @@ Pixelpeter
Anssi Hannula
for the vdr-1.6.0-ignore_missing_cam.diff patch
+
+wirbel
+ for pointing out that section filtering is optional for VDR devices
diff --git a/HISTORY b/HISTORY
index a8a1b2b..1d82ec6 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1,6 +1,9 @@
VDR Plugin 'streamdev' Revision History
---------------------------------------
+- consider Pids from channels.conf when HTTP TS streaming. Section filtering
+ is an optional feature for VDR devices, so we must not rely on the PMT
+ alone (pointed out by wirbel@vdrportal)
- improved externremux script termination (thanks to Rolf Ahrenberg)
- use cThread::Running()/Active() instead of private members (thanks to
Rolf Ahrenberg)
diff --git a/server/livestreamer.c b/server/livestreamer.c
index 98bee87..f91f495 100644
--- a/server/livestreamer.c
+++ b/server/livestreamer.c
@@ -470,6 +470,10 @@ bool cStreamdevLiveStreamer::SetChannel(const cChannel *Channel, eStreamType Str
Detach();
DELETENULL(m_PatFilter);
}
+ // Set pids from cChannel
+ SetPids(m_Channel->Vpid(), Apids, Dpids, m_Channel->Spids());
+ if (m_Channel->Vpid() != m_Channel->Ppid())
+ SetPid(m_Channel->Ppid(), true);
// Set pids from PMT
m_PatFilter = new cStreamdevPatFilter(this, m_Channel);
return true;