-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
upgrade to webrtc m120-6099。 #32
base: v3
Are you sure you want to change the base?
Conversation
You can successfully enter the room, publish the video stream。 On mac m3max test OK。
thanks @janreyho , we'll check it in the next days |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe MediaStreamTrackFactory.cpp should be the same as the one we have for tests in libmediasoupclient, right? Even if it's for consistency.
GIT_REPOSITORY git@github.com:janreyho/libmediasoupclient.git | ||
GIT_TAG m120 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please, put v3 back since the branch has already been merged.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I'll fix it tomorrow.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have successfully solved Thousands of std::__Cr:: related errors in ubuntu2204, using libc++ and libc++abi from the webrtc source code.
There are about 10 link errors left, and I will try to solve them this weekend.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have successfully solved Thousands of std::__Cr:: related errors in ubuntu2204, using libc++ and libc++abi from the webrtc source code.
Do you mean specifying use_custom_libcxx=false
in gn gen
command?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no, use buildtools/third_party/libc++, and buildtools/third_party/libc++abi
It may take a few more days to resolve the last dozen issues on Ubuntu 22.04. Once the modifications are complete, I will create PRs for the mediasoup-broadcaster-demo and libmediasoupclient repositories.
@jmillani have some problems link /usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `google::protobuf::StrAppend(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >*, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&)':
strutil.cc:(.text+0x44): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::resize(unsigned long, char)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `google::protobuf::GlobalReplaceSubstring(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >*)':
strutil.cc:(.text+0xc7): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::find(char const*, unsigned long, unsigned long) const'
/usr/bin/ld: strutil.cc:(.text+0xf0): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::find(char const*, unsigned long, unsigned long) const'
/usr/bin/ld: strutil.cc:(.text+0x10e): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > const&, unsigned long, unsigned long)'
/usr/bin/ld: strutil.cc:(.text+0x165): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > const&, unsigned long, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `_ZNSt4__Cr12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendINS_11__wrap_iterIPKcEETnNS_9enable_ifIXsr31__has_forward_iterator_categoryIT_EE5valueEiE4typeELi0EEERS5_SC_SC_':
strutil.cc:(.text[_ZNSt4__Cr12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendINS_11__wrap_iterIPKcEETnNS_9enable_ifIXsr31__has_forward_iterator_categoryIT_EE5valueEiE4typeELi0EEERS5_SC_SC_]+0x239): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(char const*, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `google::protobuf::Base64UnescapeInternal(char const*, int, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >*, signed char const*)':
strutil.cc:(.text+0x40): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::resize(unsigned long, char)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `google::protobuf::Base64EscapeInternal(unsigned char const*, int, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >*, bool, char const*)':
strutil.cc:(.text+0x61): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::resize(unsigned long, char)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `google::protobuf::CleanStringLineEndings(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >*, bool)':
strutil.cc:(.text+0x70): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(char const*, unsigned long)'
/usr/bin/ld: strutil.cc:(.text+0x94): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::__init_copy_ctor_external(char const*, unsigned long)'
/usr/bin/ld: strutil.cc:(.text+0xbf): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(char const*, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `google::protobuf::CleanStringLineEndings(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >*, bool)':
strutil.cc:(.text+0x15d): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::resize(unsigned long, char)'
/usr/bin/ld: strutil.cc:(.text+0x1af): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::resize(unsigned long, char)'
/usr/bin/ld: strutil.cc:(.text+0x1ef): undefined reference to `std::__Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `_ZNSt4__Cr12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendIPKcTnNS_9enable_ifIXsr31__has_forward_iterator_categoryIT_EE5valueEiE4typeELi0EEERS5_SA_SA_':
strutil.cc:(.text[_ZNSt4__Cr12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendIPKcTnNS_9enable_ifIXsr31__has_forward_iterator_categoryIT_EE5valueEiE4typeELi0EEERS5_SA_SA_]+0x239): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(char const*, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::__grow_by(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)':
strutil.cc:(.text[_ZNSt4__Cr12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm]+0x14f): undefined reference to `std::__Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(extension_set.o): in function `google::protobuf::internal::(anonymous namespace)::Register(google::protobuf::internal::ExtensionInfo const&)':
extension_set.cc:(.text+0x3e8): undefined reference to `std::__Cr::__next_prime(unsigned long)'
/usr/bin/ld: extension_set.cc:(.text+0x5b0): undefined reference to `std::__Cr::__next_prime(unsigned long)'
/usr/bin/ld: extension_set.cc:(.text+0x786): undefined reference to `std::__Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(extension_set.o): in function `google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom(google::protobuf::MessageLite const*, int, google::protobuf::internal::ExtensionSet::Extension const&, google::protobuf::Arena*)':
extension_set.cc:(.text+0x7cc): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::__init_copy_ctor_external(char const*, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(extension_set.o): in function `char const* google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > >(int, bool, google::protobuf::internal::ExtensionInfo const&, google::protobuf::internal::InternalMetadata*, char const*, google::protobuf::internal::ParseContext*)':
extension_set.cc:(.text[_ZN6google8protobuf8internal12ExtensionSet27ParseFieldWithExtensionInfoINSt4__Cr12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEEEPKcibRKNS1_13ExtensionInfoEPNS1_16InternalMetadataESC_PNS1_12ParseContextE]+0x66a): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::__assign_external(char const*, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(extension_set.o): in function `char const* google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl<google::protobuf::MessageLite, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > >(char const*, google::protobuf::MessageLite const*, google::protobuf::internal::InternalMetadata*, google::protobuf::internal::ParseContext*)':
extension_set.cc:(.text[_ZN6google8protobuf8internal12ExtensionSet23ParseMessageSetItemTmplINS0_11MessageLiteENSt4__Cr12basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEEEEPKcSD_PKT_PNS1_16InternalMetadataEPNS1_12ParseContextE]+0x2b8): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::__assign_external(char const*, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(implicit_weak_message.o): in function `google::protobuf::internal::ImplicitWeakMessage::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
implicit_weak_message.cc:(.text+0x52): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(char const*, unsigned long)'
/usr/bin/ld: implicit_weak_message.cc:(.text+0x85): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(char const*, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(implicit_weak_message.o): in function `google::protobuf::internal::ImplicitWeakMessage::CheckTypeAndMergeFrom(google::protobuf::MessageLite const&)':
implicit_weak_message.cc:(.text[_ZN6google8protobuf8internal19ImplicitWeakMessage21CheckTypeAndMergeFromERKNS0_11MessageLiteE]+0x22): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(char const*, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(zero_copy_stream_impl.o): in function `google::protobuf::io::IstreamInputStream::CopyingIstreamInputStream::Read(void*, int)':
zero_copy_stream_impl.cc:(.text+0x11): undefined reference to `std::__Cr::basic_istream<char, std::__Cr::char_traits<char> >::read(char*, long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(zero_copy_stream_impl.o): in function `google::protobuf::io::OstreamOutputStream::CopyingOstreamOutputStream::Write(void const*, int)':
zero_copy_stream_impl.cc:(.text+0x11): undefined reference to `std::__Cr::basic_ostream<char, std::__Cr::char_traits<char> >::write(char const*, long)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [test/CMakeFiles/test_mediasoupclient.dir/build.make:265: test/test_mediasoupclient] Error 1
make[2]: Leaving directory '/home/hxgit/gitlab/mediasoup/libmediasoupclient/build'
make[1]: *** [CMakeFiles/Makefile2:216: test/CMakeFiles/test_mediasoupclient.dir/all] Error 2
make[1]: Leaving directory '/home/hxgit/gitlab/mediasoup/libmediasoupclient/build'
make: *** [Makefile:136: all] Error 2
make: Leaving directory '/home/hxgit/gitlab/mediasoup/libmediasoupclient/build' Thousands of I noticed that WebRTC m120 uses clang-18 for compilation on Ubuntu 22.04 (located in src/third_party). |
I've upgraded
libmediasoupclient
to WebRTC m120-6099 and also updated the corresponding test demo,mediasoup-broadcaster-demo
, to the same version.This upgrade allows for successful room entry and video stream publishing.
Testing on a Mac with an M3 Max chip has been successful.