}
/*
- public PesHeader GetHeader()
- {
- try
- {
- PesHeader* ph = new PesHeader(data.ToArray());
- return ph;
- }
- catch (FormatException)
- {
- // no valid header (yet)
- return null;
- }
- }
-
- public void AddData(List<byte> moredata)
- {
- data.AddRange(moredata);
- }
+PesHeader* PesPacket::GetHeader(void)
+{
+ try
+ {
+ PesHeader* ph = new PesHeader(data.ToArray());
+ return ph;
+ }
+ catch (...)
+ {
+ // no valid header (yet)
+ return NULL;
+ }
+}
+*/
+void PesPacket::AddData(std::vector<byte> moredata)
+{
+ for(std::vector<byte>::iterator it = mData.begin();
+ it != mData.end();
+ it++)
+ {
+ mData.push_back(*it);
+ }
+}
- public void AddData(byte[] buff, int offset, int length)
- {
- for (int i = offset; i < length + offset; i++)
- data.Add(buff[i]);
- }
+void PesPacket::AddData(byte* buff, int offset, int length)
+{
+ for (int i = offset; i < length + offset; i++)
+ mData.push_back(buff[i]);
+}
- public byte BaseId
- {
- get
- {
- if (data.Count > 3)
- return data[3];
- return 0;
- }
- }
+byte PesPacket::GetBaseId(void)
+{
+ if (mData.size() > 3)
+ return mData[3];
+ return 0;
+}
- public byte ExtendedId
- {
- get
- {
- if ((data.Count > 8) && data.Count > (8 + data[8]))
- return data[9 + data[8]];
- return 0;
- }
- }
+byte PesPacket::GetExtendedId(void)
+{
+ if ((mData.size() > 8) && mData.size() > (8 + mData[8]))
+ return mData[9 + mData[8]];
+ return 0;
+}
- public UInt32 ExtendedType
- {
- get
- {
- if ((data.Count > 8) && data.Count > (11 + data[8]))
- {
- UInt32 format = (UInt32)data[9 + data[8]] << 24;
- format += (UInt32)data[10 + data[8]] << 16;
- format += (UInt32)data[11 + data[8]] << 8;
- format += (UInt32)data[12 + data[8]];
- return format;
- }
- return 0;
- }
- }
-*/
+UInt32 PesPacket::GetExtendedType(void)
+{
+ if ((mData.size() > 8) && mData.size() > (11 + mData[8]))
+ {
+ UInt32 format = (UInt32)mData[9 + mData[8]] << 24;
+ format += (UInt32)mData[10 + mData[8]] << 16;
+ format += (UInt32)mData[11 + mData[8]] << 8;
+ format += (UInt32)mData[12 + mData[8]];
+ return format;
+ }
+ return 0;
+}
} // namespace