स्ट्रीम में कई तरह के मेटाडेटा का इस्तेमाल किया जा सकता है

दो अलग-अलग तरह के मेटाडेटा का इस्तेमाल करने वाले स्ट्रीम के लिए, आपको अपने प्लेयर के लागू करने के तरीके के हिसाब से, कॉन्फ़िगरेशन का अतिरिक्त सेटअप करना पड़ सकता है. किसी स्ट्रीम में, कई तरह का मेटाडेटा हो सकता है. IMA SDK, मीडिया से विज्ञापन की जानकारी पाने के लिए, स्ट्रीम में मेटाडेटा जोड़ता है. उदाहरण के लिए, SCTE-35, दूसरे मेटाडेटा का एक सामान्य टाइप है.

Media3 ExoPlayer के v1.6 या इससे नए वर्शन का इस्तेमाल करने वाले ऐप्लिकेशन के लिए, दो तरह के मेटाडेटा वाले स्ट्रीम डिफ़ॉल्ट रूप से मैनेज किए जाते हैं.

ExoPlayer के v1.6 से पुराने वर्शन का इस्तेमाल करने वाले ऐप्लिकेशन के लिए, आपको ExoPlayer के लागू करने के तरीके में, एक और MetadataRenderer इंस्टेंस जोड़ना होगा. यहां दिए गए उदाहरण में, दो तरह के मेटाडेटा के लिए, MetadataRenderer का दूसरा इंस्टेंस जोड़ा गया है:

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();;