aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/demux.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2006-02-13 17:03:56 +0000
committerFelix Domke <tmbinc@elitedvb.net>2006-02-13 17:03:56 +0000
commit56f5fa20371cd5a761dc37a6dd0dd730c38e0cbc (patch)
tree693f7bee6543073e216f5ae26af00fcd400bc00d /lib/dvb/demux.cpp
parent24dab815808d6be2758f3e63f93b7c171190059e (diff)
downloadenigma2-56f5fa20371cd5a761dc37a6dd0dd730c38e0cbc.tar.gz
enigma2-56f5fa20371cd5a761dc37a6dd0dd730c38e0cbc.zip
save timing information after record
Diffstat (limited to 'lib/dvb/demux.cpp')
-rw-r--r--lib/dvb/demux.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/dvb/demux.cpp b/lib/dvb/demux.cpp
index 73e04432..6753f2f2 100644
--- a/lib/dvb/demux.cpp
+++ b/lib/dvb/demux.cpp
@@ -273,6 +273,8 @@ class eDVBRecordFileThread: public eFilePushThread
public:
eDVBRecordFileThread();
void setTimingPID(int pid);
+
+ void saveTimingInformation(const std::string &filename);
protected:
void filterRecordData(const unsigned char *data, int len);
private:
@@ -293,6 +295,11 @@ void eDVBRecordFileThread::setTimingPID(int pid)
m_ts_parser.setPid(pid);
}
+void eDVBRecordFileThread::saveTimingInformation(const std::string &filename)
+{
+ m_stream_info.save(filename.c_str());
+}
+
void eDVBRecordFileThread::filterRecordData(const unsigned char *data, int len)
{
m_ts_parser.parseData(m_current_offset, data, len);
@@ -385,6 +392,11 @@ RESULT eDVBTSRecorder::setTargetFD(int fd)
return 0;
}
+RESULT eDVBTSRecorder::setTargetFilename(const char *filename)
+{
+ m_target_filename = filename;
+}
+
RESULT eDVBTSRecorder::setBoundary(off_t max)
{
return -1; // not yet implemented
@@ -401,6 +413,9 @@ RESULT eDVBTSRecorder::stop()
close(m_source_fd);
+ if (m_target_filename != "")
+ m_thread->saveTimingInformation(m_target_filename + ".ap");
+
return 0;
}