summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Reufer <thomas@reufer.ch>2015-04-29 16:48:51 +0200
committerThomas Reufer <thomas@reufer.ch>2015-04-29 16:48:51 +0200
commit304097019ee164f5f0f851fdffa95edf372993bf (patch)
treee90623f657ab038209986a1bb3c136e863847dbe
parent69643988128603a0de96b3f47107857c0a7a76ae (diff)
downloadvdr-plugin-rpihddevice-304097019ee164f5f0f851fdffa95edf372993bf.tar.gz
vdr-plugin-rpihddevice-304097019ee164f5f0f851fdffa95edf372993bf.tar.bz2
prevent writing of incomplete video frames
-rw-r--r--omxdevice.c4
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;