Skip to content

Implementation of data channels on top of webrtc data channels #77

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

Merged
merged 91 commits into from
Jul 8, 2020
Merged

Implementation of data channels on top of webrtc data channels #77

merged 91 commits into from
Jul 8, 2020

Conversation

tdrz
Copy link
Contributor

@tdrz tdrz commented Mar 30, 2020

Implementation of #53

Not implemented:

  • Tests for DataConsumer
  • SendHandler::StopSendingData() and SendHandler::StopReceivingData() are only stubs - question is if they should be implemented
  • DataChannel's priority

@tdrz tdrz marked this pull request as ready for review March 30, 2020 13:33
@ibc
Copy link
Member

ibc commented Mar 30, 2020

Thanks for this. We'll take a look when possible (unfortunately very busy lately).

@ibc ibc mentioned this pull request Mar 30, 2020
11 tasks
@tdrz
Copy link
Contributor Author

tdrz commented Mar 30, 2020

Thanks for this.

Thank you guys for a great system and implementation.

We'll take a look when possible (unfortunately very busy lately).

No worries, there's no rush from my side. I also have to switch to something else in the mean time (that's why some things are not completely implemented).

Copy link
Member

@jmillan jmillan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's looking good so far :-)

@tdrz
Copy link
Contributor Author

tdrz commented Apr 29, 2020

Thanks, I will (hopefully) make the changes this week.

@jmillan
Copy link
Member

jmillan commented Apr 30, 2020

Sure @copiltembel,

You can apply my cosmetic changes within github directly if that is more comfortable for you.

tdrz and others added 20 commits May 1, 2020 20:13
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
Co-authored-by: José Luis Millán <[email protected]>
@tdrz
Copy link
Contributor Author

tdrz commented Jun 18, 2020

mediasoup-broadcaster-demo: https://github.com/copiltembel/mediasoup-broadcaster-demo-datachannels - here I've added libmediasoup as a submodule, so if you checkout the code, make sure to do git clone ... and then git submodule init and git submodule update to fetch all the data.

Can you please make a PR to mediasoup-broadcaster-demo adding datachannels, so we just maintain 1 demo for this purposes?

Sure, but it would be easier for me if I do it after you complete this PR. Then I can just link directly the v3 libmediasoupclient branch to the mediasoup-broadcaster-demo.

@jmillan
Copy link
Member

jmillan commented Jun 19, 2020

Sure, but it would be easier for me if I do it after you complete this PR. Then I can just link directly the v3 libmediasoupclient branch to the mediasoup-broadcaster-demo.

As for now this PR is complete, but we need to test it within mediasoup-broadcaster-demo ideally.

If you could make a PR for mediasoup-broadcaster-demo and point this libmediasoupclient branch in the scripts/get_deps.sh so we can test before merging to v3, would be great.

@tdrz
Copy link
Contributor Author

tdrz commented Jun 20, 2020

OK, will do.

@tdrz
Copy link
Contributor Author

tdrz commented Jun 20, 2020

@jmillan

Funny enough I can't build mediasoup-broadcaster-demo anymore:

/usr/bin/ld: [...]/webrtc/src/out/m84/obj/libwebrtc.a(latebindingsymboltable_linux.o): undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libdl.so: error adding symbols: DSO missing from command line

Did you encounter this problem before?

@tdrz
Copy link
Contributor Author

tdrz commented Jun 20, 2020

I fixed it temporarily for me by adding libwebrtc to the target_link_libraries:

	# Public (interface) dependencies.
target_link_libraries(${PROJECT_NAME} PUBLIC
	${CPR_LIBRARIES}
	mediasoupclient
	webrtc_broadcaster
	${LIBWEBRTC_BINARY_PATH}/libwebrtc${CMAKE_STATIC_LIBRARY_SUFFIX}
)

@tdrz
Copy link
Contributor Author

tdrz commented Jun 21, 2020

@ibc Done. Please have a look at

versatica/mediasoup-broadcaster-demo#10 and
versatica/mediasoup-demo#101

I couldn't solve the problem mentioned a couple of comments above in any other way than targeting the libwebrtc directly in the mediasoup-broadcaster-demo.

@jmillan
Copy link
Member

jmillan commented Jun 22, 2020

We'll check it as soon as possible.

@tdrz
Copy link
Contributor Author

tdrz commented Jun 22, 2020

I just discovered a bug, please wait with the review.

@tdrz
Copy link
Contributor Author

tdrz commented Jun 22, 2020

Fixed.

@jmillan jmillan merged commit 745ef06 into versatica:v3 Jul 8, 2020
@jmillan
Copy link
Member

jmillan commented Jul 8, 2020

merged

@jmillan
Copy link
Member

jmillan commented Jul 8, 2020

Thanks @copitembel!

@tdrz tdrz deleted the v3-DataChannelsImpl branch July 8, 2020 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants