Skip to content

Commit 6be9623

Browse files
committed
Expose extension fields
1 parent 67d2b3e commit 6be9623

File tree

3 files changed

+33
-33
lines changed

3 files changed

+33
-33
lines changed

packet.go

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import (
1111

1212
// Extension RTP Header extension
1313
type Extension struct {
14-
id uint8
15-
payload []byte
14+
ID uint8
15+
Payload []byte
1616
}
1717

1818
// Header represents an RTP packet header
@@ -175,7 +175,7 @@ func (h *Header) Unmarshal(buf []byte) (n int, err error) { //nolint:gocognit
175175
break
176176
}
177177

178-
extension := Extension{id: extid, payload: buf[n : n+payloadLen]}
178+
extension := Extension{ID: extid, Payload: buf[n : n+payloadLen]}
179179
h.Extensions = append(h.Extensions, extension)
180180
n += payloadLen
181181
}
@@ -195,7 +195,7 @@ func (h *Header) Unmarshal(buf []byte) (n int, err error) { //nolint:gocognit
195195
payloadLen := int(buf[n])
196196
n++
197197

198-
extension := Extension{id: extid, payload: buf[n : n+payloadLen]}
198+
extension := Extension{ID: extid, Payload: buf[n : n+payloadLen]}
199199
h.Extensions = append(h.Extensions, extension)
200200
n += payloadLen
201201
}
@@ -206,9 +206,9 @@ func (h *Header) Unmarshal(buf []byte) (n int, err error) { //nolint:gocognit
206206
errHeaderSizeInsufficientForExtension, len(buf), n+extensionLength)
207207
}
208208

209-
extension := Extension{id: 0, payload: buf[n : n+extensionLength]}
209+
extension := Extension{ID: 0, Payload: buf[n : n+extensionLength]}
210210
h.Extensions = append(h.Extensions, extension)
211-
n += len(h.Extensions[0].payload)
211+
n += len(h.Extensions[0].Payload)
212212
}
213213
}
214214

@@ -307,26 +307,26 @@ func (h Header) MarshalTo(buf []byte) (n int, err error) {
307307
// RFC 8285 RTP One Byte Header Extension
308308
case extensionProfileOneByte:
309309
for _, extension := range h.Extensions {
310-
buf[n] = extension.id<<4 | (uint8(len(extension.payload)) - 1)
310+
buf[n] = extension.ID<<4 | (uint8(len(extension.Payload)) - 1)
311311
n++
312-
n += copy(buf[n:], extension.payload)
312+
n += copy(buf[n:], extension.Payload)
313313
}
314314
// RFC 8285 RTP Two Byte Header Extension
315315
case extensionProfileTwoByte:
316316
for _, extension := range h.Extensions {
317-
buf[n] = extension.id
317+
buf[n] = extension.ID
318318
n++
319-
buf[n] = uint8(len(extension.payload))
319+
buf[n] = uint8(len(extension.Payload))
320320
n++
321-
n += copy(buf[n:], extension.payload)
321+
n += copy(buf[n:], extension.Payload)
322322
}
323323
default: // RFC3550 Extension
324-
extlen := len(h.Extensions[0].payload)
324+
extlen := len(h.Extensions[0].Payload)
325325
if extlen%4 != 0 {
326326
// the payload must be in 32-bit words.
327327
return 0, io.ErrShortBuffer
328328
}
329-
n += copy(buf[n:], h.Extensions[0].payload)
329+
n += copy(buf[n:], h.Extensions[0].Payload)
330330
}
331331

332332
// calculate extensions size and round to 4 bytes boundaries
@@ -357,15 +357,15 @@ func (h Header) MarshalSize() int {
357357
// RFC 8285 RTP One Byte Header Extension
358358
case extensionProfileOneByte:
359359
for _, extension := range h.Extensions {
360-
extSize += 1 + len(extension.payload)
360+
extSize += 1 + len(extension.Payload)
361361
}
362362
// RFC 8285 RTP Two Byte Header Extension
363363
case extensionProfileTwoByte:
364364
for _, extension := range h.Extensions {
365-
extSize += 2 + len(extension.payload)
365+
extSize += 2 + len(extension.Payload)
366366
}
367367
default:
368-
extSize += len(h.Extensions[0].payload)
368+
extSize += len(h.Extensions[0].Payload)
369369
}
370370

