ant-media / Ant-Media-Server

Ant Media Server is a live streaming engine software that provides adaptive, ultra low latency streaming by using WebRTC technology with ~0.5 seconds latency. Ant Media Server is auto-scalable and it can run on-premise or on-cloud.
https://antmedia.io
Other
4.29k stars 636 forks source link

Conference Room functionality suddenly not working as expected after upgrading to AMS 2.10 #6589

Open JosephTico opened 3 months ago

JosephTico commented 3 months ago

Short description

Brief description of what happened It appears that the behavior of the rooms has changed in version 2.10 in a breaking way. This is a major issue for us, as we expect that breaking changes are well communicated and conform to semver versioning, yet this didn't happen this time.

Details about adding/setting/modifying Rooms via the API just suddenly disappeared from the API docs without warning too, instead of keeping them for a while and adding a deprecation warning.

Environment

Steps to reproduce

  1. Create a stream via the API using /v2/broadcasts/create
  2. Create an empty room via the API with a custom roomId (/v2/broadcasts/conference-rooms)
  3. Add the previously created stream with id streamId to the room /v2/broadcasts/conference-rooms/#{room_id}/add.

Expected behavior

Stream was added successfully. This was the behavior up to 2.9.

Actual behavior

error: There is no stream with id:(streamId) as subtrack or (roomId) as mainTrack

burak-58 commented 2 months ago

Hi @JosephTico, Thanks for reporting. You are right about backward compatibility and deprecation process. Actually we apply the same way you mentioned while deprecating some APIs. As you can see here we tagged the REST method as deprecated before. Besides, we didn't totally remove the REST method and tried to adapt it with the new conferencing structure. Let us check the scenario you provided and understand why it doesn't work. You may continue with the previous release until we finalize our investigation. Alternatively, you may consider adapting your code with the new conferencing structure in which we removed conference data structure and started to use broadcast object instead. So you need to create broadcast object (lets say main track) with /v2/broadcasts/create instead of room creation with /v2/broadcasts/conference-rooms. Also add your streams to main track as subtracks with this method. I tried to explain it roughly. If you prefer adapting your code, we can discuss more.

muratugureminoglu commented 2 months ago
Agent Mohit Dubey linked Freshdesk ticket 132543 for this issue.