X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/62210b10dacd736e348d14fe342342db748961ee..fa458113395a4b8da3954b656dbe6c55b30f224a:/lib/dvb/demux.cpp diff --git a/lib/dvb/demux.cpp b/lib/dvb/demux.cpp index c6d3b103..22b09ffe 100644 --- a/lib/dvb/demux.cpp +++ b/lib/dvb/demux.cpp @@ -312,6 +312,8 @@ void eDVBPESReader::data(int) m_read(buffer, r); else eWarning("PES reader not active"); + if (r != 16384) + break; } } @@ -412,7 +414,7 @@ private: }; eDVBRecordFileThread::eDVBRecordFileThread() - : m_ts_parser(m_stream_info) + :eFilePushThread(IOPRIO_CLASS_RT, 7), m_ts_parser(m_stream_info) { m_current_offset = 0; } @@ -441,6 +443,7 @@ eDVBTSRecorder::eDVBTSRecorder(eDVBDemux *demux): m_demux(demux) m_running = 0; m_target_fd = -1; m_thread = new eDVBRecordFileThread(); + CONNECT(m_thread->m_event, eDVBTSRecorder::filepushEvent); #ifndef HAVE_ADD_PID m_demux->m_dvr_busy = 1; #endif @@ -646,3 +649,13 @@ void eDVBTSRecorder::stopPID(int pid) #endif m_pids[pid] = -1; } + +void eDVBTSRecorder::filepushEvent(int event) +{ + switch (event) + { + case eFilePushThread::evtWriteError: + m_event(eventWriteError); + break; + } +}