| 203 | } |
| 204 | |
| 205 | UInt64 AMFWriter::beginArray(UInt32 size) { |
| 206 | _levels.push_back(_amf3); |
| 207 | if(!_amf3) { |
| 208 | if(amf0) { |
| 209 | packet.write8(AMF_STRICT_ARRAY); |
| 210 | packet.write32(size); |
| 211 | return (++_amf0References)<<1; |
| 212 | } |
| 213 | packet.write8(AMF_AVMPLUS_OBJECT); |
| 214 | _amf3=true; |
| 215 | } |
| 216 | |
| 217 | packet.write8(AMF3_ARRAY); |
| 218 | packet.write7BitValue((size << 1) | 1); |
| 219 | packet.write8(01); // end marker, no properties (pure array) |
| 220 | _references.emplace_back(AMF3_ARRAY); |
| 221 | return (_references.size()<<1) | 1; |
| 222 | } |
| 223 | |
| 224 | UInt64 AMFWriter::beginObjectArray(UInt32 size) { |
| 225 | _levels.push_back(_amf3); // endObject |