Suporte a vários tipos de metadados em transmissões

Para streams que usam dois tipos diferentes de metadados, talvez seja necessário configurar mais opções, dependendo da implementação do player. Um stream pode conter vários tipos de metadados. O SDK do IMA adiciona metadados ao stream para recuperar informações de anúncios da mídia. Por exemplo, SCTE-35 é um segundo tipo de metadados comum.

Para apps que usam Media3 ExoPlayer v1.6 ou mais recente, os streams com dois tipos de metadados são processados por padrão.

Para apps que usam uma versão do ExoPlayer anterior à v1.6, adicione outra MetadataRenderer instância à implementação do ExoPlayer. O exemplo a seguir adiciona uma segunda instância de MetadataRenderer para oferecer suporte a dois tipos de metadados:

RenderersFactory defaultRenderersFactory = new DefaultRenderersFactory(context) {

  @Override
  protected void buildMetadataRenderers(Context context, MetadataOutput output,
      Looper outputLooper, @ExtensionRendererMode int extensionRendererMode,
      ArrayList<Renderer> out) {
    // Add a `MetadataRenderer` for each type of metadata. This example adds 2.
    out.add(new MetadataRenderer(output, outputLooper));
    out.add(new MetadataRenderer(output, outputLooper));
  }
};

new ExoPlayer.Builder()
    .setRenderersFactory(defaultRenderersFactory)
    .setMediaSourceFactory(mediaSourceFactory)
    .build();;