-----------------------------------------------------------
(params *TestExtPacketParams)
| 45 | // ----------------------------------------------------------- |
| 46 | |
| 47 | func GetTestExtPacket(params *TestExtPacketParams) (*buffer.ExtPacket, error) { |
| 48 | packet := rtp.Packet{ |
| 49 | Header: rtp.Header{ |
| 50 | Version: 2, |
| 51 | Padding: params.PaddingSize != 0, |
| 52 | Marker: params.Marker, |
| 53 | PayloadType: params.PayloadType, |
| 54 | SequenceNumber: params.SequenceNumber, |
| 55 | Timestamp: params.Timestamp, |
| 56 | SSRC: params.SSRC, |
| 57 | PaddingSize: params.PaddingSize, |
| 58 | }, |
| 59 | Payload: make([]byte, params.PayloadSize), |
| 60 | } |
| 61 | |
| 62 | raw, err := packet.Marshal() |
| 63 | if err != nil { |
| 64 | return nil, err |
| 65 | } |
| 66 | |
| 67 | ep := &buffer.ExtPacket{ |
| 68 | VideoLayer: params.VideoLayer, |
| 69 | ExtSequenceNumber: uint64(params.SNCycles<<16) + uint64(params.SequenceNumber), |
| 70 | ExtTimestamp: uint64(params.TSCycles<<32) + uint64(params.Timestamp), |
| 71 | Arrival: params.ArrivalTime.UnixNano(), |
| 72 | Packet: &packet, |
| 73 | IsKeyFrame: params.IsKeyFrame, |
| 74 | RawPacket: raw, |
| 75 | IsOutOfOrder: params.IsOutOfOrder, |
| 76 | } |
| 77 | |
| 78 | return ep, nil |
| 79 | } |
| 80 | |
| 81 | // -------------------------------------- |
| 82 |