PeerCastStation.FLV.AMF.AMF0Writer.WriteValue C# (CSharp) Method

WriteValue() public method

public WriteValue ( AMFValue value ) : void
value AMFValue
return void
    public override void WriteValue(AMFValue value)
    {
      if (value==null) {
        WriteNull();
        return;
      }
      switch (value.Type) {
      case AMFValueType.Boolean:
        WriteBool((bool)value);
        break;
      case AMFValueType.ByteArray:
        WriteByteArray((byte[])value.Value);
        break;
      case AMFValueType.Date:
        WriteDate((DateTime)value);
        break;
      case AMFValueType.Double:
        WriteNumber((double)value);
        break;
      case AMFValueType.ECMAArray:
        WriteEcmaArray((IDictionary<string,AMFValue>)value.Value);
        break;
      case AMFValueType.Integer:
        WriteNumber((int)value);
        break;
      case AMFValueType.Null:
        WriteNull();
        break;
      case AMFValueType.Object:
        WriteObject((AMFObject)value);
        break;
      case AMFValueType.ObjectEnd:
        WriteMarker(AMF0Marker.ObjectEnd);
        break;
      case AMFValueType.StrictArray:
        WriteStrictArray((AMFValue[])value);
        break;
      case AMFValueType.String:
        WriteString((string)value);
        break;
      case AMFValueType.Undefined:
        WriteMarker(AMF0Marker.Undefined);
        break;
      case AMFValueType.XML:
        WriteXML((string)value);
        break;
      case AMFValueType.XMLDocument:
        WriteXML((string)value);
        break;
      default:
        throw new ArgumentException();
      }
    }

Usage Example

Example #1
0
 private static byte[] CreateBody(string property_name, IEnumerable<AMFValue> arguments)
 {
     var s = new MemoryStream();
       using (var writer=new AMF0Writer(s)) {
     writer.WriteString(property_name);
     foreach (var arg in arguments) {
       writer.WriteValue(arg);
     }
       }
       return s.ToArray();
 }
All Usage Examples Of PeerCastStation.FLV.AMF.AMF0Writer::WriteValue