Search in sources :

Example 96 with Format

use of com.google.android.exoplayer2.Format in project ExoPlayer by google.

the class DefaultHlsExtractorFactoryTest method createExtractor_onFailedSniff_fallsBackOnFormatInferred.

@Test
public void createExtractor_onFailedSniff_fallsBackOnFormatInferred() throws Exception {
    ExtractorInput emptyExtractorInput = new FakeExtractorInput.Builder().build();
    BundledHlsMediaChunkExtractor result = new DefaultHlsExtractorFactory().createExtractor(URI_WITH_MP4_EXTENSION, webVttFormat, /* muxedCaptionFormats= */
    null, timestampAdjuster, ac3ResponseHeaders, emptyExtractorInput, PlayerId.UNSET);
    // The format indicates WebVTT so we expect a WebVTT extractor.
    assertThat(result.extractor.getClass()).isEqualTo(WebvttExtractor.class);
}
Also used : FakeExtractorInput(com.google.android.exoplayer2.testutil.FakeExtractorInput) ExtractorInput(com.google.android.exoplayer2.extractor.ExtractorInput) FakeExtractorInput(com.google.android.exoplayer2.testutil.FakeExtractorInput) Test(org.junit.Test)

Example 97 with Format

use of com.google.android.exoplayer2.Format in project ExoPlayer by google.

the class DefaultHlsExtractorFactoryTest method createExtractor_onFailedSniff_fallsBackOnHttpContentType.

@Test
public void createExtractor_onFailedSniff_fallsBackOnHttpContentType() throws Exception {
    ExtractorInput emptyExtractorInput = new FakeExtractorInput.Builder().build();
    BundledHlsMediaChunkExtractor result = new DefaultHlsExtractorFactory().createExtractor(URI_WITH_MP4_EXTENSION, new Format.Builder().build(), /* muxedCaptionFormats= */
    null, timestampAdjuster, ac3ResponseHeaders, emptyExtractorInput, PlayerId.UNSET);
    // No format info, so we expect an AC-3 Extractor, as per HTTP Content-Type header.
    assertThat(result.extractor.getClass()).isEqualTo(Ac3Extractor.class);
}
Also used : FakeExtractorInput(com.google.android.exoplayer2.testutil.FakeExtractorInput) ExtractorInput(com.google.android.exoplayer2.extractor.ExtractorInput) FakeExtractorInput(com.google.android.exoplayer2.testutil.FakeExtractorInput) Test(org.junit.Test)

Example 98 with Format

use of com.google.android.exoplayer2.Format in project ExoPlayer by google.

the class DefaultHlsExtractorFactoryTest method createExtractor_onFailedSniff_fallsBackOnFileExtension.

@Test
public void createExtractor_onFailedSniff_fallsBackOnFileExtension() throws Exception {
    ExtractorInput emptyExtractorInput = new FakeExtractorInput.Builder().build();
    BundledHlsMediaChunkExtractor result = new DefaultHlsExtractorFactory().createExtractor(URI_WITH_MP4_EXTENSION, new Format.Builder().build(), /* muxedCaptionFormats= */
    null, timestampAdjuster, /* responseHeaders= */
    ImmutableMap.of(), emptyExtractorInput, PlayerId.UNSET);
    // No format info, and no HTTP headers, so we expect an fMP4 extractor, as per file extension.
    assertThat(result.extractor.getClass()).isEqualTo(FragmentedMp4Extractor.class);
}
Also used : FakeExtractorInput(com.google.android.exoplayer2.testutil.FakeExtractorInput) ExtractorInput(com.google.android.exoplayer2.extractor.ExtractorInput) FakeExtractorInput(com.google.android.exoplayer2.testutil.FakeExtractorInput) Test(org.junit.Test)

Example 99 with Format

use of com.google.android.exoplayer2.Format in project ExoPlayer by google.

the class HlsMultivariantPlaylistParserTest method parseMultivariantPlaylist_withCc_cCIdPropagated.

@Test
public void parseMultivariantPlaylist_withCc_cCIdPropagated() throws IOException {
    HlsMultivariantPlaylist playlist = parseMultivariantPlaylist(PLAYLIST_URI, PLAYLIST_WITH_CC);
    Format firstTextFormat = playlist.muxedCaptionFormats.get(0);
    assertThat(firstTextFormat.id).isEqualTo("cc1:Eng");
}
Also used : Format(com.google.android.exoplayer2.Format) Test(org.junit.Test)

Example 100 with Format

use of com.google.android.exoplayer2.Format in project ExoPlayer by google.

the class HlsMultivariantPlaylistParserTest method parseMultivariantPlaylist_withAudio_audioIdPropagated.

@Test
public void parseMultivariantPlaylist_withAudio_audioIdPropagated() throws IOException {
    HlsMultivariantPlaylist playlist = parseMultivariantPlaylist(PLAYLIST_URI, PLAYLIST_WITH_AUDIO_MEDIA_TAG);
    Format firstAudioFormat = playlist.audios.get(0).format;
    assertThat(firstAudioFormat.id).isEqualTo("aud1:English");
    Format secondAudioFormat = playlist.audios.get(1).format;
    assertThat(secondAudioFormat.id).isEqualTo("aud2:English");
}
Also used : Format(com.google.android.exoplayer2.Format) Test(org.junit.Test)

Aggregations

Format (com.google.android.exoplayer2.Format)245 Test (org.junit.Test)178 Nullable (androidx.annotation.Nullable)65 TrackGroupArray (com.google.android.exoplayer2.source.TrackGroupArray)62 TrackGroup (com.google.android.exoplayer2.source.TrackGroup)55 RendererCapabilities (com.google.android.exoplayer2.RendererCapabilities)35 ArrayList (java.util.ArrayList)32 DrmSessionEventListener (com.google.android.exoplayer2.drm.DrmSessionEventListener)26 FakeSampleStream (com.google.android.exoplayer2.testutil.FakeSampleStream)26 MediaFormat (android.media.MediaFormat)22 DefaultAllocator (com.google.android.exoplayer2.upstream.DefaultAllocator)22 SuppressLint (android.annotation.SuppressLint)18 Metadata (com.google.android.exoplayer2.metadata.Metadata)18 FakeTimeline (com.google.android.exoplayer2.testutil.FakeTimeline)18 FakeMediaSource (com.google.android.exoplayer2.testutil.FakeMediaSource)16 ImmutableList (com.google.common.collect.ImmutableList)16 AndroidJUnit4 (androidx.test.ext.junit.runners.AndroidJUnit4)15 EventStream (com.google.android.exoplayer2.source.dash.manifest.EventStream)15 SurfaceTexture (android.graphics.SurfaceTexture)14 Surface (android.view.Surface)14