Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Add audio output status callback set to SdlSession
Add to Andoroid’s SdlSession since it is only an Android feature
  • Loading branch information
joeygrover committed Sep 1, 2022
commit 50d64825e7555694bad82ed52ff7f4dac7d1e2aa
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ public class SdlSession extends BaseSdlSession {
WeakReference<Context> contextWeakReference;
MediaStreamingStatus mediaStreamingStatus;
boolean requiresAudioSupport = false;
MediaStreamingStatus.Callback mediaStreamingStatusCallback;

public SdlSession(ISdlSessionListener listener, MultiplexTransportConfig config) {
super(listener, config);
Expand All @@ -79,6 +80,17 @@ public SdlSession(ISdlSessionListener listener, TCPTransportConfig config) {
this.sessionListener = listener;
}

/**
* Sets a callback that is triggered when there are no audio output methods available. If this
* is set then the caller of this method will be responsible for shutting the session down.
*
* @param mediaStreamingStatusCallback the callback that will be triggered when audio output is
* no longer available.
*/
public void setMediaStreamingStatusCallback(MediaStreamingStatus.Callback mediaStreamingStatusCallback) {
this.mediaStreamingStatusCallback = mediaStreamingStatusCallback;
}

protected SdlProtocolBase getSdlProtocolImplementation() {
if (transportConfig instanceof MultiplexTransportConfig) {
return new SdlProtocol(this, (MultiplexTransportConfig) transportConfig);
Expand All @@ -94,8 +106,12 @@ boolean isAudioRequirementMet() {
mediaStreamingStatus = new MediaStreamingStatus(contextWeakReference.get(), new MediaStreamingStatus.Callback() {
@Override
public void onAudioNoLongerAvailable() {
close();
shutdown("Audio output no longer available");
if (mediaStreamingStatusCallback != null) {
mediaStreamingStatusCallback.onAudioNoLongerAvailable();
} else {
close();
shutdown("Audio output no longer available");
}
}
});
}
Expand Down