mirror of
https://github.com/androidx/media.git
synced 2025-05-13 02:29:52 +08:00
Merge pull request #2386 from DolbyLaboratories:dlb/cmcd/nullable-configuration
PiperOrigin-RevId: 753210729
This commit is contained in:
commit
acdc71bb63
@ -14,6 +14,9 @@
|
|||||||
* Fix memory leak in `MergingMediaSource`, for example used when
|
* Fix memory leak in `MergingMediaSource`, for example used when
|
||||||
sideloading subtitles
|
sideloading subtitles
|
||||||
([#2338](https://github.com/androidx/media/issues/2338)).
|
([#2338](https://github.com/androidx/media/issues/2338)).
|
||||||
|
* Allow `CmcdConfiguration.Factory` to return `null` to disable CMCD
|
||||||
|
logging for specific media items
|
||||||
|
([#2386](https://github.com/androidx/media/pull/2386)).
|
||||||
* Transformer:
|
* Transformer:
|
||||||
* Filling an initial gap (added via `addGap()`) with silent audio now
|
* Filling an initial gap (added via `addGap()`) with silent audio now
|
||||||
requires explicitly setting `experimentalSetForceAudioTrack(true)` in
|
requires explicitly setting `experimentalSetForceAudioTrack(true)` in
|
||||||
|
@ -127,8 +127,9 @@ public final class CmcdConfiguration {
|
|||||||
* Creates a {@link CmcdConfiguration} based on the provided {@link MediaItem}.
|
* Creates a {@link CmcdConfiguration} based on the provided {@link MediaItem}.
|
||||||
*
|
*
|
||||||
* @param mediaItem The {@link MediaItem} from which to create the CMCD configuration.
|
* @param mediaItem The {@link MediaItem} from which to create the CMCD configuration.
|
||||||
* @return A {@link CmcdConfiguration} instance.
|
* @return A {@link CmcdConfiguration} instance, or {@code null} to disable CMCD logging.
|
||||||
*/
|
*/
|
||||||
|
@Nullable
|
||||||
CmcdConfiguration createCmcdConfiguration(MediaItem mediaItem);
|
CmcdConfiguration createCmcdConfiguration(MediaItem mediaItem);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -18,6 +18,7 @@ package androidx.media3.exoplayer.upstream;
|
|||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
import static org.junit.Assert.assertThrows;
|
import static org.junit.Assert.assertThrows;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import androidx.media3.common.C;
|
import androidx.media3.common.C;
|
||||||
import androidx.media3.common.MediaItem;
|
import androidx.media3.common.MediaItem;
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
@ -134,4 +135,16 @@ public class CmcdConfigurationTest {
|
|||||||
/* throughputKbps= */ 100))
|
/* throughputKbps= */ 100))
|
||||||
.isEqualTo(200);
|
.isEqualTo(200);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void customFactory_returnsNull() {
|
||||||
|
CmcdConfiguration.Factory cmcdConfigurationFactory = mediaItem -> null;
|
||||||
|
MediaItem mediaItem = new MediaItem.Builder().setMediaId(TEST_MEDIA_ID).build();
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
CmcdConfiguration cmcdConfiguration =
|
||||||
|
cmcdConfigurationFactory.createCmcdConfiguration(mediaItem);
|
||||||
|
|
||||||
|
assertThat(cmcdConfiguration).isNull();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -113,7 +113,7 @@ public final class DashMediaSource extends BaseMediaSource {
|
|||||||
private final DashChunkSource.Factory chunkSourceFactory;
|
private final DashChunkSource.Factory chunkSourceFactory;
|
||||||
@Nullable private final DataSource.Factory manifestDataSourceFactory;
|
@Nullable private final DataSource.Factory manifestDataSourceFactory;
|
||||||
|
|
||||||
private CmcdConfiguration.Factory cmcdConfigurationFactory;
|
@Nullable private CmcdConfiguration.Factory cmcdConfigurationFactory;
|
||||||
private DrmSessionManagerProvider drmSessionManagerProvider;
|
private DrmSessionManagerProvider drmSessionManagerProvider;
|
||||||
private CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory;
|
private CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory;
|
||||||
private LoadErrorHandlingPolicy loadErrorHandlingPolicy;
|
private LoadErrorHandlingPolicy loadErrorHandlingPolicy;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user