Skip to content

Commit d82fff4

Browse files
committed
test + cleanup
1 parent 57bdf4b commit d82fff4

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed

src/source/PeerConnection/SessionDescription.h

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ extern "C" {
4747
#define DEFAULT_PAYLOAD_AAC (UINT64) 96
4848
#define DEFAULT_PAYLOAD_VP8 (UINT64) 96
4949
#define DEFAULT_PAYLOAD_H264 (UINT64) 125
50+
#define DEFAULT_PAYLOAD_H265 (UINT64) 127
5051

5152
#define DEFAULT_PAYLOAD_MULAW_STR (PCHAR) "0"
5253
#define DEFAULT_PAYLOAD_ALAW_STR (PCHAR) "8"

tst/RtpFunctionalityTest.cpp

+55
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,61 @@ TEST_F(RtpFunctionalityTest, packingUnpackingVerifySameOpusFrame)
316316
MEMFREE(depayload);
317317
}
318318

319+
TEST_F(RtpFunctionalityTest, packingUnpackingVerifySameAacFrame)
320+
{
321+
BYTE payload[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05};
322+
PBYTE depayload = (PBYTE) MEMALLOC(1500); // This is more than max mtu
323+
UINT32 depayloadSize = 1500;
324+
UINT32 payloadLen = 6;
325+
PayloadArray payloadArray;
326+
UINT32 newPayloadSubLen = 0;
327+
328+
payloadArray.maxPayloadLength = 0;
329+
payloadArray.maxPayloadSubLenSize = 0;
330+
payloadArray.payloadBuffer = NULL;
331+
payloadArray.payloadSubLength = NULL;
332+
333+
// First call for payload size and sub payload length size
334+
EXPECT_EQ(STATUS_SUCCESS,
335+
createPayloadForAac(DEFAULT_MTU_SIZE_BYTES, (PBYTE) &payload, payloadLen, NULL, &payloadArray.payloadLength, NULL,
336+
&payloadArray.payloadSubLenSize));
337+
338+
if (payloadArray.payloadLength > payloadArray.maxPayloadLength) {
339+
if (payloadArray.payloadBuffer != NULL) {
340+
MEMFREE(payloadArray.payloadBuffer);
341+
}
342+
payloadArray.payloadBuffer = (PBYTE) MEMALLOC(payloadArray.payloadLength);
343+
payloadArray.maxPayloadLength = payloadArray.payloadLength;
344+
}
345+
if (payloadArray.payloadSubLenSize > payloadArray.maxPayloadSubLenSize) {
346+
if (payloadArray.payloadSubLength != NULL) {
347+
MEMFREE(payloadArray.payloadSubLength);
348+
}
349+
payloadArray.payloadSubLength = (PUINT32) MEMALLOC(payloadArray.payloadSubLenSize * SIZEOF(UINT32));
350+
payloadArray.maxPayloadSubLenSize = payloadArray.payloadSubLenSize;
351+
}
352+
353+
// Second call with actual buffer to fill in data
354+
EXPECT_EQ(STATUS_SUCCESS,
355+
createPayloadForAac(DEFAULT_MTU_SIZE_BYTES, (PBYTE) &payload, payloadLen, payloadArray.payloadBuffer, &payloadArray.payloadLength,
356+
payloadArray.payloadSubLength, &payloadArray.payloadSubLenSize));
357+
358+
EXPECT_EQ(1, payloadArray.payloadSubLenSize);
359+
EXPECT_EQ(6, payloadArray.payloadSubLength[0]);
360+
361+
EXPECT_EQ(STATUS_SUCCESS, depayAacFromRtpPayload(payloadArray.payloadBuffer, payloadArray.payloadSubLength[0], NULL, &newPayloadSubLen, NULL));
362+
EXPECT_EQ(6, newPayloadSubLen);
363+
364+
newPayloadSubLen = depayloadSize;
365+
EXPECT_EQ(STATUS_SUCCESS,
366+
depayAacFromRtpPayload(payloadArray.payloadBuffer, payloadArray.payloadSubLength[0], depayload, &newPayloadSubLen, NULL));
367+
EXPECT_TRUE(MEMCMP(payload, depayload, newPayloadSubLen) == 0);
368+
369+
MEMFREE(payloadArray.payloadBuffer);
370+
MEMFREE(payloadArray.payloadSubLength);
371+
MEMFREE(depayload);
372+
}
373+
319374
TEST_F(RtpFunctionalityTest, packingUnpackingVerifySameShortG711Frame)
320375
{
321376
BYTE payload[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05};

0 commit comments

Comments
 (0)