Fails to build due to updated libdatachannel
. I made a patch that seems to fix the compiler errors:
--- a/plugins/obs-webrtc/whip-output.cpp
+++ b/plugins/obs-webrtc/whip-output.cpp
@@ -112,16 +112,14 @@ void WHIPOutput::ConfigureAudioTrack(std::string media_stream_id,
auto rtp_config = std::make_shared<rtc::RtpPacketizationConfig>(
ssrc, cname, audio_payload_type,
- rtc::OpusRtpPacketizer::defaultClockRate);
- auto packetizer = std::make_shared<rtc::OpusRtpPacketizer>(rtp_config);
+ rtc::OpusRtpPacketizer::DefaultClockRate);
+ auto opus_packetizer = std::make_shared<rtc::OpusRtpPacketizer>(rtp_config);
audio_sr_reporter = std::make_shared<rtc::RtcpSrReporter>(rtp_config);
auto nack_responder = std::make_shared<rtc::RtcpNackResponder>();
- auto opus_handler =
- std::make_shared<rtc::OpusPacketizationHandler>(packetizer);
- opus_handler->addToChain(audio_sr_reporter);
- opus_handler->addToChain(nack_responder);
- audio_track->setMediaHandler(opus_handler);
+ opus_packetizer->addToChain(audio_sr_reporter);
+ opus_packetizer->addToChain(nack_responder);
+ audio_track->setMediaHandler(opus_packetizer);
}
void WHIPOutput::ConfigureVideoTrack(std::string media_stream_id,
@@ -142,17 +140,15 @@ void WHIPOutput::ConfigureVideoTrack(std::string media_stream_id,
auto rtp_config = std::make_shared<rtc::RtpPacketizationConfig>(
ssrc, cname, video_payload_type,
rtc::H264RtpPacketizer::defaultClockRate);
- auto packetizer = std::make_shared<rtc::H264RtpPacketizer>(
+ auto h264_packetizer = std::make_shared<rtc::H264RtpPacketizer>(
rtc::H264RtpPacketizer::Separator::StartSequence, rtp_config,
MAX_VIDEO_FRAGMENT_SIZE);
video_sr_reporter = std::make_shared<rtc::RtcpSrReporter>(rtp_config);
auto nack_responder = std::make_shared<rtc::RtcpNackResponder>();
- auto h264_handler =
- std::make_shared<rtc::H264PacketizationHandler>(packetizer);
- h264_handler->addToChain(video_sr_reporter);
- h264_handler->addToChain(nack_responder);
- video_track->setMediaHandler(h264_handler);
+ h264_packetizer->addToChain(video_sr_reporter);
+ h264_packetizer->addToChain(nack_responder);
+ video_track->setMediaHandler(h264_packetizer);
}
/**
A quick test recording seems to indicate this works. Feel free to test it yourself.
Wait no, I didn't test webrtc, which this code belongs to...
EDIT: I tested a WHIP livestream session to myself using https://ossrs.io/lts/en-us/blog/Experience-Ultra-Low-Latency-Live-Streaming-with-OBS-WHIP . It appears to work with h264 video and opus audio, so I think this patch works properly.
Pinned Comments
thotypous commented on 2021-02-05 14:12 (UTC)
If you don't want to build this package yourself, hourly builds are available at https://aur.chaotic.cx
benklett commented on 2016-02-06 23:11 (UTC) (edited on 2016-08-10 14:01 (UTC) by benklett)