371371
// extensions size must have 4 bytes boundaries
@@ -403,12 +403,12 @@ func (h *Header) SetExtension(id uint8, payload []byte) error { //nolint:gocogni
403403

404404
// Update existing if it exists else add new extension
405405
for i, extension := range h.Extensions {
406-
if extension.id == id {
407-
h.Extensions[i].payload = payload
406+
if extension.ID == id {
407+
h.Extensions[i].Payload = payload
408408
return nil
409409
}
410410
}
411-
h.Extensions = append(h.Extensions, Extension{id: id, payload: payload})
411+
h.Extensions = append(h.Extensions, Extension{ID: id, Payload: payload})
412412
return nil
413413
}
414414

@@ -422,7 +422,7 @@ func (h *Header) SetExtension(id uint8, payload []byte) error { //nolint:gocogni
422422
h.ExtensionProfile = extensionProfileTwoByte
423423
}
424424

425-
h.Extensions = append(h.Extensions, Extension{id: id, payload: payload})
425+
h.Extensions = append(h.Extensions, Extension{ID: id, Payload: payload})
426426
return nil
427427
}
428428

@@ -438,7 +438,7 @@ func (h *Header) GetExtensionIDs() []uint8 {
438438

439439
ids := make([]uint8, 0, len(h.Extensions))
440440
for _, extension := range h.Extensions {
441-
ids = append(ids, extension.id)
441+
ids = append(ids, extension.ID)
442442
}
443443
return ids
444444
}
@@ -449,8 +449,8 @@ func (h *Header) GetExtension(id uint8) []byte {
449449
return nil
450450
}
451451
for _, extension := range h.Extensions {
452-
if extension.id == id {
453-
return extension.payload
452+
if extension.ID == id {
453+
return extension.Payload
454454
}
455455
}
456456
return nil
@@ -462,7 +462,7 @@ func (h *Header) DelExtension(id uint8) error {
462462
return errHeaderExtensionsNotEnabled
463463
}
464464
for i, extension := range h.Extensions {
465-
if extension.id == id {
465+
if extension.ID == id {
466466
h.Extensions = append(h.Extensions[:i], h.Extensions[i+1:]...)
467467
return nil
468468
}
@@ -531,9 +531,9 @@ func (h Header) Clone() Header {
531531
ext := make([]Extension, len(h.Extensions))
532532
for i, e := range h.Extensions {
533533
ext[i] = e
534-
if e.payload != nil {
535-
ext[i].payload = make([]byte, len(e.payload))
536-
copy(ext[i].payload, e.payload)
534+
if e.Payload != nil {
535+
ext[i].Payload = make([]byte, len(e.Payload))
536+
copy(ext[i].Payload, e.Payload)
537537
}
538538
}
539539
clone.Extensions = ext

packet_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1372,8 +1372,8 @@ func TestCloneHeader(t *testing.T) {
13721372
if len(clone.CSRC) == len(h.CSRC) {
13731373
t.Errorf("Expected CSRC to be unchanged")
13741374
}
1375-
h.Extensions[0].payload[0] = 0x1F
1376-
if clone.Extensions[0].payload[0] == 0x1F {
1375+
h.Extensions[0].Payload[0] = 0x1F
1376+
if clone.Extensions[0].Payload[0] == 0x1F {
13771377
t.Errorf("Expected Extensions to be unchanged")
13781378
}
13791379
}
@@ -1453,8 +1453,8 @@ func BenchmarkUnmarshal(b *testing.B) {
14531453
CSRC: []uint32{1, 2},
14541454
ExtensionProfile: extensionProfileTwoByte,
14551455
Extensions: []Extension{
1456-
{id: 1, payload: []byte{3, 4}},
1457-
{id: 2, payload: []byte{5, 6}},
1456+
{ID: 1, Payload: []byte{3, 4}},
1457+
{ID: 2, Payload: []byte{5, 6}},
14581458
},
14591459
},
14601460
Payload: []byte{

packetizer_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ func TestPacketizer_AbsSendTime(t *testing.T) {
5959
ExtensionProfile: 0xBEDE,
6060
Extensions: []Extension{
6161
{
62-
id: 1,
63-
payload: []byte{0x40, 0, 0},
62+
ID: 1,
63+
Payload: []byte{0x40, 0, 0},
6464
},
6565
},
6666
},

0 commit comments

Comments
 (0)