INFO MediaControlHandler: NOP: Getting metadata for... log keeps firing

:warning: Before you continue


Before submitting a bug report, please review our troubleshooting documentation at Troubleshoot Issues | Vega Troubleshooting

If you still want to file a bug report, please make sure to fill in all the details below and provide the necessary information.

NOTE: PLEASE ONLY REPORT A SINGLE BUG USING THIS TEMPLATE.
If you’re experiencing multiple issues, please file a separate report for each.


:backhand_index_pointing_right: Bug Description


1. Summary

The INFO MediaControlHandler: NOP: Getting metadata for [object Object] log keeps firing in the console even after the player has been destroyed. It looks like the only way to stop it is to relaunch the application.

App Name: reproducible also on vega-video-sample app

Bug Severity
Select one that applies

  • Impacts operation of app
  • Blocks current development
  • Improvement suggestion
  • Issue with documentation (If selected, please share the doc link and describe the issue)
  • Other

2. Steps to Reproduce

  1. Launch any content
  2. Let it play and close the player
  3. Check the logs to see that the message is still being logged

3. Observed Behavior

Explain what actually happened, noting any discrepancies or malfunctions.

The INFO MediaControlHandler: NOP: Getting metadata for [object Object] log keeps firing in the console even after the player has been destroyed. It looks like the only way to stop it is to relaunch the application.

4. Expected Behavior

Describe what you expected the SDK to do under normal operation.

If the player instance is destroyed the log should stop firing.

4.a Possible Root Cause & Temporary Workaround

Fill out anything you have tried. If you don’t know, N/A is acceptable

<!-- Answer here -->

5. Logs or crash report

6. Environment

Please fill out the fields related to your bug below:

  • SDK Version:
    Active SDK Version: 0.22.6759
    Vega CLI Version: 1.2.18

  • App State: Foreground

  • OS Information:

    NAME="OS"
    OE_VERSION="4.0.0"
    OS_MAJOR_VERSION="1"
    OS_MINOR_VERSION="2"
    RELEASE_ID="21"
    OS_VERSION="1.2"
    BRANCH_CODE="TV Ship"
    BUILD_DESC="OS 1.2 (TV Ship/547)"
    BUILD_FINGERPRINT="4.0.378951.0(3072cab629675a74)/547N:user/release-keys"
    BUILD_VARIANT="user"
    BUILD_TAGS="release-keys"
    BUILD_DATE="Tue Jul 14 08:13:13 UTC 2026"
    BUILD_TIMESTAMP="1784016793"
    VERSION_NUMBER="2101020054720"
    

7. Example Code Snippet / Screenshots / Screengrabs

Include any relevant code or component setup in React Native that can help reproduce the bug.

import { ExampleComponent } from 'custom-sdk';

<ExampleComponent config={{ key: 'value' }} />

:backhand_index_pointing_right: Playback Issues


If this is a playback issue, please provide your content URL, any pre-conditions (like geo-location), and let us know if it’s x86 or arm7.


<!-- Describe your playback issue if applicable -->

Please share the following details in addition:_

  • Player SDK: [Bitmovin, Shaka, ...]
  • Player SDK Version: [e.g. 1.23]
    • Audio Codecs: [AAC, ...]
    • Video Codecs: [h.264, mp4]
    • Manifest Types: [m3u8, dash, etc ..]

Q: If applicable, please provide your media/content url
If this is created dynamically, tokenized, etc please provide a way for us to access it

[N/A or Content / Media Url for testing]

Q: Are there any special headers required to reproduce the issue you are facing?

[N/A or Insert Headers]

Additionally please provide the following if possible
Provide Screenshots / Screengrabs / Logs. Please include as much information as you can that will help debug.

<!-- Answer here if applicable --> 

:backhand_index_pointing_right: Additional Context


Any Additional Context you would like to provide?
Add any other relevant information, such as recent updates to the SDK, dependencies, or device OS that may affect the bug.

<!-- Answer here if applicable  --> 

Hi @Marco_Cilona,

Thank you for the detailed bug report on the MediaControlHandler NOP log issue.

Our team is investigating this issue and will provide an update as soon as we have more information.

From your logs we can see the player cleanup is working correctly - deinitializeSync succeeds, event listeners are removed, and player destruction completes. The problem is that the KMC (Kepler Media Controls) handler registration survives all of that and keeps polling for metadata indefinitely.

The NOP: Getting metadata for [object Object] message (firing 99+ times) means the system-level media control server is still trying to query your app’s handler for metadata even though the player session no longer exists. The KMC server binding set up via setMediaControlFocus isn’t being released when the player is deinitialized.

A couple of questions that would help us narrow it down:

  1. Are you using the headless playback pattern or the standard interactive (VideoPlayer +
    KeplerVideoSurfaceView) approach?
  2. Does starting a new playback session after destroying the first one cause the NOP logs
    to double up, or does the new session “take over” the handler?

References:

Thanks for helping us improve the Vega platform.

Warm regards,
Aishwarya

Hi @amen,

thanks for the support!

Regarding your questions:

  1. I’m using the standard interactive approach.

  2. It doesn’t look like it’s doubling up. As you can see from the screenshot, the first 13 logs are from the first session, then I opened a new player and got the last three logs you see here.

Kind regards,

Marco

Hi @Marco_Cilona,

Thank you for reporting this. We’ve completed our investigation.

This behavior is expected by design. The KMC handler registration is tied to the app/component lifecycle, not the individual MediaPlayer instance. Once registered via setMediaControlFocus(), the handler persists until the app exits (onStop) or a new player instance is created.

The “NOP” log is a harmless no-op - it simply means the handler is still registered but has no active player to report to. It does not impact performance.

Let us know if you have any other questions!

Best regards,
Aishwarya