summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphintuka <phintuka>2009-03-19 08:40:45 +0000
committerphintuka <phintuka>2009-03-19 08:40:45 +0000
commit2eb31492aee9536bc2022e10707347b8db48cffa (patch)
treed49574bb67a448584cde342033f4f7234c3b7298
parent20931cfce908f2fb3f6498b5ca296e7a2666a25b (diff)
downloadxineliboutput-2eb31492aee9536bc2022e10707347b8db48cffa.tar.gz
xineliboutput-2eb31492aee9536bc2022e10707347b8db48cffa.tar.bz2
Pass header (PAT+PMT) to server for caching
-rw-r--r--device.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/device.c b/device.c
index 44556592..c542a896 100644
--- a/device.c
+++ b/device.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: device.c,v 1.73 2009-02-16 16:18:24 phintuka Exp $
+ * $Id: device.c,v 1.74 2009-03-19 08:40:45 phintuka Exp $
*
*/
@@ -1134,6 +1134,8 @@ int cXinelibDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly)
m_PatPmtParser.ParsePat(Data + PayloadOffset, Length - PayloadOffset);
#endif
LOGMSG("Got PAT: PMT pid = %d", m_PatPmtParser.PmtPid());
+ if (m_server)
+ m_Server->SetHeader(Data, Length, true);
PlayAny(Data, Length);
} else if (Pid == m_PatPmtParser.PmtPid()) {
#if VDRVERSNUM >= 10704
@@ -1143,6 +1145,8 @@ int cXinelibDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly)
#endif
m_h264 = (m_PatPmtParser.Vtype() == 0x1b); /* ISO_14496_PART10_VIDEO */
LOGMSG("Got PMT packet, h264 = %d", m_h264?1:0);
+ if (m_server)
+ m_Server->SetHeader(Data, Length);
PlayAny(Data, Length);
TsBufferFlush();
}