Scenario: client subscribed to audio and hd track, server is forwarding objs to client without problem. Then client subscribes to md (client unsubscribes hd from server, server replys with SubscribeDone, client gets SubscribeDone message, then subscribes to md track), server is forwarding objs to client, my session_manager logs the actions above:
Issue trigger: after client subscribed to md, and now client wanna subscribe back to hd track, but this time there is no log from session_manager that indicates this subscription to hd track, we expect(but didnot get) new logs as
[ ] Does the server receive the subscribe message from client when client changes subscription from md to hd?
Yes. Here’s the server log: the last two lines indicate subscription on hd track with id 5 is received and SubscribeOk is sent the client (client also gets the SubscribeOk msg)
[ ] If server gets the subscribe message, is server forwarding objs to client?
No. Even tho server got the subscription on hd track with id 5, and responded with SubscribeOk, we did not see a log in the session manager that indicates session_manager gets the subscription on hd track with id 5, hence no new LocalTrack is returned to this subscription with id 5, so client is not getting any objs on hd video track (client is getting audio track objs all the time).
Scenario: client subscribed to audio and hd track, server is forwarding objs to client without problem. Then client subscribes to md (client unsubscribes hd from server, server replys with
SubscribeDone
, client getsSubscribeDone
message, then subscribes to md track), server is forwarding objs to client, mysession_manager
logs the actions above:Issue trigger: after client subscribed to md, and now client wanna subscribe back to hd track, but this time there is no log from
session_manager
that indicates this subscription to hd track, we expect(but didnot get) new logs asto be added to the session_manager log.
Investigation:
[ ] Does the server receive the subscribe message from client when client changes subscription from md to hd?
Yes. Here’s the server log: the last two lines indicate subscription on hd track with id 5 is received and SubscribeOk is sent the client (client also gets the SubscribeOk msg)
[ ] If server gets the subscribe message, is server forwarding objs to client?
No. Even tho server got the subscription on hd track with id 5, and responded with SubscribeOk, we did not see a log in the session manager that indicates
session_manager
gets the subscription on hd track with id 5, hence no new LocalTrack is returned to this subscription with id 5, so client is not getting any objs on hd video track (client is getting audio track objs all the time).So the problem happens on the server side that it gets the subscription on hd track with id 5, but did not call HandleSubscription to handle it.
Possible cause:
this function is blocking?
or related to: