Skip to content

Commit

Permalink
Add device info to CastPlayer
Browse files Browse the repository at this point in the history
Issue: #142
PiperOrigin-RevId: 468666737
  • Loading branch information
marcbaechinger committed Sep 30, 2022
1 parent 0b1c540 commit d204f6b
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 2 deletions.
4 changes: 4 additions & 0 deletions RELEASENOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,10 @@
* Update CMake version to avoid incompatibilities with the latest Android
Studio releases
([#9933](https://github.com/google/ExoPlayer/issues/9933)).
* Cast extension:
* Implement `getDeviceInfo()` to be able to identify `CastPlayer` when
controlling playback with a `MediaController`
([#142](https://github.com/google/ExoPlayer/issues/142)).

### 1.0.0-beta02 (2022-07-21)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,10 @@
@UnstableApi
public final class CastPlayer extends BasePlayer {

/** The {@link DeviceInfo} returned by {@link #getDeviceInfo() this player}. */
public static final DeviceInfo DEVICE_INFO =
new DeviceInfo(DeviceInfo.PLAYBACK_TYPE_REMOTE, /* minVolume= */ 0, /* maxVolume= */ 0);

static {
MediaLibraryInfo.registerModule("media3.cast");
}
Expand Down Expand Up @@ -729,10 +733,10 @@ public CueGroup getCurrentCues() {
return CueGroup.EMPTY_TIME_ZERO;
}

/** This method is not supported and always returns {@link DeviceInfo#UNKNOWN}. */
/** This method always returns {@link CastPlayer#DEVICE_INFO}. */
@Override
public DeviceInfo getDeviceInfo() {
return DeviceInfo.UNKNOWN;
return DEVICE_INFO;
}

/** This method is not supported and always returns {@code 0}. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@

import android.net.Uri;
import androidx.media3.common.C;
import androidx.media3.common.DeviceInfo;
import androidx.media3.common.MediaItem;
import androidx.media3.common.MediaMetadata;
import androidx.media3.common.MimeTypes;
Expand Down Expand Up @@ -1864,6 +1865,14 @@ public void setMediaItems_equalMetadata_doesNotNotifyOnMediaMetadataChanged() {
verify(mockListener, never()).onMediaMetadataChanged(any());
}

@Test
public void getDeviceInfo_returnsCorrectDeviceInfoWithPlaybackTypeRemote() {
DeviceInfo deviceInfo = castPlayer.getDeviceInfo();

assertThat(deviceInfo).isEqualTo(CastPlayer.DEVICE_INFO);
assertThat(deviceInfo.playbackType).isEqualTo(DeviceInfo.PLAYBACK_TYPE_REMOTE);
}

private int[] createMediaQueueItemIds(int numberOfIds) {
int[] mediaQueueItemIds = new int[numberOfIds];
for (int i = 0; i < numberOfIds; i++) {
Expand Down

0 comments on commit d204f6b

Please sign in to comment.