X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/1917887e66e15f79b06830993365f8659623d1aa..2c333dec2921a4d9248a33e4be7bc075f930f859:/lib/dvb/decoder.cpp diff --git a/lib/dvb/decoder.cpp b/lib/dvb/decoder.cpp index fcc38901..2b8e4b8b 100644 --- a/lib/dvb/decoder.cpp +++ b/lib/dvb/decoder.cpp @@ -108,6 +108,7 @@ int eDVBAudio::startPid(int pid, int type) void eDVBAudio::stop() { + flush(); if (::ioctl(m_fd, AUDIO_STOP) < 0) eWarning("audio: AUDIO_STOP: %m"); #if HAVE_DVB_API_VERSION > 2 @@ -162,6 +163,7 @@ int eDVBAudio::getPTS(pts_t &now) eDVBAudio::~eDVBAudio() { + unfreeze(); if (m_fd >= 0) ::close(m_fd); if (m_fd_demux >= 0) @@ -300,6 +302,7 @@ eDVBVideo::~eDVBVideo() setSlowMotion(0); if (m_is_fast_forward) setFastForward(0); + unfreeze(); if (m_fd >= 0) ::close(m_fd); if (m_fd_demux >= 0) @@ -858,6 +861,8 @@ RESULT eTSMPEGDecoder::showSinglePic(const char *filename) eDebug("VIDEO_SELECT_SOURCE MEMORY failed (%m)"); if (ioctl(vfd, VIDEO_PLAY) < 0) eDebug("VIDEO_PLAY failed (%m)"); + if (::ioctl(vfd, VIDEO_CONTINUE) < 0) + eDebug("video: VIDEO_CONTINUE: %m"); int cnt=0; int pos=0; while(cnt<2)