예제 #1
0
            static RtmpMessage ReadCommand(ObjectEncoding encoding, PacketContentType type, AmfReader r)
            {
                var name     = (string)r.ReadAmfObject(encoding);
                var invokeId = Convert.ToUInt32(r.ReadAmfObject(encoding));
                var headers  = r.ReadAmfObject(encoding);

                var args = new List <object>();

                while (r.Remaining > 0)
                {
                    args.Add(r.ReadAmfObject(encoding));
                }

                return(new Invoke(type)
                {
                    MethodName = name, Arguments = args.ToArray(), InvokeId = invokeId, Headers = headers
                });
            }
예제 #2
0
 protected ByteData(byte[] data, PacketContentType type) : base(type)
     => Data = data;
예제 #3
0
 protected RtmpMessage(PacketContentType contentType) => ContentType = contentType;
예제 #4
0
 protected Notify(PacketContentType type) : base(type)
 {
 }
예제 #5
0
 internal Invoke(uint streamId, PacketContentType type) : base(streamId, type)
 {
 }
예제 #6
0
 protected ByteData(uint streamId, byte[] data, PacketContentType type) : base(streamId, type) =>
예제 #7
0
 internal SharedObject(uint streamId, PacketContentType type) : base(streamId, type)
 {
 }
예제 #8
0
 protected RtmpMessage(uint streamId, PacketContentType contentType)
 {
     StreamId = streamId; ContentType = contentType;
 }
예제 #9
0
 internal Notify(uint streamId, PacketContentType type) : base(streamId, type)
 {
 }
예제 #10
0
 public Packet(int streamId, PacketContentType type, Space <byte> span)
 {
     StreamId = streamId;
     Type     = type;
     Span     = span;
 }
예제 #11
0
 public Invoke(PacketContentType type) : base(type)
 {
 }