Conversation
Title:
Change session from private to public for ringback tone usage
Description:
This PR modifies the session visibility from private to public to enable its usage for ringback tone functionality. Additionally, improvements were made to the remote media setup to ensure smoother playback.
Changes made:
Updated session access level from private → public.
Improved setupRemoteMediaSimpleUserRingBackTone function for better handling of media playback.
Updated Code:
typescript
```ts
async function setupRemoteMediaSimpleUserRingBackTone(session: any, mediaElement: HTMLMediaElement) {
try {
if (!mediaElement) {
console.error("Media element is not provided");
return;
}
const pc = session?._sessionDescriptionHandler?._peerConnection;
if (!pc) {
console.error("PeerConnection not found in session");
return;
}
let remoteStream: MediaStream | null = null;
if (pc.getReceivers) {
remoteStream = new MediaStream();
pc.getReceivers().forEach((receiver) => {
if (receiver.track) {
remoteStream!.addTrack(receiver.track);
}
});
} else if (pc.getRemoteStreams) {
remoteStream = pc.getRemoteStreams()[0] || null;
}
if (!remoteStream) {
console.warn("No remote stream found");
return;
}
mediaElement.srcObject = remoteStream;
if (mediaElement.paused) {
try {
await mediaElement.play();
} catch (error) {
console.warn("Autoplay blocked, retrying...");
setTimeout(async () => {
try {
await mediaElement.play();
} catch (err) {
console.error("Error playing media:", err);
}
}, 1000);
}
}
} catch (error) {
console.error("Error in setupRemoteMediaSimpleUserRingBackTone:", error);
}
}
```
Reason for change:
The previous private session restricted access, making it impossible to utilize the session for ringback tone playback. By setting it to public, the session can now be used as intended. Additionally, the media setup function has been improved to ensure stability and better error handling.
Impact:
Allows the session to be accessible for ringback tone.
Ensures proper media playback and prevents unnecessary errors.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Title:
Change session from private to public for ringback tone usage
Description:
This PR modifies the session visibility from private to public to enable its usage for ringback tone functionality. Additionally, improvements were made to the remote media setup to ensure smoother playback.
Changes made:
Updated session access level from private → public. Improved setupRemoteMediaSimpleUserRingBackTone function for better handling of media playback. Updated Code:
typescript
Reason for change:
The previous private session restricted access, making it impossible to utilize the session for ringback tone playback. By setting it to public, the session can now be used as intended. Additionally, the media setup function has been improved to ensure stability and better error handling.
Impact:
Allows the session to be accessible for ringback tone. Ensures proper media playback and prevents unnecessary errors.