ZLMediaKit – webrtc录像

生活中,最使人疲惫的往往不是道路的遥远,而是心中的郁闷;最使人痛苦的往往不是生活的不幸,而是希望的破灭;最使人颓废的往往不是前途的坎坷,而是自信的丧失;最使人绝望的往往不是挫折的打击,而是心灵的死亡。所以我们要有自己的梦想,让梦想的星光指引着我们走出落漠,走出惆怅,带着我们走进自己的理想。

导读:本篇文章讲解 ZLMediaKit – webrtc录像,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

webrtc录像

创建

自动录制

[MediaServer] mediakit::MP4Recorder::MP4Recorder MP4Recorder.cpp:24
[MediaServer] __gnu_cxx::new_allocator<mediakit::MP4Recorder>::construct<mediakit::MP4Recorder, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> new_allocator.h:146
[MediaServer] std::allocator_traits<std::allocator<mediakit::MP4Recorder> >::construct<mediakit::MP4Recorder, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> alloc_traits.h:483
[MediaServer] std::_Sp_counted_ptr_inplace<mediakit::MP4Recorder, std::allocator<mediakit::MP4Recorder>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr_base.h:548
[MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<mediakit::MP4Recorder, std::allocator<mediakit::MP4Recorder>, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr_base.h:679
[MediaServer] std::__shared_ptr<mediakit::MP4Recorder, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<mediakit::MP4Recorder>, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr_base.h:1344
[MediaServer] std::shared_ptr<mediakit::MP4Recorder>::shared_ptr<std::allocator<mediakit::MP4Recorder>, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr.h:359
[MediaServer] std::allocate_shared<mediakit::MP4Recorder, std::allocator<mediakit::MP4Recorder>, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr.h:702
[MediaServer] std::make_shared<mediakit::MP4Recorder, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr.h:718
[MediaServer] mediakit::Recorder::createRecorder Recorder.cpp:76
[MediaServer] mediakit::MultiMediaSourceMuxer::MultiMediaSourceMuxer MultiMediaSourceMuxer.cpp:114
[MediaServer] __gnu_cxx::new_allocator<mediakit::MultiMediaSourceMuxer>::construct<mediakit::MultiMediaSourceMuxer, const std::string &, const std::string &, const std::string &, float, mediakit::ProtocolOption &> new_allocator.h:146
[MediaServer] std::allocator_traits<std::allocator<mediakit::MultiMediaSourceMuxer> >::construct<mediakit::MultiMediaSourceMuxer, const std::string &, const std::string &, const std::string &, float, mediakit::ProtocolOption &> alloc_traits.h:483
[MediaServer] std::_Sp_counted_ptr_inplace<mediakit::MultiMediaSourceMuxer, std::allocator<mediakit::MultiMediaSourceMuxer>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<const std::string &, const std::string &, const std::string &, float, mediakit::ProtocolOption &> shared_ptr_base.h:548
[MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<mediakit::MultiMediaSourceMuxer, std::allocator<mediakit::MultiMediaSourceMuxer>, const std::string &, const std::string &, const std::string &, float, mediakit::ProtocolOption &> shared_ptr_base.h:679
[MediaServer] std::__shared_ptr<mediakit::MultiMediaSourceMuxer, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<mediakit::MultiMediaSourceMuxer>, const std::string &, const std::string &, const std::string &, float, mediakit::ProtocolOption &> shared_ptr_base.h:1344
[MediaServer] std::shared_ptr<mediakit::MultiMediaSourceMuxer>::shared_ptr<std::allocator<mediakit::MultiMediaSourceMuxer>, const std::string &, const std::string &, const std::string &, float, mediakit::ProtocolOption &> shared_ptr.h:359
[MediaServer] std::allocate_shared<mediakit::MultiMediaSourceMuxer, std::allocator<mediakit::MultiMediaSourceMuxer>, const std::string &, const std::string &, const std::string &, float, mediakit::ProtocolOption &> shared_ptr.h:702
[MediaServer] std::make_shared<mediakit::MultiMediaSourceMuxer, const std::string &, const std::string &, const std::string &, float, mediakit::ProtocolOption &> shared_ptr.h:718
[MediaServer] mediakit::RtspMediaSourceImp::setProtocolOption RtspMediaSourceImp.h:84
[MediaServer] <lambda>::operator()(const std::string &, const mediakit::ProtocolOption &) WebRtcTransport.cpp:1171
[MediaServer] std::_Function_handler<void (const std::string &, const mediakit::ProtocolOption &), <lambda> >::_M_invoke(const std::_Any_data &, const std::string &, const mediakit::ProtocolOption &) std_function.h:300
[MediaServer] std::function<void (const std::string &, const mediakit::ProtocolOption &)>::operator()(const std::string &, const mediakit::ProtocolOption &) const std_function.h:688
[MediaServer] <lambda>::operator()(const mediakit::MediaOriginType &, const mediakit::MediaInfo &, const mediakit::Broadcast::PublishAuthInvoker &, toolkit::SockInfo &) const WebHook.cpp:302
[MediaServer] std::_Function_handler<void (const mediakit::MediaOriginType &, const mediakit::MediaInfo &, const std::function<void (const std::string &, const mediakit::ProtocolOption &)> &, toolkit::SockInfo &), <lambda> >::_M_invoke(const std::_Any_data &, const mediakit::MediaOriginType &, const mediakit::MediaInfo &, const std::function<void (const std::string &, const mediakit::ProtocolOption &)> &, toolkit::SockInfo &) std_function.h:300
[MediaServer] std::function<void (mediakit::MediaOriginType &&, mediakit::MediaInfo &, std::function<void (const std::string &, const mediakit::ProtocolOption &)> &, toolkit::SockInfo &)>::operator()(mediakit::MediaOriginType &&, mediakit::MediaInfo &, std::function<void (const std::string &, const mediakit::ProtocolOption &)> &, toolkit::SockInfo &) const std_function.h:688
[MediaServer] toolkit::EventDispatcher::emitEvent<mediakit::MediaOriginType, mediakit::MediaInfo &, std::function<void (const std::string &, const mediakit::ProtocolOption &)> &, toolkit::SockInfo &>(mediakit::MediaOriginType &&, mediakit::MediaInfo &, std::function<void (const std::string &, const mediakit::ProtocolOption &)> &, toolkit::SockInfo &) NoticeCenter.h:57
[MediaServer] toolkit::NoticeCenter::emitEvent<mediakit::MediaOriginType, mediakit::MediaInfo &, std::function<void (const std::string &, const mediakit::ProtocolOption &)> &, toolkit::SockInfo &>(const std::string &, mediakit::MediaOriginType &&, mediakit::MediaInfo &, std::function<void (const std::string &, const mediakit::ProtocolOption &)> &, toolkit::SockInfo &) NoticeCenter.h:102
[MediaServer] push_plugin(toolkit::Session &, const std::string &, const WebRtcArgs &, const std::function<void (const WebRtcInterface &)> &) WebRtcTransport.cpp:1180
[MediaServer] std::_Function_handler<void (toolkit::Session &, const std::string &, const WebRtcArgs &, const std::function<void (const WebRtcInterface &)> &), void (*)(toolkit::Session &, const std::string &, const WebRtcArgs &, const std::function<void (const WebRtcInterface &)> &)>::_M_invoke(const std::_Any_data &, toolkit::Session &, const std::string &, const WebRtcArgs &, const std::function<void (const WebRtcInterface &)> &) std_function.h:300
[MediaServer] std::function<void (toolkit::Session &, const std::string &, const WebRtcArgs &, const std::function<void (const WebRtcInterface &)> &)>::operator()(toolkit::Session &, const std::string &, const WebRtcArgs &, const std::function<void (const WebRtcInterface &)> &) const std_function.h:688
[MediaServer] WebRtcPluginManager::getAnswerSdp(toolkit::Session &, const std::string &, const std::string &, const WebRtcArgs &, const std::function<void (const WebRtcInterface &)> &) WebRtcTransport.cpp:1118
[MediaServer] <lambda>::operator()(toolkit::SockInfo &, mediakit::HttpSession::KeyValue &, const HttpAllArgs<std::string> &, Json::Value &, const mediakit::HttpSession::HttpResponseInvoker &) const WebApi.cpp:1529
[MediaServer] std::_Function_handler<void (toolkit::SockInfo &, mediakit::StrCaseMap &, const HttpAllArgs<std::string> &, Json::Value &, const mediakit::HttpResponseInvokerImp &), <lambda> >::_M_invoke(const std::_Any_data &, toolkit::SockInfo &, mediakit::StrCaseMap &, const HttpAllArgs<std::string> &, Json::Value &, const mediakit::HttpResponseInvokerImp &) std_function.h:300
[MediaServer] std::function<void (toolkit::SockInfo &, mediakit::StrCaseMap &, const HttpAllArgs<std::string> &, Json::Value &, const mediakit::HttpResponseInvokerImp &)>::operator()(toolkit::SockInfo &, mediakit::StrCaseMap &, const HttpAllArgs<std::string> &, Json::Value &, const mediakit::HttpResponseInvokerImp &) const std_function.h:688
[MediaServer] <lambda>::operator()(const mediakit::Parser &, const mediakit::HttpSession::HttpResponseInvoker &, toolkit::SockInfo &) const WebApi.cpp:154
[MediaServer] std::_Function_handler<void (const mediakit::Parser &, const mediakit::HttpResponseInvokerImp &, toolkit::SockInfo &), <lambda> >::_M_invoke(const std::_Any_data &, const mediakit::Parser &, const mediakit::HttpResponseInvokerImp &, toolkit::SockInfo &) std_function.h:300
[MediaServer] std::function<void (const mediakit::Parser &, const mediakit::HttpResponseInvokerImp &, toolkit::SockInfo &)>::operator()(const mediakit::Parser &, const mediakit::HttpResponseInvokerImp &, toolkit::SockInfo &) const std_function.h:688
[MediaServer] <lambda>::operator()(const mediakit::Parser &, const mediakit::HttpSession::HttpResponseInvoker &, bool &, toolkit::SockInfo &) const WebApi.cpp:273
[MediaServer] std::_Function_handler<void (const mediakit::Parser &, const mediakit::HttpResponseInvokerImp &, bool &, toolkit::SockInfo &), <lambda> >::_M_invoke(const std::_Any_data &, const mediakit::Parser &, const mediakit::HttpResponseInvokerImp &, bool &, toolkit::SockInfo &) std_function.h:300
[MediaServer] std::function<void (mediakit::Parser &, mediakit::HttpResponseInvokerImp &, bool &, toolkit::SockInfo &)>::operator()(mediakit::Parser &, mediakit::HttpResponseInvokerImp &, bool &, toolkit::SockInfo &) const std_function.h:688
[MediaServer] toolkit::EventDispatcher::emitEvent<mediakit::Parser &, mediakit::HttpResponseInvokerImp &, bool &, toolkit::SockInfo &> NoticeCenter.h:57
[MediaServer] toolkit::NoticeCenter::emitEvent<mediakit::Parser &, mediakit::HttpResponseInvokerImp &, bool &, toolkit::SockInfo &> NoticeCenter.h:102
[MediaServer] mediakit::HttpSession::emitHttpEvent HttpSession.cpp:665
[MediaServer] mediakit::HttpSession::<lambda>::operator()(const char *, size_t) const HttpSession.cpp:700
[MediaServer] std::_Function_handler<bool (const char *, long unsigned int), <lambda> >::_M_invoke(const std::_Any_data &, const char *&&, unsigned long &&) std_function.h:285
[MediaServer] std::function<bool (const char *, unsigned long)>::operator()(const char *, unsigned long) const std_function.h:688
[MediaServer] mediakit::HttpSession::onRecvContent HttpSession.cpp:90
[MediaServer] mediakit::HttpRequestSplitter::input HttpRequestSplitter.cpp:95
[MediaServer] mediakit::HttpSession::onRecv HttpSession.cpp:98
[MediaServer] toolkit::TcpSessionWithSSL<mediakit::HttpSession>::public_onRecv TcpSession.h:43
[MediaServer] <lambda#2>::operator()(const std::shared_ptr<toolkit::Buffer> &) const TcpSession.h:29
[MediaServer] std::_Function_handler<void (const std::shared_ptr<toolkit::Buffer> &), <lambda#2> >::_M_invoke(const std::_Any_data &, const std::shared_ptr<toolkit::Buffer> &) std_function.h:300
[MediaServer] std::function<void (const std::shared_ptr<toolkit::Buffer> &)>::operator()(const std::shared_ptr<toolkit::Buffer> &) const std_function.h:688
[MediaServer] toolkit::SSL_Box::flushReadBio SSLBox.cpp:430
[MediaServer] toolkit::SSL_Box::flush SSLBox.cpp:451
[MediaServer] toolkit::SSL_Box::onRecv SSLBox.cpp:335
[MediaServer] toolkit::TcpSessionWithSSL<mediakit::HttpSession>::onRecv TcpSession.h:38
[MediaServer] toolkit::TcpServer::<lambda>::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const TcpServer.cpp:122
[MediaServer] std::_Function_handler<void (const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int), <lambda> >::_M_invoke(const std::_Any_data &, const std::shared_ptr<toolkit::Buffer> &, sockaddr *&&, int &&) std_function.h:300
[MediaServer] std::function<void (const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int)>::operator()(const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int) const std_function.h:688
[MediaServer] toolkit::Socket::onRead Socket.cpp:318
[MediaServer] toolkit::Socket::<lambda>::operator()(int) const Socket.cpp:259
[MediaServer] std::_Function_handler<void (int), <lambda> >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
[MediaServer] std::function<void (int)>::operator()(int) const std_function.h:688
[MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
[MediaServer] std::__invoke_impl<void, void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:73
[MediaServer] std::__invoke<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:95
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::operator() thread:251
[MediaServer] std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> > >::_M_run thread:195
[libstdc++.so.6] <unknown> 0x00007ffff7b1cde4
[libpthread.so.0] start_thread 0x00007ffff7c31609
[libc.so.6] clone 0x00007ffff780a263

http接口请求录制

  • ::::operator()(void) WebApi.cpp:1254
  • mediakit::MediaSource::setupRecord MediaSource.cpp:259
  • mediakit::MediaSourceEventInterceptor::setupRecord MediaSource.cpp:744
  • mediakit::MultiMediaSourceMuxer::setupRecord MultiMediaSourceMuxer.cpp:220
  • mediakit::makeRecorder MultiMediaSourceMuxer.cpp:41
  • mediakit::Recorder::createRecorder Recorder.cpp:76
  • mediakit::MP4Recorder::MP4Recorder MP4Recorder.cpp:24
[MediaServer] mediakit::MP4Recorder::MP4Recorder MP4Recorder.cpp:24
[MediaServer] __gnu_cxx::new_allocator<mediakit::MP4Recorder>::construct<mediakit::MP4Recorder, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> new_allocator.h:146
[MediaServer] std::allocator_traits<std::allocator<mediakit::MP4Recorder> >::construct<mediakit::MP4Recorder, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> alloc_traits.h:483
[MediaServer] std::_Sp_counted_ptr_inplace<mediakit::MP4Recorder, std::allocator<mediakit::MP4Recorder>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr_base.h:548
[MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<mediakit::MP4Recorder, std::allocator<mediakit::MP4Recorder>, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr_base.h:679
[MediaServer] std::__shared_ptr<mediakit::MP4Recorder, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<mediakit::MP4Recorder>, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr_base.h:1344
[MediaServer] std::shared_ptr<mediakit::MP4Recorder>::shared_ptr<std::allocator<mediakit::MP4Recorder>, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr.h:359
[MediaServer] std::allocate_shared<mediakit::MP4Recorder, std::allocator<mediakit::MP4Recorder>, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr.h:702
[MediaServer] std::make_shared<mediakit::MP4Recorder, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr.h:718
[MediaServer] mediakit::Recorder::createRecorder Recorder.cpp:76
[MediaServer] mediakit::makeRecorder MultiMediaSourceMuxer.cpp:41
[MediaServer] mediakit::MultiMediaSourceMuxer::setupRecord MultiMediaSourceMuxer.cpp:220
[MediaServer] mediakit::MediaSourceEventInterceptor::setupRecord MediaSource.cpp:744
[MediaServer] mediakit::MediaSource::setupRecord MediaSource.cpp:259
[MediaServer] <lambda>::<lambda>::operator()(void) WebApi.cpp:1254
[MediaServer] std::_Function_handler<void (), <lambda>::<lambda> >::_M_invoke(const std::_Any_data &) std_function.h:300
[MediaServer] std::function<void ()>::operator()() const std_function.h:688
[MediaServer] toolkit::TaskCancelableImp<void ()>::operator()() const TaskExecutor.h:111
[MediaServer] <lambda#1>::operator()(const std::shared_ptr<toolkit::TaskCancelableImp<void ()> > &) const EventPoller.cpp:237
[MediaServer] toolkit::List<std::shared_ptr<toolkit::TaskCancelableImp<void ()> > >::for_each<<lambda#1> >(<lambda#1> &&) List.h:203
[MediaServer] toolkit::EventPoller::onPipeEvent EventPoller.cpp:235
[MediaServer] toolkit::EventPoller::<lambda>::operator()(int) const EventPoller.cpp:67
[MediaServer] std::_Function_handler<void (int), <lambda> >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
[MediaServer] std::function<void (int)>::operator()(int) const std_function.h:688
[MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
[MediaServer] std::__invoke_impl<void, void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:73
[MediaServer] std::__invoke<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:95
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::operator() thread:251
[MediaServer] std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> > >::_M_run thread:195
[libstdc++.so.6] <unknown> 0x00007ffff7b1cde4
[libpthread.so.0] start_thread 0x00007ffff7c31609
[libc.so.6] clone 0x00007ffff780a263

addTrack

[MediaServer] mediakit::MP4Recorder::addTrack MP4Recorder.cpp:127
[MediaServer] mediakit::MultiMediaSourceMuxer::onTrackReady MultiMediaSourceMuxer.cpp:341
[MediaServer] mediakit::MediaSink::<lambda>::operator()(void) const MediaSink.cpp:36
[MediaServer] std::_Function_handler<void (), <lambda> >::_M_invoke(const std::_Any_data &) std_function.h:300
[MediaServer] std::function<void ()>::operator()() const std_function.h:688
[MediaServer] mediakit::MediaSink::checkTrackIfReady MediaSink.cpp:91
[MediaServer] mediakit::MediaSink::inputFrame MediaSink.cpp:80
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::H264Track::inputFrame_l H264.cpp:191
[MediaServer] mediakit::H264Track::<lambda>::operator()(const char *, size_t, size_t) const H264.cpp:160
[MediaServer] std::_Function_handler<void (const char *, long unsigned int, long unsigned int), <lambda> >::_M_invoke(const std::_Any_data &, const char *&&, unsigned long &&, unsigned long &&) std_function.h:300
[MediaServer] std::function<void (const char *, unsigned long, unsigned long)>::operator()(const char *, unsigned long, unsigned long) const std_function.h:688
[MediaServer] mediakit::splitH264(const char *, unsigned long, unsigned long, const std::function<void (const char *, unsigned long, unsigned long)> &) H264.cpp:77
[MediaServer] mediakit::H264Track::inputFrame H264.cpp:158
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::H264RtpDecoder::outputFrame H264Rtp.cpp:189
[MediaServer] mediakit::H264RtpDecoder::singleFrame H264Rtp.cpp:81
[MediaServer] mediakit::H264RtpDecoder::unpackStapA H264Rtp.cpp:97
[MediaServer] mediakit::H264RtpDecoder::decodeRtp H264Rtp.cpp:157
[MediaServer] mediakit::H264RtpDecoder::inputRtp H264Rtp.cpp:50
[MediaServer] mediakit::RtspDemuxer::inputRtp RtspDemuxer.cpp:58
[MediaServer] mediakit::RtspMediaSourceImp::onWrite RtspMediaSourceImp.h:59
[MediaServer] WebRtcPusher::onRecvRtp WebRtcPusher.cpp:83
[MediaServer] WebRtcTransportImp::onSortedRtp WebRtcTransport.cpp:950
[MediaServer] WebRtcTransportImp::<lambda>::operator()(mediakit::RtpPacket::Ptr) WebRtcTransport.cpp:830
[MediaServer] std::_Function_handler<void (std::shared_ptr<mediakit::RtpPacket>), <lambda> >::_M_invoke(const std::_Any_data &, std::shared_ptr<mediakit::RtpPacket> &&) std_function.h:300
[MediaServer] std::function<void (std::shared_ptr<mediakit::RtpPacket>)>::operator()(std::shared_ptr<mediakit::RtpPacket>) const std_function.h:688
[MediaServer] mediakit::RtpTrackImp::onRtpSorted RtpReceiver.cpp:133
[MediaServer] mediakit::RtpTrack::<lambda>::operator()(uint16_t, mediakit::RtpPacket::Ptr &) const RtpReceiver.cpp:18
[MediaServer] std::_Function_handler<void (short unsigned int, std::shared_ptr<mediakit::RtpPacket> &), <lambda> >::_M_invoke(const std::_Any_data &, unsigned short &&, std::shared_ptr<mediakit::RtpPacket> &) std_function.h:300
[MediaServer] std::function<void (unsigned short, std::shared_ptr<mediakit::RtpPacket> &)>::operator()(unsigned short, std::shared_ptr<mediakit::RtpPacket> &) const std_function.h:688
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::popIterator RtpReceiver.h:122
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::popPacket RtpReceiver.h:91
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::tryPopPacket RtpReceiver.h:137
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::sortPacket RtpReceiver.h:76
[MediaServer] mediakit::RtpTrack::inputRtp RtpReceiver.cpp:106
[MediaServer] RtpChannel::inputRtp WebRtcTransport.cpp:635
[MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:884
[MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:856
[MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:320
[MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
[MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
[MediaServer] toolkit::UdpServer::<lambda>::<lambda>::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
[MediaServer] std::_Function_handler<void (const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int), <lambda>::<lambda> >::_M_invoke(const std::_Any_data &, const std::shared_ptr<toolkit::Buffer> &, sockaddr *&&, int &&) std_function.h:300
[MediaServer] std::function<void (const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int)>::operator()(const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int) const std_function.h:688
[MediaServer] toolkit::Socket::onRead Socket.cpp:318
[MediaServer] toolkit::Socket::<lambda>::operator()(int) const Socket.cpp:259
[MediaServer] std::_Function_handler<void (int), <lambda> >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
[MediaServer] std::function<void (int)>::operator()(int) const std_function.h:688
[MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
[MediaServer] std::__invoke_impl<void, void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:73
[MediaServer] std::__invoke<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:95
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::operator() thread:251
[MediaServer] std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> > >::_M_run thread:195
[libstdc++.so.6] <unknown> 0x00007ffff7b1cde4
[libpthread.so.0] start_thread 0x00007ffff7c31609
[libc.so.6] clone 0x00007ffff780a263

http接口请求录制

  • ::::operator()(void) WebApi.cpp:1254
  • mediakit::MediaSource::setupRecord MediaSource.cpp:259
  • mediakit::MediaSourceEventInterceptor::setupRecord MediaSource.cpp:744
  • mediakit::MultiMediaSourceMuxer::setupRecord MultiMediaSourceMuxer.cpp:220
  • mediakit::makeRecorder MultiMediaSourceMuxer.cpp:43
  • mediakit::MP4Recorder::addTrack MP4Recorder.cpp:127
[MediaServer] mediakit::MP4Recorder::addTrack MP4Recorder.cpp:127
[MediaServer] mediakit::makeRecorder MultiMediaSourceMuxer.cpp:43
[MediaServer] mediakit::MultiMediaSourceMuxer::setupRecord MultiMediaSourceMuxer.cpp:220
[MediaServer] mediakit::MediaSourceEventInterceptor::setupRecord MediaSource.cpp:744
[MediaServer] mediakit::MediaSource::setupRecord MediaSource.cpp:259
[MediaServer] <lambda>::<lambda>::operator()(void) WebApi.cpp:1254
[MediaServer] std::_Function_handler<void (), <lambda>::<lambda> >::_M_invoke(const std::_Any_data &) std_function.h:300
[MediaServer] std::function<void ()>::operator()() const std_function.h:688
[MediaServer] toolkit::TaskCancelableImp<void ()>::operator()() const TaskExecutor.h:111
[MediaServer] <lambda#1>::operator()(const std::shared_ptr<toolkit::TaskCancelableImp<void ()> > &) const EventPoller.cpp:237
[MediaServer] toolkit::List<std::shared_ptr<toolkit::TaskCancelableImp<void ()> > >::for_each<<lambda#1> >(<lambda#1> &&) List.h:203
[MediaServer] toolkit::EventPoller::onPipeEvent EventPoller.cpp:235
[MediaServer] toolkit::EventPoller::<lambda>::operator()(int) const EventPoller.cpp:67
[MediaServer] std::_Function_handler<void (int), <lambda> >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
[MediaServer] std::function<void (int)>::operator()(int) const std_function.h:688
[MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
[MediaServer] std::__invoke_impl<void, void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:73
[MediaServer] std::__invoke<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:95
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::operator() thread:251
[MediaServer] std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> > >::_M_run thread:195
[libstdc++.so.6] <unknown> 0x00007ffff7b1cde4
[libpthread.so.0] start_thread 0x00007ffff7c31609
[libc.so.6] clone 0x00007ffff780a263

[MediaServer] mediakit::MP4Recorder::inputFrame MP4Recorder.cpp:101
[MediaServer] mediakit::MultiMediaSourceMuxer::onTrackFrame MultiMediaSourceMuxer.cpp:430
[MediaServer] mediakit::MediaSink::<lambda>::operator()(const mediakit::Frame::Ptr &) const MediaSink.cpp:42
[MediaServer] std::_Function_handler<bool (const std::shared_ptr<mediakit::Frame> &), <lambda> >::_M_invoke(const std::_Any_data &, const std::shared_ptr<mediakit::Frame> &) std_function.h:285
[MediaServer] std::function<bool (const std::shared_ptr<mediakit::Frame> &)>::operator()(const std::shared_ptr<mediakit::Frame> &) const std_function.h:688
[MediaServer] mediakit::FrameWriterInterfaceHelper::inputFrame Frame.h:293
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::MediaSink::inputFrame MediaSink.cpp:75
[MediaServer] mediakit::MediaSink::<lambda>::operator()(const mediakit::Frame::Ptr &) const MediaSink.cpp:162
[MediaServer] toolkit::List<std::shared_ptr<mediakit::Frame> >::for_each<<lambda> >(mediakit::MediaSink::<lambda> &&) List.h:203
[MediaServer] mediakit::MediaSink::emitAllTrackReady MediaSink.cpp:161
[MediaServer] mediakit::MediaSink::checkTrackIfReady MediaSink.cpp:113
[MediaServer] mediakit::MediaSink::inputFrame MediaSink.cpp:80
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::CommonRtpDecoder::inputRtp CommonRtp.cpp:44
[MediaServer] mediakit::RtspDemuxer::inputRtp RtspDemuxer.cpp:64
[MediaServer] mediakit::RtspMediaSourceImp::onWrite RtspMediaSourceImp.h:59
[MediaServer] WebRtcPusher::onRecvRtp WebRtcPusher.cpp:83
[MediaServer] WebRtcTransportImp::onSortedRtp WebRtcTransport.cpp:950
[MediaServer] WebRtcTransportImp::<lambda>::operator()(mediakit::RtpPacket::Ptr) WebRtcTransport.cpp:830
[MediaServer] std::_Function_handler<void (std::shared_ptr<mediakit::RtpPacket>), <lambda> >::_M_invoke(const std::_Any_data &, std::shared_ptr<mediakit::RtpPacket> &&) std_function.h:300
[MediaServer] std::function<void (std::shared_ptr<mediakit::RtpPacket>)>::operator()(std::shared_ptr<mediakit::RtpPacket>) const std_function.h:688
[MediaServer] mediakit::RtpTrackImp::onRtpSorted RtpReceiver.cpp:133
[MediaServer] mediakit::RtpTrack::<lambda>::operator()(uint16_t, mediakit::RtpPacket::Ptr &) const RtpReceiver.cpp:18
[MediaServer] std::_Function_handler<void (short unsigned int, std::shared_ptr<mediakit::RtpPacket> &), <lambda> >::_M_invoke(const std::_Any_data &, unsigned short &&, std::shared_ptr<mediakit::RtpPacket> &) std_function.h:300
[MediaServer] std::function<void (unsigned short, std::shared_ptr<mediakit::RtpPacket> &)>::operator()(unsigned short, std::shared_ptr<mediakit::RtpPacket> &) const std_function.h:688
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::popIterator RtpReceiver.h:122
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::popPacket RtpReceiver.h:91
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::tryPopPacket RtpReceiver.h:129
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::sortPacket RtpReceiver.h:76
[MediaServer] mediakit::RtpTrack::inputRtp RtpReceiver.cpp:106
[MediaServer] RtpChannel::inputRtp WebRtcTransport.cpp:635
[MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:884
[MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:856
[MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:320
[MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
[MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
[MediaServer] toolkit::UdpServer::<lambda>::<lambda>::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
[MediaServer] std::_Function_handler<void (const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int), <lambda>::<lambda> >::_M_invoke(const std::_Any_data &, const std::shared_ptr<toolkit::Buffer> &, sockaddr *&&, int &&) std_function.h:300
[MediaServer] std::function<void (const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int)>::operator()(const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int) const std_function.h:688
[MediaServer] toolkit::Socket::onRead Socket.cpp:318
[MediaServer] toolkit::Socket::<lambda>::operator()(int) const Socket.cpp:259
[MediaServer] std::_Function_handler<void (int), <lambda> >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
[MediaServer] std::function<void (int)>::operator()(int) const std_function.h:688
[MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
[MediaServer] std::__invoke_impl<void, void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:73
[MediaServer] std::__invoke<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:95
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::operator() thread:251
[MediaServer] std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> > >::_M_run thread:195
[libstdc++.so.6] <unknown> 0x00007ffff7b1cde4
[libpthread.so.0] start_thread 0x00007ffff7c31609
[libc.so.6] clone 0x00007ffff780a263

http接口请求

  • toolkit::EventPoller::runLoop EventPoller.cpp:304

  • toolkit::Socket::::operator()(int) const Socket.cpp:259

  • toolkit::Socket::onRead Socket.cpp:318

  • toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257

  • toolkit::emitSessionRecv UdpServer.cpp:134

  • WebRtcSession::onRecv WebRtcSession.cpp:70

  • WebRtcTransport::inputSockData WebRtcTransport.cpp:320

  • WebRtcTransportImp::onRtp WebRtcTransport.cpp:856

  • WrappedRtpTrack::inputRtp WebRtcTransport.cpp:884

  • RtpChannel::inputRtp WebRtcTransport.cpp:635

  • mediakit::RtpTrack::inputRtp RtpReceiver.cpp:106

  • mediakit::PacketSortorstd::shared_ptr<mediakit::RtpPacket, unsigned short, 1024ul, 32ul>::sortPacket RtpReceiver.h:76

  • mediakit::PacketSortorstd::shared_ptr<mediakit::RtpPacket, unsigned short, 1024ul, 32ul>::tryPopPacket RtpReceiver.h:129

  • mediakit::PacketSortorstd::shared_ptr<mediakit::RtpPacket, unsigned short, 1024ul, 32ul>::popPacket RtpReceiver.h:91

  • mediakit::PacketSortorstd::shared_ptr<mediakit::RtpPacket, unsigned short, 1024ul, 32ul>::popIterator RtpReceiver.h:122

  • mediakit::RtpTrack::::operator()(uint16_t, mediakit::RtpPacket::Ptr &) const RtpReceiver.cpp:18

  • mediakit::RtpTrackImp::onRtpSorted RtpReceiver.cpp:133

  • WebRtcTransportImp::::operator()(mediakit::RtpPacket::Ptr) WebRtcTransport.cpp:830

  • WebRtcTransportImp::onSortedRtp WebRtcTransport.cpp:950

  • WebRtcPusher::onRecvRtp WebRtcPusher.cpp:83

  • mediakit::RtspMediaSourceImp::onWrite RtspMediaSourceImp.h:59

  • mediakit::RtspDemuxer::inputRtp RtspDemuxer.cpp:64

  • mediakit::CommonRtpDecoder::inputRtp CommonRtp.cpp:44

  • mediakit::FrameDispatcher::inputFrame Frame.h:331

  • mediakit::FrameDispatcher::inputFrame Frame.h:331

  • mediakit::FrameWriterInterfaceHelper::inputFrame Frame.h:293

  • mediakit::MediaSink::::operator()(const mediakit::Frame::Ptr &) const MediaSink.cpp:42

  • mediakit::MultiMediaSourceMuxer::onTrackFrame MultiMediaSourceMuxer.cpp:430

  • mediakit::MP4Recorder::inputFrame MP4Recorder.cpp:101

[MediaServer] mediakit::MP4Recorder::inputFrame MP4Recorder.cpp:101
[MediaServer] mediakit::MultiMediaSourceMuxer::onTrackFrame MultiMediaSourceMuxer.cpp:430
[MediaServer] mediakit::MediaSink::<lambda>::operator()(const mediakit::Frame::Ptr &) const MediaSink.cpp:42
[MediaServer] std::_Function_handler<bool (const std::shared_ptr<mediakit::Frame> &), <lambda> >::_M_invoke(const std::_Any_data &, const std::shared_ptr<mediakit::Frame> &) std_function.h:285
[MediaServer] std::function<bool (const std::shared_ptr<mediakit::Frame> &)>::operator()(const std::shared_ptr<mediakit::Frame> &) const std_function.h:688
[MediaServer] mediakit::FrameWriterInterfaceHelper::inputFrame Frame.h:293
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::MediaSink::inputFrame MediaSink.cpp:75
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::CommonRtpDecoder::inputRtp CommonRtp.cpp:44
[MediaServer] mediakit::RtspDemuxer::inputRtp RtspDemuxer.cpp:64
[MediaServer] mediakit::RtspMediaSourceImp::onWrite RtspMediaSourceImp.h:59
[MediaServer] WebRtcPusher::onRecvRtp WebRtcPusher.cpp:83
[MediaServer] WebRtcTransportImp::onSortedRtp WebRtcTransport.cpp:950
[MediaServer] WebRtcTransportImp::<lambda>::operator()(mediakit::RtpPacket::Ptr) WebRtcTransport.cpp:830
[MediaServer] std::_Function_handler<void (std::shared_ptr<mediakit::RtpPacket>), <lambda> >::_M_invoke(const std::_Any_data &, std::shared_ptr<mediakit::RtpPacket> &&) std_function.h:300
[MediaServer] std::function<void (std::shared_ptr<mediakit::RtpPacket>)>::operator()(std::shared_ptr<mediakit::RtpPacket>) const std_function.h:688
[MediaServer] mediakit::RtpTrackImp::onRtpSorted RtpReceiver.cpp:133
[MediaServer] mediakit::RtpTrack::<lambda>::operator()(uint16_t, mediakit::RtpPacket::Ptr &) const RtpReceiver.cpp:18
[MediaServer] std::_Function_handler<void (short unsigned int, std::shared_ptr<mediakit::RtpPacket> &), <lambda> >::_M_invoke(const std::_Any_data &, unsigned short &&, std::shared_ptr<mediakit::RtpPacket> &) std_function.h:300
[MediaServer] std::function<void (unsigned short, std::shared_ptr<mediakit::RtpPacket> &)>::operator()(unsigned short, std::shared_ptr<mediakit::RtpPacket> &) const std_function.h:688
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::popIterator RtpReceiver.h:122
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::popPacket RtpReceiver.h:91
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::tryPopPacket RtpReceiver.h:129
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::sortPacket RtpReceiver.h:76
[MediaServer] mediakit::RtpTrack::inputRtp RtpReceiver.cpp:106
[MediaServer] RtpChannel::inputRtp WebRtcTransport.cpp:635
[MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:884
[MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:856
[MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:320
[MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
[MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
[MediaServer] toolkit::UdpServer::<lambda>::<lambda>::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
[MediaServer] std::_Function_handler<void (const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int), <lambda>::<lambda> >::_M_invoke(const std::_Any_data &, const std::shared_ptr<toolkit::Buffer> &, sockaddr *&&, int &&) std_function.h:300
[MediaServer] std::function<void (const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int)>::operator()(const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int) const std_function.h:688
[MediaServer] toolkit::Socket::onRead Socket.cpp:318
[MediaServer] toolkit::Socket::<lambda>::operator()(int) const Socket.cpp:259
[MediaServer] std::_Function_handler<void (int), <lambda> >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
[MediaServer] std::function<void (int)>::operator()(int) const std_function.h:688
[MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
[MediaServer] std::__invoke_impl<void, void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:73
[MediaServer] std::__invoke<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:95
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::operator() thread:251
[MediaServer] std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> > >::_M_run thread:195
[libstdc++.so.6] <unknown> 0x00007ffff7b1cde4
[libpthread.so.0] start_thread 0x00007ffff7c31609
[libc.so.6] clone 0x00007ffff780a263

2

[MediaServer] mediakit::MP4Recorder::inputFrame MP4Recorder.cpp:101
[MediaServer] mediakit::MultiMediaSourceMuxer::onTrackFrame MultiMediaSourceMuxer.cpp:430
[MediaServer] mediakit::MediaSink::<lambda>::operator()(const mediakit::Frame::Ptr &) const MediaSink.cpp:42
[MediaServer] std::_Function_handler<bool (const std::shared_ptr<mediakit::Frame> &), <lambda> >::_M_invoke(const std::_Any_data &, const std::shared_ptr<mediakit::Frame> &) std_function.h:285
[MediaServer] std::function<bool (const std::shared_ptr<mediakit::Frame> &)>::operator()(const std::shared_ptr<mediakit::Frame> &) const std_function.h:688
[MediaServer] mediakit::FrameWriterInterfaceHelper::inputFrame Frame.h:293
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::H264Track::inputFrame_l H264.cpp:206
[MediaServer] mediakit::H264Track::inputFrame H264.cpp:153
[MediaServer] mediakit::MediaSink::inputFrame MediaSink.cpp:75
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::H264Track::inputFrame_l H264.cpp:206
[MediaServer] mediakit::H264Track::inputFrame H264.cpp:153
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::H264RtpDecoder::outputFrame H264Rtp.cpp:189
[MediaServer] mediakit::H264RtpDecoder::mergeFu H264Rtp.cpp:139
[MediaServer] mediakit::H264RtpDecoder::decodeRtp H264Rtp.cpp:161
[MediaServer] mediakit::H264RtpDecoder::inputRtp H264Rtp.cpp:50
[MediaServer] mediakit::RtspDemuxer::inputRtp RtspDemuxer.cpp:58
[MediaServer] mediakit::RtspMediaSourceImp::onWrite RtspMediaSourceImp.h:59
[MediaServer] WebRtcPusher::onRecvRtp WebRtcPusher.cpp:83
[MediaServer] WebRtcTransportImp::onSortedRtp WebRtcTransport.cpp:950
[MediaServer] WebRtcTransportImp::<lambda>::operator()(mediakit::RtpPacket::Ptr) WebRtcTransport.cpp:830
[MediaServer] std::_Function_handler<void (std::shared_ptr<mediakit::RtpPacket>), <lambda> >::_M_invoke(const std::_Any_data &, std::shared_ptr<mediakit::RtpPacket> &&) std_function.h:300
[MediaServer] std::function<void (std::shared_ptr<mediakit::RtpPacket>)>::operator()(std::shared_ptr<mediakit::RtpPacket>) const std_function.h:688
[MediaServer] mediakit::RtpTrackImp::onRtpSorted RtpReceiver.cpp:133
[MediaServer] mediakit::RtpTrack::<lambda>::operator()(uint16_t, mediakit::RtpPacket::Ptr &) const RtpReceiver.cpp:18
[MediaServer] std::_Function_handler<void (short unsigned int, std::shared_ptr<mediakit::RtpPacket> &), <lambda> >::_M_invoke(const std::_Any_data &, unsigned short &&, std::shared_ptr<mediakit::RtpPacket> &) std_function.h:300
[MediaServer] std::function<void (unsigned short, std::shared_ptr<mediakit::RtpPacket> &)>::operator()(unsigned short, std::shared_ptr<mediakit::RtpPacket> &) const std_function.h:688
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::popIterator RtpReceiver.h:122
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::popPacket RtpReceiver.h:91
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::tryPopPacket RtpReceiver.h:129
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::sortPacket RtpReceiver.h:76
[MediaServer] mediakit::RtpTrack::inputRtp RtpReceiver.cpp:106
[MediaServer] RtpChannel::inputRtp WebRtcTransport.cpp:635
[MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:884
[MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:856
[MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:320
[MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
[MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
[MediaServer] toolkit::UdpServer::<lambda>::<lambda>::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
[MediaServer] std::_Function_handler<void (const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int), <lambda>::<lambda> >::_M_invoke(const std::_Any_data &, const std::shared_ptr<toolkit::Buffer> &, sockaddr *&&, int &&) std_function.h:300
[MediaServer] std::function<void (const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int)>::operator()(const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int) const std_function.h:688
[MediaServer] toolkit::Socket::onRead Socket.cpp:318
[MediaServer] toolkit::Socket::<lambda>::operator()(int) const Socket.cpp:259
[MediaServer] std::_Function_handler<void (int), <lambda> >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
[MediaServer] std::function<void (int)>::operator()(int) const std_function.h:688
[MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
[MediaServer] std::__invoke_impl<void, void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:73
[MediaServer] std::__invoke<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:95
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::operator() thread:251
[MediaServer] std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> > >::_M_run thread:195
[libstdc++.so.6] <unknown> 0x00007ffff7b1cde4
[libpthread.so.0] start_thread 0x00007ffff7c31609
[libc.so.6] clone 0x00007ffff780a263

创建文件

在输入帧(inputFrame)时时如果满足下来条件会创建文件

  1. _muxer为空
  2. 到了切片时间,并且只有音频
  3. 到了切片时间,有视频并且遇到视频关键帧
[MediaServer] mediakit::MP4Recorder::createFile MP4Recorder.cpp:39
[MediaServer] mediakit::MP4Recorder::inputFrame MP4Recorder.cpp:116
[MediaServer] mediakit::MultiMediaSourceMuxer::onTrackFrame MultiMediaSourceMuxer.cpp:430
[MediaServer] mediakit::MediaSink::<lambda>::operator()(const mediakit::Frame::Ptr &) const MediaSink.cpp:42
[MediaServer] std::_Function_handler<bool (const std::shared_ptr<mediakit::Frame> &), <lambda> >::_M_invoke(const std::_Any_data &, const std::shared_ptr<mediakit::Frame> &) std_function.h:285
[MediaServer] std::function<bool (const std::shared_ptr<mediakit::Frame> &)>::operator()(const std::shared_ptr<mediakit::Frame> &) const std_function.h:688
[MediaServer] mediakit::FrameWriterInterfaceHelper::inputFrame Frame.h:293
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::H264Track::inputFrame_l H264.cpp:185
[MediaServer] mediakit::H264Track::<lambda>::operator()(const char *, size_t, size_t) const H264.cpp:160
[MediaServer] std::_Function_handler<void (const char *, long unsigned int, long unsigned int), <lambda> >::_M_invoke(const std::_Any_data &, const char *&&, unsigned long &&, unsigned long &&) std_function.h:300
[MediaServer] std::function<void (const char *, unsigned long, unsigned long)>::operator()(const char *, unsigned long, unsigned long) const std_function.h:688
[MediaServer] mediakit::splitH264(const char *, unsigned long, unsigned long, const std::function<void (const char *, unsigned long, unsigned long)> &) H264.cpp:77
[MediaServer] mediakit::H264Track::inputFrame H264.cpp:158
[MediaServer] mediakit::MediaSink::inputFrame MediaSink.cpp:75
[MediaServer] mediakit::MediaSink::<lambda>::operator()(const mediakit::Frame::Ptr &) const MediaSink.cpp:162
[MediaServer] toolkit::List<std::shared_ptr<mediakit::Frame> >::for_each<<lambda> >(mediakit::MediaSink::<lambda> &&) List.h:203
[MediaServer] mediakit::MediaSink::emitAllTrackReady MediaSink.cpp:161
[MediaServer] mediakit::MediaSink::checkTrackIfReady MediaSink.cpp:113
[MediaServer] mediakit::MediaSink::inputFrame MediaSink.cpp:80
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::CommonRtpDecoder::inputRtp CommonRtp.cpp:44
[MediaServer] mediakit::RtspDemuxer::inputRtp RtspDemuxer.cpp:64
[MediaServer] mediakit::RtspMediaSourceImp::onWrite RtspMediaSourceImp.h:59
[MediaServer] WebRtcPusher::onRecvRtp WebRtcPusher.cpp:83
[MediaServer] WebRtcTransportImp::onSortedRtp WebRtcTransport.cpp:950
[MediaServer] WebRtcTransportImp::<lambda>::operator()(mediakit::RtpPacket::Ptr) WebRtcTransport.cpp:830
[MediaServer] std::_Function_handler<void (std::shared_ptr<mediakit::RtpPacket>), <lambda> >::_M_invoke(const std::_Any_data &, std::shared_ptr<mediakit::RtpPacket> &&) std_function.h:300
[MediaServer] std::function<void (std::shared_ptr<mediakit::RtpPacket>)>::operator()(std::shared_ptr<mediakit::RtpPacket>) const std_function.h:688
[MediaServer] mediakit::RtpTrackImp::onRtpSorted RtpReceiver.cpp:133
[MediaServer] mediakit::RtpTrack::<lambda>::operator()(uint16_t, mediakit::RtpPacket::Ptr &) const RtpReceiver.cpp:18
[MediaServer] std::_Function_handler<void (short unsigned int, std::shared_ptr<mediakit::RtpPacket> &), <lambda> >::_M_invoke(const std::_Any_data &, unsigned short &&, std::shared_ptr<mediakit::RtpPacket> &) std_function.h:300
[MediaServer] std::function<void (unsigned short, std::shared_ptr<mediakit::RtpPacket> &)>::operator()(unsigned short, std::shared_ptr<mediakit::RtpPacket> &) const std_function.h:688
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::popIterator RtpReceiver.h:122
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::popPacket RtpReceiver.h:91
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::tryPopPacket RtpReceiver.h:129
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::sortPacket RtpReceiver.h:76
[MediaServer] mediakit::RtpTrack::inputRtp RtpReceiver.cpp:106
[MediaServer] RtpChannel::inputRtp WebRtcTransport.cpp:635
[MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:884
[MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:856
[MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:320
[MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
[MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
[MediaServer] toolkit::UdpServer::<lambda>::<lambda>::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
[MediaServer] std::_Function_handler<void (const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int), <lambda>::<lambda> >::_M_invoke(const std::_Any_data &, const std::shared_ptr<toolkit::Buffer> &, sockaddr *&&, int &&) std_function.h:300
[MediaServer] std::function<void (const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int)>::operator()(const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int) const std_function.h:688
[MediaServer] toolkit::Socket::onRead Socket.cpp:318
[MediaServer] toolkit::Socket::<lambda>::operator()(int) const Socket.cpp:259
[MediaServer] std::_Function_handler<void (int), <lambda> >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
[MediaServer] std::function<void (int)>::operator()(int) const std_function.h:688
[MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
[MediaServer] std::__invoke_impl<void, void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:73
[MediaServer] std::__invoke<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:95
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::operator() thread:251
[MediaServer] std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> > >::_M_run thread:195
[libstdc++.so.6] <unknown> 0x00007ffff7b1cde4
[libpthread.so.0] start_thread 0x00007ffff7c31609
[libc.so.6] clone 0x00007ffff780a263

http接口请求

[MediaServer] mediakit::MP4Recorder::createFile MP4Recorder.cpp:39
[MediaServer] mediakit::MP4Recorder::inputFrame MP4Recorder.cpp:116
[MediaServer] mediakit::MultiMediaSourceMuxer::onTrackFrame MultiMediaSourceMuxer.cpp:430
[MediaServer] mediakit::MediaSink::<lambda>::operator()(const mediakit::Frame::Ptr &) const MediaSink.cpp:42
[MediaServer] std::_Function_handler<bool (const std::shared_ptr<mediakit::Frame> &), <lambda> >::_M_invoke(const std::_Any_data &, const std::shared_ptr<mediakit::Frame> &) std_function.h:285
[MediaServer] std::function<bool (const std::shared_ptr<mediakit::Frame> &)>::operator()(const std::shared_ptr<mediakit::Frame> &) const std_function.h:688
[MediaServer] mediakit::FrameWriterInterfaceHelper::inputFrame Frame.h:293
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::H264Track::inputFrame_l H264.cpp:206
[MediaServer] mediakit::H264Track::inputFrame H264.cpp:153
[MediaServer] mediakit::MediaSink::inputFrame MediaSink.cpp:75
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::H264Track::inputFrame_l H264.cpp:206
[MediaServer] mediakit::H264Track::inputFrame H264.cpp:153
[MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
[MediaServer] mediakit::H264RtpDecoder::outputFrame H264Rtp.cpp:189
[MediaServer] mediakit::H264RtpDecoder::mergeFu H264Rtp.cpp:139
[MediaServer] mediakit::H264RtpDecoder::decodeRtp H264Rtp.cpp:161
[MediaServer] mediakit::H264RtpDecoder::inputRtp H264Rtp.cpp:50
[MediaServer] mediakit::RtspDemuxer::inputRtp RtspDemuxer.cpp:58
[MediaServer] mediakit::RtspMediaSourceImp::onWrite RtspMediaSourceImp.h:59
[MediaServer] WebRtcPusher::onRecvRtp WebRtcPusher.cpp:83
[MediaServer] WebRtcTransportImp::onSortedRtp WebRtcTransport.cpp:950
[MediaServer] WebRtcTransportImp::<lambda>::operator()(mediakit::RtpPacket::Ptr) WebRtcTransport.cpp:830
[MediaServer] std::_Function_handler<void (std::shared_ptr<mediakit::RtpPacket>), <lambda> >::_M_invoke(const std::_Any_data &, std::shared_ptr<mediakit::RtpPacket> &&) std_function.h:300
[MediaServer] std::function<void (std::shared_ptr<mediakit::RtpPacket>)>::operator()(std::shared_ptr<mediakit::RtpPacket>) const std_function.h:688
[MediaServer] mediakit::RtpTrackImp::onRtpSorted RtpReceiver.cpp:133
[MediaServer] mediakit::RtpTrack::<lambda>::operator()(uint16_t, mediakit::RtpPacket::Ptr &) const RtpReceiver.cpp:18
[MediaServer] std::_Function_handler<void (short unsigned int, std::shared_ptr<mediakit::RtpPacket> &), <lambda> >::_M_invoke(const std::_Any_data &, unsigned short &&, std::shared_ptr<mediakit::RtpPacket> &) std_function.h:300
[MediaServer] std::function<void (unsigned short, std::shared_ptr<mediakit::RtpPacket> &)>::operator()(unsigned short, std::shared_ptr<mediakit::RtpPacket> &) const std_function.h:688
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::popIterator RtpReceiver.h:122
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::popPacket RtpReceiver.h:91
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::tryPopPacket RtpReceiver.h:129
[MediaServer] mediakit::PacketSortor<std::shared_ptr<mediakit::RtpPacket>, unsigned short, 1024ul, 32ul>::sortPacket RtpReceiver.h:76
[MediaServer] mediakit::RtpTrack::inputRtp RtpReceiver.cpp:106
[MediaServer] RtpChannel::inputRtp WebRtcTransport.cpp:635
[MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:884
[MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:856
[MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:320
[MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
[MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
[MediaServer] toolkit::UdpServer::<lambda>::<lambda>::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
[MediaServer] std::_Function_handler<void (const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int), <lambda>::<lambda> >::_M_invoke(const std::_Any_data &, const std::shared_ptr<toolkit::Buffer> &, sockaddr *&&, int &&) std_function.h:300
[MediaServer] std::function<void (const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int)>::operator()(const std::shared_ptr<toolkit::Buffer> &, sockaddr *, int) const std_function.h:688
[MediaServer] toolkit::Socket::onRead Socket.cpp:318
[MediaServer] toolkit::Socket::<lambda>::operator()(int) const Socket.cpp:259
[MediaServer] std::_Function_handler<void (int), <lambda> >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
[MediaServer] std::function<void (int)>::operator()(int) const std_function.h:688
[MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
[MediaServer] std::__invoke_impl<void, void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:73
[MediaServer] std::__invoke<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:95
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::operator() thread:251
[MediaServer] std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> > >::_M_run thread:195
[libstdc++.so.6] <unknown> 0x00007ffff7b1cde4
[libpthread.so.0] start_thread 0x00007ffff7c31609
[libc.so.6] clone 0x00007ffff780a263

关闭文件

[MediaServer] mediakit::MP4Recorder::asyncClose MP4Recorder.cpp:66
[MediaServer] mediakit::MP4Recorder::closeFile MP4Recorder.cpp:96
[MediaServer] mediakit::MP4Recorder::~MP4Recorder MP4Recorder.cpp:36
[MediaServer] __gnu_cxx::new_allocator<mediakit::MP4Recorder>::destroy<mediakit::MP4Recorder> new_allocator.h:152
[MediaServer] std::allocator_traits<std::allocator<mediakit::MP4Recorder> >::destroy<mediakit::MP4Recorder> alloc_traits.h:496
[MediaServer] std::_Sp_counted_ptr_inplace<mediakit::MP4Recorder, std::allocator<mediakit::MP4Recorder>, (__gnu_cxx::_Lock_policy)2>::_M_dispose shared_ptr_base.h:557
[MediaServer] std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release shared_ptr_base.h:155
[MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count shared_ptr_base.h:730
[MediaServer] std::__shared_ptr<mediakit::MediaSinkInterface, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr shared_ptr_base.h:1169
[MediaServer] std::shared_ptr<mediakit::MediaSinkInterface>::~shared_ptr shared_ptr.h:103
[MediaServer] mediakit::MultiMediaSourceMuxer::~MultiMediaSourceMuxer MultiMediaSourceMuxer.h:74
[MediaServer] __gnu_cxx::new_allocator<mediakit::MultiMediaSourceMuxer>::destroy<mediakit::MultiMediaSourceMuxer> new_allocator.h:152
[MediaServer] std::allocator_traits<std::allocator<mediakit::MultiMediaSourceMuxer> >::destroy<mediakit::MultiMediaSourceMuxer> alloc_traits.h:496
[MediaServer] std::_Sp_counted_ptr_inplace<mediakit::MultiMediaSourceMuxer, std::allocator<mediakit::MultiMediaSourceMuxer>, (__gnu_cxx::_Lock_policy)2>::_M_dispose shared_ptr_base.h:557
[MediaServer] std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release shared_ptr_base.h:155
[MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count shared_ptr_base.h:730
[MediaServer] std::__shared_ptr<mediakit::FrameWriterInterface, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr shared_ptr_base.h:1169
[MediaServer] std::shared_ptr<mediakit::FrameWriterInterface>::~shared_ptr shared_ptr.h:103
[MediaServer] std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> >::~pair stl_pair.h:208
[MediaServer] __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> > > >::destroy<std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> > > new_allocator.h:152
[MediaServer] std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> > > > >::destroy<std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> > > alloc_traits.h:496
[MediaServer] std::_Rb_tree<void *, std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> >, std::_Select1st<std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> > >, std::less<void *>, std::allocator<std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> > > >::_M_destroy_node stl_tree.h:642
[MediaServer] std::_Rb_tree<void *, std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> >, std::_Select1st<std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> > >, std::less<void *>, std::allocator<std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> > > >::_M_drop_node stl_tree.h:650
[MediaServer] std::_Rb_tree<void *, std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> >, std::_Select1st<std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> > >, std::less<void *>, std::allocator<std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> > > >::_M_erase stl_tree.h:1920
[MediaServer] std::_Rb_tree<void *, std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> >, std::_Select1st<std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> > >, std::less<void *>, std::allocator<std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> > > >::~_Rb_tree stl_tree.h:1000
[MediaServer] std::map<void *, std::shared_ptr<mediakit::FrameWriterInterface>, std::less<void *>, std::allocator<std::pair<void *const, std::shared_ptr<mediakit::FrameWriterInterface> > > >::~map stl_map.h:300
[MediaServer] mediakit::FrameDispatcher::~FrameDispatcher Frame.h:306
[MediaServer] mediakit::Track::~Track Track.h:30
[MediaServer] mediakit::VideoTrack::~VideoTrack Track.h:77
[MediaServer] mediakit::H264Track::~H264Track H264.h:94
[MediaServer] __gnu_cxx::new_allocator<mediakit::H264Track>::destroy<mediakit::H264Track> new_allocator.h:152
[MediaServer] std::allocator_traits<std::allocator<mediakit::H264Track> >::destroy<mediakit::H264Track> alloc_traits.h:496
[MediaServer] std::_Sp_counted_ptr_inplace<mediakit::H264Track, std::allocator<mediakit::H264Track>, (__gnu_cxx::_Lock_policy)2>::_M_dispose shared_ptr_base.h:557
[MediaServer] std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release shared_ptr_base.h:155
[MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count shared_ptr_base.h:730
[MediaServer] std::__shared_ptr<mediakit::Track, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr shared_ptr_base.h:1169
[MediaServer] std::shared_ptr<mediakit::Track>::~shared_ptr shared_ptr.h:103
[MediaServer] std::_Destroy<std::shared_ptr<mediakit::Track> > stl_construct.h:98
[MediaServer] std::_Destroy_aux<false>::__destroy<std::shared_ptr<mediakit::Track> *> stl_construct.h:108
[MediaServer] std::_Destroy<std::shared_ptr<mediakit::Track> *> stl_construct.h:137
[MediaServer] std::_Destroy<std::shared_ptr<mediakit::Track> *, std::shared_ptr<mediakit::Track> > stl_construct.h:206
[MediaServer] std::vector<std::shared_ptr<mediakit::Track> >::~vector stl_vector.h:677
[MediaServer] mediakit::Demuxer::~Demuxer PlayerBase.h:261
[MediaServer] mediakit::RtspDemuxer::~RtspDemuxer RtspDemuxer.h:25
[MediaServer] __gnu_cxx::new_allocator<mediakit::RtspDemuxer>::destroy<mediakit::RtspDemuxer> new_allocator.h:152
[MediaServer] std::allocator_traits<std::allocator<mediakit::RtspDemuxer> >::destroy<mediakit::RtspDemuxer> alloc_traits.h:496
[MediaServer] std::_Sp_counted_ptr_inplace<mediakit::RtspDemuxer, std::allocator<mediakit::RtspDemuxer>, (__gnu_cxx::_Lock_policy)2>::_M_dispose shared_ptr_base.h:557
[MediaServer] std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release shared_ptr_base.h:155
[MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count shared_ptr_base.h:730
[MediaServer] std::__shared_ptr<mediakit::RtspDemuxer, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr shared_ptr_base.h:1169
[MediaServer] std::shared_ptr<mediakit::RtspDemuxer>::~shared_ptr shared_ptr.h:103
[MediaServer] mediakit::RtspMediaSourceImp::~RtspMediaSourceImp RtspMediaSourceImp.h:36
[MediaServer] __gnu_cxx::new_allocator<mediakit::RtspMediaSourceImp>::destroy<mediakit::RtspMediaSourceImp> new_allocator.h:152
[MediaServer] std::allocator_traits<std::allocator<mediakit::RtspMediaSourceImp> >::destroy<mediakit::RtspMediaSourceImp> alloc_traits.h:496
[MediaServer] std::_Sp_counted_ptr_inplace<mediakit::RtspMediaSourceImp, std::allocator<mediakit::RtspMediaSourceImp>, (__gnu_cxx::_Lock_policy)2>::_M_dispose shared_ptr_base.h:557
[MediaServer] std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release shared_ptr_base.h:155
[MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count shared_ptr_base.h:730
[MediaServer] std::__shared_ptr<mediakit::RtspMediaSourceImp, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr shared_ptr_base.h:1169
[MediaServer] std::shared_ptr<mediakit::RtspMediaSourceImp>::~shared_ptr shared_ptr.h:103
[MediaServer] WebRtcPusher::<lambda>::~<lambda>(void) WebRtcPusher.cpp:141
[MediaServer] std::_Function_base::_Base_manager<<lambda> >::_M_destroy(std::_Any_data &, std::false_type) std_function.h:191
[MediaServer] std::_Function_base::_Base_manager<<lambda> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) std_function.h:215
[MediaServer] std::_Function_base::~_Function_base std_function.h:260
[MediaServer] std::function<unsigned long ()>::~function() std_function.h:369
[MediaServer] __gnu_cxx::new_allocator<std::function<unsigned long ()> >::destroy<std::function<unsigned long ()> >(std::function<unsigned long ()> *) new_allocator.h:152
[MediaServer] std::allocator_traits<std::allocator<std::function<unsigned long ()> > >::destroy<std::function<unsigned long ()> >(std::allocator<std::function<unsigned long ()> > &, std::function<unsigned long ()> *) alloc_traits.h:496
[MediaServer] std::_Sp_counted_ptr_inplace<std::function<unsigned long ()>, std::allocator<std::function<unsigned long ()> >, (__gnu_cxx::_Lock_policy)2>::_M_dispose() shared_ptr_base.h:557
[MediaServer] std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release shared_ptr_base.h:155
[MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count shared_ptr_base.h:730
[MediaServer] std::__shared_ptr<std::function<unsigned long ()>, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() shared_ptr_base.h:1169
[MediaServer] std::shared_ptr<std::function<unsigned long ()> >::~shared_ptr() shared_ptr.h:103
[MediaServer] toolkit::TaskCancelableImp<unsigned long ()>::~TaskCancelableImp() TaskExecutor.h:88
[MediaServer] __gnu_cxx::new_allocator<toolkit::TaskCancelableImp<unsigned long ()> >::destroy<toolkit::TaskCancelableImp<unsigned long ()> >(toolkit::TaskCancelableImp<unsigned long ()> *) new_allocator.h:152
[MediaServer] std::allocator_traits<std::allocator<toolkit::TaskCancelableImp<unsigned long ()> > >::destroy<toolkit::TaskCancelableImp<unsigned long ()> >(std::allocator<toolkit::TaskCancelableImp<unsigned long ()> > &, toolkit::TaskCancelableImp<unsigned long ()> *) alloc_traits.h:496
[MediaServer] std::_Sp_counted_ptr_inplace<toolkit::TaskCancelableImp<unsigned long ()>, std::allocator<toolkit::TaskCancelableImp<unsigned long ()> >, (__gnu_cxx::_Lock_policy)2>::_M_dispose() shared_ptr_base.h:557
[MediaServer] std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release shared_ptr_base.h:155
[MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count shared_ptr_base.h:730
[MediaServer] std::__shared_ptr<toolkit::TaskCancelableImp<unsigned long ()>, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() shared_ptr_base.h:1169
[MediaServer] std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> >::~shared_ptr() shared_ptr.h:103
[MediaServer] std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > >::~pair() stl_pair.h:208
[MediaServer] __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > > >::destroy<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > >(std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > *) new_allocator.h:152
[MediaServer] std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > > > >::destroy<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > >(std::allocator<std::_Rb_tree_node<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > > > &, std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > *) alloc_traits.h:496
[MediaServer] std::_Rb_tree<unsigned long, std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > >, std::_Select1st<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > >, std::less<unsigned long>, std::allocator<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > > >::_M_destroy_node(std::_Rb_tree_node<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > > *) stl_tree.h:642
[MediaServer] std::_Rb_tree<unsigned long, std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > >, std::_Select1st<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > >, std::less<unsigned long>, std::allocator<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > > >::_M_drop_node(std::_Rb_tree_node<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > > *) stl_tree.h:650
[MediaServer] std::_Rb_tree<unsigned long, std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > >, std::_Select1st<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > >, std::less<unsigned long>, std::allocator<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > >) stl_tree.h:2516
[MediaServer] std::_Rb_tree<unsigned long, std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > >, std::_Select1st<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > >, std::less<unsigned long>, std::allocator<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > > >::erase[abi:cxx11](std::_Rb_tree_iterator<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > >) stl_tree.h:1225
[MediaServer] std::multimap<unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > >::erase[abi:cxx11](std::_Rb_tree_iterator<std::pair<const unsigned long, std::shared_ptr<toolkit::TaskCancelableImp<unsigned long ()> > > >) stl_multimap.h:707
[MediaServer] toolkit::EventPoller::flushDelayTask EventPoller.cpp:386
[MediaServer] toolkit::EventPoller::getMinDelay EventPoller.cpp:423
[MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:286
[MediaServer] std::__invoke_impl<void, void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:73
[MediaServer] std::__invoke<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> invoke.h:95
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
[MediaServer] std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> >::operator() thread:251
[MediaServer] std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (toolkit::EventPoller::*)(bool, bool), toolkit::EventPoller *, bool, bool> > >::_M_run thread:195
[libstdc++.so.6] <unknown> 0x00007ffff7b1cde4
[libpthread.so.0] start_thread 0x00007ffff7c31609
[libc.so.6] clone 0x00007ffff780a263

推荐一个零声学院免费教程,个人觉得老师讲得不错,
分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,
fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
TCP/IP,协程,DPDK等技术内容,点击立即学习

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/137609.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!