Skip to content

Commit 666c216

Browse files
authored
Merge pull request #23 from nabto/sc3948
upgrade libdatachannel but repacketization is disabled.
2 parents 4c01467 + c8fb3c4 commit 666c216

File tree

5 files changed

+30
-19
lines changed

5 files changed

+30
-19
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
/build
22
/sdk/build
33
/sdk/src/signaling_device/src/version.cpp
4+
scratch.md
5+
perf.data*

3rdparty/vcpkg

Submodule vcpkg updated 2662 files

examples/libdatachannel/src/common/rtp_repacketizer/h264_repacketizer.hpp

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@ class H264Repacketizer : public RtpRepacketizer {
1919
H264Repacketizer(std::shared_ptr<rtc::RtpPacketizationConfig> rtpConf)
2020
: RtpRepacketizer(rtpConf->ssrc, rtpConf->payloadType),
2121
rtpConf_(rtpConf) {
22-
// TODO: remove this workaround for
23-
// https://github.com/paullouisageneau/libdatachannel/issues/1216
24-
rtpConf_->playoutDelayId = 0;
25-
packet_ = std::make_shared<rtc::H264RtpPacketizer>(
26-
rtc::NalUnit::Separator::LongStartSequence, rtpConf_);
22+
depacketizerMediaHandler_ = std::make_shared<rtc::MediaHandler>();
23+
depacketizerMediaHandler_->addToChain(std::make_shared<rtc::H264RtpDepacketizer>(rtc::H264RtpDepacketizer()));
24+
25+
repacketizerMediaHandler_ = std::make_shared<rtc::MediaHandler>();
26+
27+
repacketizerMediaHandler_->addToChain(std::make_shared<rtc::H264RtpPacketizer>(rtc::H264RtpPacketizer(rtc::NalUnit::Separator::LongStartSequence, rtpConf)));
2728
}
2829

2930
std::vector<std::vector<uint8_t>> handlePacket(std::vector<uint8_t> data) {
@@ -40,23 +41,21 @@ class H264Repacketizer : public RtpRepacketizer {
4041
rtc::message_vector vec;
4142
vec.push_back(msg);
4243

43-
depacket_.incoming(vec, nullptr);
44-
45-
if (vec.size() > 0) {
46-
rtpConf_->timestamp = vec[0]->frameInfo->timestamp;
47-
packet_->outgoing(vec, nullptr);
44+
depacketizerMediaHandler_->incomingChain(vec, nullptr);
4845

49-
for (auto m : vec) {
50-
uint8_t* src = (uint8_t*)m->data();
51-
ret.push_back(std::vector<uint8_t>(src, src + m->size()));
52-
}
46+
repacketizerMediaHandler_->outgoingChain(vec, nullptr);
47+
for (auto m : vec) {
48+
uint8_t* src = (uint8_t*)m->data();
49+
ret.push_back(std::vector<uint8_t>(src, src + m->size()));
5350
}
5451
return ret;
5552
}
5653

5754
private:
58-
rtc::H264RtpDepacketizer depacket_;
59-
std::shared_ptr<rtc::H264RtpPacketizer> packet_ = nullptr;
55+
std::shared_ptr<rtc::MediaHandler> depacketizerMediaHandler_;
56+
std::shared_ptr<rtc::MediaHandler> repacketizerMediaHandler_;
57+
// rtc::H264RtpDepacketizer depacket_;
58+
// std::shared_ptr<rtc::H264RtpPacketizer> packet_ = nullptr;
6059
std::shared_ptr<rtc::RtpPacketizationConfig> rtpConf_ = nullptr;
6160
};
6261

examples/libdatachannel/vcpkg.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,14 @@
99
"name": "libdatachannel",
1010
"features": ["srtp", "ws"]
1111
},
12-
"jwt-cpp",
12+
{
13+
"name": "jwt-cpp",
14+
"features": ["picojson"]
15+
},
16+
{
17+
"name": "libsrtp",
18+
"features": ["openssl"]
19+
},
1320
"nlohmann-json",
1421
"usrsctp",
1522
"gtest",

sdk/vcpkg.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@
1515
]
1616
},
1717
"boost-uuid",
18-
"jwt-cpp",
18+
{
19+
"name": "jwt-cpp",
20+
"features": ["picojson"]
21+
},
1922
"openssl"
2023
]
2124
}

0 commit comments

Comments
 (0)