コード例 #1
0
ファイル: AMF.cs プロジェクト: windygu/mp-onlinevideos2
        private AMFArray ReadAmf3Array()
        {
            int      v   = ReadUInt29();
            string   key = ReadParamName();
            AMFArray result;

            if (key == String.Empty)
            {
                List <object> objs = new List <object>();
                result = new AMFArray(objs);
                for (int i = 0; i < v >> 1; i++)
                {
                    objs.Add(ReadParamValue());
                }
            }
            else
            {
                Dictionary <string, object> strs = new Dictionary <string, object>();
                result = new AMFArray(strs);
                while (key != String.Empty)
                {
                    strs.Add(key, ReadParamValue());
                    key = ReadParamName();
                }
            }
            return(result);
        }
コード例 #2
0
ファイル: AMF.cs プロジェクト: windygu/mp-onlinevideos2
        private void OutParamValue(AMFArray obj)
        {
            output.Add((byte)AMF3Type.ArrayMarker);
            int v = obj.Count << 1 | 1;

            OutUInt29(v);
            output.Add(0x01);
            OutParamValue(obj.GetObject(0));
        }
コード例 #3
0
ファイル: AMF.cs プロジェクト: windygu/mp-onlinevideos2
        private AMFArray ReadAmf0StrictArray()
        {
            List <object> objs   = new List <object>();
            AMFArray      result = new AMFArray(objs);

            int l = ReadInt32();

            for (int i = 0; i < l; i++)
            {
                objs.Add(ReadParamValue());
            }
            return(result);
        }