summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschmirl <schmirl>2008-10-31 11:59:55 +0000
committerschmirl <schmirl>2008-10-31 11:59:55 +0000
commit4d4f39f8cd96705793f0d247667a1af67d75c653 (patch)
treead774db2551bd3b69aba5abd085f07315395c3e8
parent30ebb2dad17aa80990fc2dd0f7dd99e1ceace95a (diff)
downloadvdr-plugin-streamdev-4d4f39f8cd96705793f0d247667a1af67d75c653.tar.gz
vdr-plugin-streamdev-4d4f39f8cd96705793f0d247667a1af67d75c653.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 2041ec2..e9c4aab 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -83,3 +83,6 @@ Diego Pierotto
micky979
for providing French language texts
+
+wirbel
+ for pointing out that section filtering is optional for VDR devices
diff --git a/HISTORY b/HISTORY
index ff2952b..e46880a 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1,6 +1,9 @@
eDR 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 624ce90..cea0523 100644
--- a/server/livestreamer.c
+++ b/server/livestreamer.c
@@ -483,6 +483,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;