git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
some fixes
[enigma2.git]
/
lib
/
dvb
/
demux.cpp
diff --git
a/lib/dvb/demux.cpp
b/lib/dvb/demux.cpp
index 710323a1aa0f94226c6ac3a45e4608a2ba9dfd69..6753f2f223a1026515e24a6eb0cbb97e4f26d933 100644
(file)
--- a/
lib/dvb/demux.cpp
+++ b/
lib/dvb/demux.cpp
@@
-273,8
+273,10
@@
class eDVBRecordFileThread: public eFilePushThread
public:
eDVBRecordFileThread();
void setTimingPID(int pid);
public:
eDVBRecordFileThread();
void setTimingPID(int pid);
+
+ void saveTimingInformation(const std::string &filename);
protected:
protected:
- void filterRecordData(const char *data, int len);
+ void filterRecordData(const
unsigned
char *data, int len);
private:
eMPEGStreamParserTS m_ts_parser;
eMPEGStreamInformation m_stream_info;
private:
eMPEGStreamParserTS m_ts_parser;
eMPEGStreamInformation m_stream_info;
@@
-293,7
+295,12
@@
void eDVBRecordFileThread::setTimingPID(int pid)
m_ts_parser.setPid(pid);
}
m_ts_parser.setPid(pid);
}
-void eDVBRecordFileThread::filterRecordData(const char *data, int len)
+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);
{
m_ts_parser.parseData(m_current_offset, data, len);
@@
-385,6
+392,11
@@
RESULT eDVBTSRecorder::setTargetFD(int fd)
return 0;
}
return 0;
}
+RESULT eDVBTSRecorder::setTargetFilename(const char *filename)
+{
+ m_target_filename = filename;
+}
+
RESULT eDVBTSRecorder::setBoundary(off_t max)
{
return -1; // not yet implemented
RESULT eDVBTSRecorder::setBoundary(off_t max)
{
return -1; // not yet implemented
@@
-401,6
+413,9
@@
RESULT eDVBTSRecorder::stop()
close(m_source_fd);
close(m_source_fd);
+ if (m_target_filename != "")
+ m_thread->saveTimingInformation(m_target_filename + ".ap");
+
return 0;
}
return 0;
}