• webrtc nack


    webrtc nack

    NackContext

    构造函数

    • NackContext::NackContext Nack.cpp:98
    • RtpChannel::RtpChannel(std::shared_ptr, std::function, std::function) WebRtcTransport.cpp:625
    • WebRtcTransportImp::createRtpChannel WebRtcTransport.cpp:830
    • WrappedRtpTrack::inputRtp WebRtcTransport.cpp:881
    • WebRtcTransportImp::onRtp WebRtcTransport.cpp:857
    • WebRtcTransport::inputSockData WebRtcTransport.cpp:321
    • WebRtcSession::onRecv WebRtcSession.cpp:70
    • toolkit::emitSessionRecv UdpServer.cpp:134
    • toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    • toolkit::Socket::onRead Socket.cpp:318
    • toolkit::Socket::::operator()(int) const Socket.cpp:259
    • toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] NackContext::NackContext Nack.cpp:98
    [MediaServer] RtpChannel::RtpChannel(std::shared_ptr, std::function)>, std::function) WebRtcTransport.cpp:625
    [MediaServer] __gnu_cxx::new_allocator::construct &, ,  >(RtpChannel *) new_allocator.h:146
    [MediaServer] std::allocator_traits >::construct &, ,  >(std::allocator_traits >::allocator_type &, RtpChannel *) alloc_traits.h:483
    [MediaServer] std::_Sp_counted_ptr_inplace, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace &, ,  >(std::allocator) shared_ptr_base.h:548
    [MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count, const std::shared_ptr &, ,  >(RtpChannel *&, std::_Sp_alloc_shared_tag >) shared_ptr_base.h:679
    [MediaServer] std::__shared_ptr::__shared_ptr, const std::shared_ptr &, ,  >(std::_Sp_alloc_shared_tag >) shared_ptr_base.h:1344
    [MediaServer] std::shared_ptr::shared_ptr, const std::shared_ptr &, ,  >(std::_Sp_alloc_shared_tag >) shared_ptr.h:359
    [MediaServer] std::allocate_shared, const std::shared_ptr &, ,  >(const std::allocator &) shared_ptr.h:702
    [MediaServer] std::make_shared &, ,  >(void) shared_ptr.h:718
    [MediaServer] WebRtcTransportImp::createRtpChannel WebRtcTransport.cpp:830
    [MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:881
    [MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:857
    [MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:321
    [MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
    [MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
    [MediaServer] toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    [MediaServer] std::_Function_handler &, sockaddr *, int), :: >::_M_invoke(const std::_Any_data &, const std::shared_ptr &, sockaddr *&&, int &&) std_function.h:300
    [MediaServer] std::function &, sockaddr *, int)>::operator()(const std::shared_ptr &, sockaddr *, int) const std_function.h:688
    [MediaServer] toolkit::Socket::onRead Socket.cpp:318
    [MediaServer] toolkit::Socket::::operator()(int) const Socket.cpp:259
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    setOnNack

    • NackContext::setOnNack(std::function) Nack.cpp:170
    • RtpChannel::RtpChannel(std::shared_ptr, std::function, std::function) WebRtcTransport.cpp:625
    • WebRtcTransportImp::createRtpChannel WebRtcTransport.cpp:830
    • WrappedRtpTrack::inputRtp WebRtcTransport.cpp:881
    • WebRtcTransportImp::onRtp WebRtcTransport.cpp:857
    • WebRtcTransport::inputSockData WebRtcTransport.cpp:321
    • WebRtcSession::onRecv WebRtcSession.cpp:70
    • toolkit::emitSessionRecv UdpServer.cpp:134
    • toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    • toolkit::Socket::onRead Socket.cpp:318
    • toolkit::Socket::::operator()(int) const Socket.cpp:259
    • toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] NackContext::setOnNack(std::function) Nack.cpp:170
    [MediaServer] RtpChannel::RtpChannel(std::shared_ptr, std::function)>, std::function) WebRtcTransport.cpp:630
    [MediaServer] __gnu_cxx::new_allocator::construct &, ,  >(RtpChannel *) new_allocator.h:146
    [MediaServer] std::allocator_traits >::construct &, ,  >(std::allocator_traits >::allocator_type &, RtpChannel *) alloc_traits.h:483
    [MediaServer] std::_Sp_counted_ptr_inplace, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace &, ,  >(std::allocator) shared_ptr_base.h:548
    [MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count, const std::shared_ptr &, ,  >(RtpChannel *&, std::_Sp_alloc_shared_tag >) shared_ptr_base.h:679
    [MediaServer] std::__shared_ptr::__shared_ptr, const std::shared_ptr &, ,  >(std::_Sp_alloc_shared_tag >) shared_ptr_base.h:1344
    [MediaServer] std::shared_ptr::shared_ptr, const std::shared_ptr &, ,  >(std::_Sp_alloc_shared_tag >) shared_ptr.h:359
    [MediaServer] std::allocate_shared, const std::shared_ptr &, ,  >(const std::allocator &) shared_ptr.h:702
    [MediaServer] std::make_shared &, ,  >(void) shared_ptr.h:718
    [MediaServer] WebRtcTransportImp::createRtpChannel WebRtcTransport.cpp:830
    [MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:881
    [MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:857
    [MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:321
    [MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
    [MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
    [MediaServer] toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    [MediaServer] std::_Function_handler &, sockaddr *, int), :: >::_M_invoke(const std::_Any_data &, const std::shared_ptr &, sockaddr *&&, int &&) std_function.h:300
    [MediaServer] std::function &, sockaddr *, int)>::operator()(const std::shared_ptr &, sockaddr *, int) const std_function.h:688
    [MediaServer] toolkit::Socket::onRead Socket.cpp:318
    [MediaServer] toolkit::Socket::::operator()(int) const Socket.cpp:259
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    received

    • NackContext::received Nack.cpp:112
    • RtpChannel::inputRtp WebRtcTransport.cpp:641
    • WrappedRtpTrack::inputRtp WebRtcTransport.cpp:885
    • WebRtcTransportImp::onRtp WebRtcTransport.cpp:857
    • WebRtcTransport::inputSockData WebRtcTransport.cpp:321
    • WebRtcSession::onRecv WebRtcSession.cpp:70
    • toolkit::emitSessionRecv UdpServer.cpp:134
    • toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    • toolkit::Socket::onRead Socket.cpp:318
    • toolkit::Socket::::operator()(int) const Socket.cpp:259
    • toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] NackContext::received Nack.cpp:112
    [MediaServer] RtpChannel::inputRtp WebRtcTransport.cpp:641
    [MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:885
    [MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:857
    [MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:321
    [MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
    [MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
    [MediaServer] toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    [MediaServer] std::_Function_handler &, sockaddr *, int), :: >::_M_invoke(const std::_Any_data &, const std::shared_ptr &, sockaddr *&&, int &&) std_function.h:300
    [MediaServer] std::function &, sockaddr *, int)>::operator()(const std::shared_ptr &, sockaddr *, int) const std_function.h:688
    [MediaServer] toolkit::Socket::onRead Socket.cpp:318
    [MediaServer] toolkit::Socket::::operator()(int) const Socket.cpp:259
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    reSendNack

    [MediaServer] NackContext::reSendNack Nack.cpp:228
    [MediaServer] ::operator()() const WebRtcTransport.cpp:673
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &) std_function.h:285
    [MediaServer] std::function::operator()() const std_function.h:688
    [MediaServer] toolkit::TaskCancelableImp::operator()() const TaskExecutor.h:111
    [MediaServer] toolkit::EventPoller::flushDelayTask EventPoller.cpp:389
    [MediaServer] toolkit::EventPoller::getMinDelay EventPoller.cpp:423
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:286
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    OnRtx

    [MediaServer] NackContext::onRtx Nack.cpp:195
    [MediaServer] NackContext::received Nack.cpp:119
    [MediaServer] RtpChannel::inputRtp WebRtcTransport.cpp:641
    [MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:885
    [MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:857
    [MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:321
    [MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
    [MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
    [MediaServer] toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    [MediaServer] std::_Function_handler &, sockaddr *, int), :: >::_M_invoke(const std::_Any_data &, const std::shared_ptr &, sockaddr *&&, int &&) std_function.h:300
    [MediaServer] std::function &, sockaddr *, int)>::operator()(const std::shared_ptr &, sockaddr *, int) const std_function.h:688
    [MediaServer] toolkit::Socket::onRead Socket.cpp:318
    [MediaServer] toolkit::Socket::::operator()(int) const Socket.cpp:259
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    NackList

    pushBack

    • NackList::pushBack Nack.cpp:20
    • WebRtcTransportImp::onSendRtp WebRtcTransport.cpp:967
    • WebRtcPlayer::::::operator()(const mediakit::RtpPacket::Ptr &) const WebRtcPlayer.cpp:50
    • toolkit::ListL::for_each<:: >(WebRtcPlayer:::: &&) List.h:203
    • WebRtcPlayer::::operator()(const mediakit::RtspMediaSource::RingDataType &) const WebRtcPlayer.cpp:48
    • onRead RingBuffer.h:81
    • operator()RingBuffer.h:93
    • for_each List.h:210
    • operator RingBuffer.h:93
    • for_each List.h:210
    • flushGop RingBuffer.h:92
    • setReadCB RingBuffer.h:67
    • WebRtcPlayer::onStartWebRTC WebRtcPlayer.cpp:42
    • WebRtcTransport::OnDtlsTransportConnected WebRtcTransport.cpp:139
    • RTC::DtlsTransport::ExtractSrtpKeys DtlsTransport.cpp:1347
    • RTC::DtlsTransport::ProcessHandshake DtlsTransport.cpp:1110
    • RTC::DtlsTransport::CheckStatus DtlsTransport.cpp:967
    • RTC::DtlsTransport::ProcessDtlsData DtlsTransport.cpp:810
    • WebRtcTransport::inputSockData WebRtcTransport.cpp:312
    • WebRtcSession::onRecv WebRtcSession.cpp:70
    • toolkit::emitSessionRecv UdpServer.cpp:134
    [MediaServer] NackList::pushBack Nack.cpp:20
    [MediaServer] WebRtcTransportImp::onSendRtp WebRtcTransport.cpp:967
    [MediaServer] WebRtcPlayer::::::operator()(const mediakit::RtpPacket::Ptr &) const WebRtcPlayer.cpp:50
    [MediaServer] toolkit::List >::for_each<:: >(WebRtcPlayer:::: &&) List.h:203
    [MediaServer] WebRtcPlayer::::operator()(const mediakit::RtspMediaSource::RingDataType &) const WebRtcPlayer.cpp:48
    [MediaServer] std::_Function_handler > > &),  >::_M_invoke(const std::_Any_data &, const std::shared_ptr > > &) std_function.h:300
    [MediaServer] std::function > > &)>::operator()(const std::shared_ptr > > &) const std_function.h:688
    [MediaServer] toolkit::_RingReader > > >::onRead RingBuffer.h:81
    [MediaServer] ::operator()(const std::pair > > >) const RingBuffer.h:93
    [MediaServer] toolkit::List > > > >::for_each< >( &&) const List.h:210
    [MediaServer] ::operator()(const toolkit::List > > > > &) const RingBuffer.h:93
    [MediaServer] toolkit::List > > > > >::for_each< >( &&) const List.h:210
    [MediaServer] toolkit::_RingReader > > >::flushGop RingBuffer.h:92
    [MediaServer] toolkit::_RingReader > > >::setReadCB(const std::function > > &)> &) RingBuffer.h:67
    [MediaServer] WebRtcPlayer::onStartWebRTC WebRtcPlayer.cpp:42
    [MediaServer] WebRtcTransport::OnDtlsTransportConnected WebRtcTransport.cpp:139
    [MediaServer] RTC::DtlsTransport::ExtractSrtpKeys DtlsTransport.cpp:1347
    [MediaServer] RTC::DtlsTransport::ProcessHandshake DtlsTransport.cpp:1110
    [MediaServer] RTC::DtlsTransport::CheckStatus DtlsTransport.cpp:967
    [MediaServer] RTC::DtlsTransport::ProcessDtlsData DtlsTransport.cpp:810
    [MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:312
    [MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
    [MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
    [MediaServer] toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    [MediaServer] std::_Function_handler &, sockaddr *, int), :: >::_M_invoke(const std::_Any_data &, const std::shared_ptr &, sockaddr *&&, int &&) std_function.h:300
    [MediaServer] std::function &, sockaddr *, int)>::operator()(const std::shared_ptr &, sockaddr *, int) const std_function.h:688
    [MediaServer] toolkit::Socket::onRead Socket.cpp:318
    [MediaServer] toolkit::Socket::::operator()(int) const Socket.cpp:259
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    getCacheMS

    [MediaServer] NackList::getCacheMS Nack.cpp:64
    [MediaServer] NackList::pushBack Nack.cpp:28
    [MediaServer] WebRtcTransportImp::onSendRtp WebRtcTransport.cpp:967
    [MediaServer] WebRtcPlayer::::::operator()(const mediakit::RtpPacket::Ptr &) const WebRtcPlayer.cpp:50
    [MediaServer] toolkit::List >::for_each<:: >(WebRtcPlayer:::: &&) List.h:203
    [MediaServer] WebRtcPlayer::::operator()(const mediakit::RtspMediaSource::RingDataType &) const WebRtcPlayer.cpp:48
    [MediaServer] std::_Function_handler > > &),  >::_M_invoke(const std::_Any_data &, const std::shared_ptr > > &) std_function.h:300
    [MediaServer] std::function > > &)>::operator()(const std::shared_ptr > > &) const std_function.h:688
    [MediaServer] toolkit::_RingReader > > >::onRead RingBuffer.h:81
    [MediaServer] ::operator()(const std::pair > > >) const RingBuffer.h:93
    [MediaServer] toolkit::List > > > >::for_each< >( &&) const List.h:210
    [MediaServer] ::operator()(const toolkit::List > > > > &) const RingBuffer.h:93
    [MediaServer] toolkit::List > > > > >::for_each< >( &&) const List.h:210
    [MediaServer] toolkit::_RingReader > > >::flushGop RingBuffer.h:92
    [MediaServer] toolkit::_RingReader > > >::setReadCB(const std::function > > &)> &) RingBuffer.h:67
    [MediaServer] WebRtcPlayer::onStartWebRTC WebRtcPlayer.cpp:42
    [MediaServer] WebRtcTransport::OnDtlsTransportConnected WebRtcTransport.cpp:139
    [MediaServer] RTC::DtlsTransport::ExtractSrtpKeys DtlsTransport.cpp:1347
    [MediaServer] RTC::DtlsTransport::ProcessHandshake DtlsTransport.cpp:1110
    [MediaServer] RTC::DtlsTransport::CheckStatus DtlsTransport.cpp:967
    [MediaServer] RTC::DtlsTransport::ProcessDtlsData DtlsTransport.cpp:810
    [MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:312
    [MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
    [MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
    [MediaServer] toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    [MediaServer] std::_Function_handler &, sockaddr *, int), :: >::_M_invoke(const std::_Any_data &, const std::shared_ptr &, sockaddr *&&, int &&) std_function.h:300
    [MediaServer] std::function &, sockaddr *, int)>::operator()(const std::shared_ptr &, sockaddr *, int) const std_function.h:688
    [MediaServer] toolkit::Socket::onRead Socket.cpp:318
    [MediaServer] toolkit::Socket::::operator()(int) const Socket.cpp:259
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40

    getRtpStamp

    [MediaServer] NackList::getRtpStamp Nack.cpp:87
    [MediaServer] NackList::getCacheMS Nack.cpp:66
    [MediaServer] NackList::pushBack Nack.cpp:28
    [MediaServer] WebRtcTransportImp::onSendRtp WebRtcTransport.cpp:967
    [MediaServer] WebRtcPlayer::::::operator()(const mediakit::RtpPacket::Ptr &) const WebRtcPlayer.cpp:50
    [MediaServer] toolkit::List >::for_each<:: >(WebRtcPlayer:::: &&) List.h:203
    [MediaServer] WebRtcPlayer::::operator()(const mediakit::RtspMediaSource::RingDataType &) const WebRtcPlayer.cpp:48
    [MediaServer] std::_Function_handler > > &),  >::_M_invoke(const std::_Any_data &, const std::shared_ptr > > &) std_function.h:300
    [MediaServer] std::function > > &)>::operator()(const std::shared_ptr > > &) const std_function.h:688
    [MediaServer] toolkit::_RingReader > > >::onRead RingBuffer.h:81
    [MediaServer] ::operator()(const std::pair > > >) const RingBuffer.h:93
    [MediaServer] toolkit::List > > > >::for_each< >( &&) const List.h:210
    [MediaServer] ::operator()(const toolkit::List > > > > &) const RingBuffer.h:93
    [MediaServer] toolkit::List > > > > >::for_each< >( &&) const List.h:210
    [MediaServer] toolkit::_RingReader > > >::flushGop RingBuffer.h:92
    [MediaServer] toolkit::_RingReader > > >::setReadCB(const std::function > > &)> &) RingBuffer.h:67
    [MediaServer] WebRtcPlayer::onStartWebRTC WebRtcPlayer.cpp:42
    [MediaServer] WebRtcTransport::OnDtlsTransportConnected WebRtcTransport.cpp:139
    [MediaServer] RTC::DtlsTransport::ExtractSrtpKeys DtlsTransport.cpp:1347
    [MediaServer] RTC::DtlsTransport::ProcessHandshake DtlsTransport.cpp:1110
    [MediaServer] RTC::DtlsTransport::CheckStatus DtlsTransport.cpp:967
    [MediaServer] RTC::DtlsTransport::ProcessDtlsData DtlsTransport.cpp:810
    [MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:312
    [MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
    [MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
    [MediaServer] toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    [MediaServer] std::_Function_handler &, sockaddr *, int), :: >::_M_invoke(const std::_Any_data &, const std::shared_ptr &, sockaddr *&&, int &&) std_function.h:300
    [MediaServer] std::function &, sockaddr *, int)>::operator()(const std::shared_ptr &, sockaddr *, int) const std_function.h:688
    [MediaServer] toolkit::Socket::onRead Socket.cpp:318
    [MediaServer] toolkit::Socket::::operator()(int) const Socket.cpp:259
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41

    setOnNack

    [MediaServer] NackContext::setOnNack(std::function) Nack.cpp:170
    [MediaServer] RtpChannel::RtpChannel(std::shared_ptr, std::function)>, std::function) WebRtcTransport.cpp:630
    [MediaServer] __gnu_cxx::new_allocator::construct &, ,  >(RtpChannel *) new_allocator.h:146
    [MediaServer] std::allocator_traits >::construct &, ,  >(std::allocator_traits >::allocator_type &, RtpChannel *) alloc_traits.h:483
    [MediaServer] std::_Sp_counted_ptr_inplace, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace &, ,  >(std::allocator) shared_ptr_base.h:548
    [MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count, const std::shared_ptr &, ,  >(RtpChannel *&, std::_Sp_alloc_shared_tag >) shared_ptr_base.h:679
    [MediaServer] std::__shared_ptr::__shared_ptr, const std::shared_ptr &, ,  >(std::_Sp_alloc_shared_tag >) shared_ptr_base.h:1344
    [MediaServer] std::shared_ptr::shared_ptr, const std::shared_ptr &, ,  >(std::_Sp_alloc_shared_tag >) shared_ptr.h:359
    [MediaServer] std::allocate_shared, const std::shared_ptr &, ,  >(const std::allocator &) shared_ptr.h:702
    [MediaServer] std::make_shared &, ,  >(void) shared_ptr.h:718
    [MediaServer] WebRtcTransportImp::createRtpChannel WebRtcTransport.cpp:830
    [MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:881
    [MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:857
    [MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:321
    [MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
    [MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
    [MediaServer] toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    [MediaServer] std::_Function_handler &, sockaddr *, int), :: >::_M_invoke(const std::_Any_data &, const std::shared_ptr &, sockaddr *&&, int &&) std_function.h:300
    [MediaServer] std::function &, sockaddr *, int)>::operator()(const std::shared_ptr &, sockaddr *, int) const std_function.h:688
    [MediaServer] toolkit::Socket::onRead Socket.cpp:318
    [MediaServer] toolkit::Socket::::operator()(int) const Socket.cpp:259
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    popFront

    [MediaServer] NackList::popFront Nack.cpp:48
    [MediaServer] NackList::pushBack Nack.cpp:30
    [MediaServer] WebRtcTransportImp::onSendRtp WebRtcTransport.cpp:967
    [MediaServer] WebRtcPlayer::::::operator()(const mediakit::RtpPacket::Ptr &) const WebRtcPlayer.cpp:50
    [MediaServer] toolkit::List >::for_each<:: >(WebRtcPlayer:::: &&) List.h:203
    [MediaServer] WebRtcPlayer::::operator()(const mediakit::RtspMediaSource::RingDataType &) const WebRtcPlayer.cpp:48
    [MediaServer] std::_Function_handler > > &),  >::_M_invoke(const std::_Any_data &, const std::shared_ptr > > &) std_function.h:300
    [MediaServer] std::function > > &)>::operator()(const std::shared_ptr > > &) const std_function.h:688
    [MediaServer] toolkit::_RingReader > > >::onRead RingBuffer.h:81
    [MediaServer] toolkit::_RingReaderDispatcher > > >::write RingBuffer.h:243
    [MediaServer] ::operator()() const RingBuffer.h:314
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &) std_function.h:300
    [MediaServer] std::function::operator()() const std_function.h:688
    [MediaServer] toolkit::TaskCancelableImp::operator()() const TaskExecutor.h:111
    [MediaServer] ::operator()(const std::shared_ptr > &) const EventPoller.cpp:237
    [MediaServer] toolkit::List > >::for_each< >( &&) List.h:203
    [MediaServer] toolkit::EventPoller::onPipeEvent EventPoller.cpp:235
    [MediaServer] toolkit::EventPoller::::operator()(int) const EventPoller.cpp:67
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

  • 相关阅读:
    接口自动化测试工具大全
    猿创征文 第二季| #「笔耕不辍」--生命不息,写作不止#
    Kafka JNDI 注入分析(CVE-2023-25194)
    聊聊 RPA 方向的规划:简单有价值的事情长期坚持做
    laravel教程
    CSS基础选择器总结
    剑指 Offer 2022/7/5
    LSTM长短时记忆网络:推导与实现(pytorch)
    Swagger的界面太丑,试试knife4j的接口文档吧
    【c++11线程库的使用】
  • 原文地址:https://blog.csdn.net/hzb869168467/article/details/127723168