projects
/
vuplus_dvbapp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix for ts playback 16x and rewind.(get sequence header before I-frame)
[vuplus_dvbapp]
/
lib
/
dvb
/
esection.h
diff --git
a/lib/dvb/esection.h
b/lib/dvb/esection.h
index
3e097cc
..
6efe8c3
100644
(file)
--- a/
lib/dvb/esection.h
+++ b/
lib/dvb/esection.h
@@
-40,6
+40,7
@@
class eTable: public eGTable
private:
std::vector<Section*> sections;
std::set<int> avail;
private:
std::vector<Section*> sections;
std::set<int> avail;
+ unsigned char m_section_data[4096];
protected:
int createTable(unsigned int nr, const __u8 *data, unsigned int max)
{
protected:
int createTable(unsigned int nr, const __u8 *data, unsigned int max)
{
@@
-53,6
+54,9
@@
protected:
if (avail.find(nr) != avail.end())
delete sections[nr];
if (avail.find(nr) != avail.end())
delete sections[nr];
+ memset(m_section_data, 0, 4096);
+ memcpy(m_section_data, data, 4096);
+
sections.resize(max);
sections[nr] = new Section(data);
avail.insert(nr);
sections.resize(max);
sections[nr] = new Section(data);
avail.insert(nr);
@@
-74,6
+78,7
@@
protected:
}
public:
std::vector<Section*> &getSections() { return sections; }
}
public:
std::vector<Section*> &getSections() { return sections; }
+ unsigned char* getBufferData() { return m_section_data; }
eTable(bool debug=true): eGTable(debug)
{
}
eTable(bool debug=true): eGTable(debug)
{
}