summaryrefslogtreecommitdiff
path: root/vendor/github.com/pion/rtcp/raw_packet.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/pion/rtcp/raw_packet.go')
-rw-r--r--vendor/github.com/pion/rtcp/raw_packet.go44
1 files changed, 44 insertions, 0 deletions
diff --git a/vendor/github.com/pion/rtcp/raw_packet.go b/vendor/github.com/pion/rtcp/raw_packet.go
new file mode 100644
index 0000000..3cb6eaf
--- /dev/null
+++ b/vendor/github.com/pion/rtcp/raw_packet.go
@@ -0,0 +1,44 @@
+package rtcp
+
+import "fmt"
+
+// RawPacket represents an unparsed RTCP packet. It's returned by Unmarshal when
+// a packet with an unknown type is encountered.
+type RawPacket []byte
+
+var _ Packet = (*RawPacket)(nil) // assert is a Packet
+
+// Marshal encodes the packet in binary.
+func (r RawPacket) Marshal() ([]byte, error) {
+ return r, nil
+}
+
+// Unmarshal decodes the packet from binary.
+func (r *RawPacket) Unmarshal(b []byte) error {
+ if len(b) < (headerLength) {
+ return errPacketTooShort
+ }
+ *r = b
+
+ var h Header
+ return h.Unmarshal(b)
+}
+
+// Header returns the Header associated with this packet.
+func (r RawPacket) Header() Header {
+ var h Header
+ if err := h.Unmarshal(r); err != nil {
+ return Header{}
+ }
+ return h
+}
+
+// DestinationSSRC returns an array of SSRC values that this packet refers to.
+func (r *RawPacket) DestinationSSRC() []uint32 {
+ return []uint32{}
+}
+
+func (r RawPacket) String() string {
+ out := fmt.Sprintf("RawPacket: %v", ([]byte)(r))
+ return out
+}