git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add config option 'Show blinking clock in display during recording'
[enigma2.git]
/
lib
/
dvb
/
demux.cpp
diff --git
a/lib/dvb/demux.cpp
b/lib/dvb/demux.cpp
index 0fbd6fbd7fa586f1ea0aa83feb1a0fda611e043b..b6143ddf438d24d93d9164601845061da0216b71 100644
(file)
--- a/
lib/dvb/demux.cpp
+++ b/
lib/dvb/demux.cpp
@@
-144,12
+144,15
@@
RESULT eDVBDemux::getSTC(pts_t &pts, int num)
if (ioctl(fd, DMX_GET_STC, &stc) < 0)
{
if (ioctl(fd, DMX_GET_STC, &stc) < 0)
{
+ eDebug("DMX_GET_STC failed!");
::close(fd);
return -1;
}
pts = stc.stc;
::close(fd);
return -1;
}
pts = stc.stc;
+ eDebug("DMX_GET_STC - %lld", pts);
+
::close(fd);
return 0;
}
::close(fd);
return 0;
}
@@
-405,7
+408,7
@@
public:
void saveTimingInformation(const std::string &filename);
protected:
void saveTimingInformation(const std::string &filename);
protected:
-
void filterRecordData(const unsigned char *data, int len
);
+
int filterRecordData(const unsigned char *data, int len, size_t ¤t_span_remaining
);
private:
eMPEGStreamParserTS m_ts_parser;
eMPEGStreamInformation m_stream_info;
private:
eMPEGStreamParserTS m_ts_parser;
eMPEGStreamInformation m_stream_info;
@@
-429,11
+432,13
@@
void eDVBRecordFileThread::saveTimingInformation(const std::string &filename)
m_stream_info.save(filename.c_str());
}
m_stream_info.save(filename.c_str());
}
-
void eDVBRecordFileThread::filterRecordData(const unsigned char *data, int len
)
+
int eDVBRecordFileThread::filterRecordData(const unsigned char *data, int len, size_t ¤t_span_remaining
)
{
m_ts_parser.parseData(m_current_offset, data, len);
m_current_offset += len;
{
m_ts_parser.parseData(m_current_offset, data, len);
m_current_offset += len;
+
+ return len;
}
DEFINE_REF(eDVBTSRecorder);
}
DEFINE_REF(eDVBTSRecorder);
@@
-443,6
+448,7
@@
eDVBTSRecorder::eDVBTSRecorder(eDVBDemux *demux): m_demux(demux)
m_running = 0;
m_target_fd = -1;
m_thread = new eDVBRecordFileThread();
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
#ifndef HAVE_ADD_PID
m_demux->m_dvr_busy = 1;
#endif
@@
-648,3
+654,13
@@
void eDVBTSRecorder::stopPID(int pid)
#endif
m_pids[pid] = -1;
}
#endif
m_pids[pid] = -1;
}
+
+void eDVBTSRecorder::filepushEvent(int event)
+{
+ switch (event)
+ {
+ case eFilePushThread::evtWriteError:
+ m_event(eventWriteError);
+ break;
+ }
+}