diff options
author | phintuka <phintuka> | 2010-05-19 12:56:59 +0000 |
---|---|---|
committer | phintuka <phintuka> | 2010-05-19 12:56:59 +0000 |
commit | 55041dce0da763a0e16427761a0959ed09f88576 (patch) | |
tree | 1a18284275cfbac8ba3db0ae895294ddd01265b4 | |
parent | 32c929ea8ba993a0d77627a163b11ae1670761c1 (diff) | |
download | xineliboutput-55041dce0da763a0e16427761a0959ed09f88576.tar.gz xineliboutput-55041dce0da763a0e16427761a0959ed09f88576.tar.bz2 |
PlayTsVideo(): check if data is from video stream (PCR pid uses PlayTsVideo())
-rw-r--r-- | device.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -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.105 2010-03-15 12:40:30 phintuka Exp $ + * $Id: device.c,v 1.106 2010-05-19 12:56:59 phintuka Exp $ * */ @@ -1219,10 +1219,12 @@ int cXinelibDevice::PlayTsAudio(const uchar *Data, int Length) int cXinelibDevice::PlayTsVideo(const uchar *Data, int Length) { + if (ts_PID(Data) == PatPmtParser()->Vpid()) { + if (!AcceptVideoPacket(Data, Length)) return Length; - if (m_StreamStart && ts_PID(Data) == PatPmtParser()->Vpid()) { + if (m_StreamStart) { if (!m_tssVideoSize) m_tssVideoSize = ts_state_init(4096); @@ -1237,6 +1239,7 @@ int cXinelibDevice::PlayTsVideo(const uchar *Data, int Length) m_tssVideoSize = NULL; } } + } return PlayTsAny(Data, Length); } |