diff options
| author | Thomas Reufer <thomas@reufer.ch> | 2015-04-29 16:48:51 +0200 |
|---|---|---|
| committer | Thomas Reufer <thomas@reufer.ch> | 2015-04-29 16:48:51 +0200 |
| commit | 304097019ee164f5f0f851fdffa95edf372993bf (patch) | |
| tree | e90623f657ab038209986a1bb3c136e863847dbe | |
| parent | 69643988128603a0de96b3f47107857c0a7a76ae (diff) | |
| download | vdr-plugin-rpihddevice-304097019ee164f5f0f851fdffa95edf372993bf.tar.gz vdr-plugin-rpihddevice-304097019ee164f5f0f851fdffa95edf372993bf.tar.bz2 | |
prevent writing of incomplete video frames
| -rw-r--r-- | omxdevice.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/omxdevice.c b/omxdevice.c index 8553781..8cdf8c0 100644 --- a/omxdevice.c +++ b/omxdevice.c @@ -308,6 +308,10 @@ int cOmxDevice::PlayAudio(const uchar *Data, int Length, uchar Id) int cOmxDevice::PlayVideo(const uchar *Data, int Length, bool EndOfFrame) { + // prevent writing incomplete frames + if (m_hasVideo && !m_omx->PollVideo()) + return 0; + m_mutex->Lock(); int ret = Length; int64_t pts = PesHasPts(Data) ? PesGetPts(Data) : 0; |
