public int DecodeArray(byte[] buffer, int offset, int size, int arrayLength, bool decodeName) { bool error = false; int originalSize = size; while (arrayLength > 0) { arrayLength--; AMFObjectProperty prop = new AMFObjectProperty(); int nRes = prop.Decode(buffer, offset, size, decodeName); if (nRes == -1) { error = true; } else { size -= nRes; offset += nRes; properties.Add(prop); } } if (error) { return(-1); } return(originalSize - size); }
public int Decode(byte[] pBuffer, int bufferOffset, int size, bool bDecodeName) { int originalSize = size; bool error = false; // if there is an error while decoding - try to at least find the end mark 0x000009 while (size >= 3) { if (RTMPHelper.ReadInt24(pBuffer, bufferOffset) == 0x00000009) { size -= 3; error = false; break; } if (error) { size--; bufferOffset++; continue; } AMFObjectProperty prop = new AMFObjectProperty(); int result = prop.Decode(pBuffer, bufferOffset, size, bDecodeName); if (result == -1) { error = true; } else { size -= result; bufferOffset += result; properties.Add(prop); } } if (error) { return(-1); } return(originalSize - size); }
public int Decode(byte[] pBuffer, int bufferOffset, int size, bool bDecodeName) { int originalSize = size; bool error = false; // if there is an error while decoding - try to at least find the end mark 0x000009 while (size >= 3) { if (RTMPHelper.ReadInt24(pBuffer, bufferOffset) == 0x00000009) { size -= 3; error = false; break; } if (error) { size--; bufferOffset++; continue; } AMFObjectProperty prop = new AMFObjectProperty(); int result = prop.Decode(pBuffer, bufferOffset, size, bDecodeName); if (result == -1) error = true; else { size -= result; bufferOffset += result; properties.Add(prop); } } if (error) return -1; return originalSize - size; }
public int DecodeArray(byte[] buffer, int offset, int size, int arrayLength, bool decodeName) { bool error = false; int originalSize = size; while (arrayLength > 0) { arrayLength--; AMFObjectProperty prop = new AMFObjectProperty(); int nRes = prop.Decode(buffer, offset, size, decodeName); if (nRes == -1) { error = true; } else { size -= nRes; offset += nRes; properties.Add(prop); } } if (error) { return -1; } return originalSize - size; }