OSDN Git Service

implement class PesPacket in Utils
authorcocot <cocot@users.sourceforge.jp>
Sat, 28 Feb 2009 02:24:31 +0000 (11:24 +0900)
committercocot <cocot@users.sourceforge.jp>
Sat, 28 Feb 2009 02:24:31 +0000 (11:24 +0900)
src/Utils.cc
src/Utils.h

index 8a0b77b..c0d23d6 100644 (file)
@@ -719,68 +719,63 @@ void PesPacket::SetComplete(bool value)
 }
 
 /*
-        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
 
index 9f276bc..6209fef 100644 (file)
@@ -386,9 +386,9 @@ class PesPacket {
   PesHeader* GetHeader(void);
   void AddData(std::vector<byte> moredata);
   void AddData(byte* buff, int offset, int length);
-  byte BaseId;
-  byte ExtendedId;
-  UInt32 ExtendedType;
+  byte GetBaseId(void);
+  byte GetExtendedId(void);
+  UInt32 GetExtendedType(void);
  private:
   std::vector<byte> mData;
   bool mPriority;