///
/// ReactNativeVideoOnLoad.kt
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
/// https://github.com/mrousavy/nitro
/// Copyright © 2025 Marc Rousavy @ Margelo
///

package com.margelo.nitro.video

import android.util.Log

internal class ReactNativeVideoOnLoad {
  companion object {
    private const val TAG = "ReactNativeVideoOnLoad"
    private var didLoad = false
    /**
     * Initializes the native part of "ReactNativeVideo".
     * This method is idempotent and can be called more than once.
     */
    @JvmStatic
    fun initializeNative() {
      if (didLoad) return
      try {
        Log.i(TAG, "Loading ReactNativeVideo C++ library...")
        System.loadLibrary("ReactNativeVideo")
        Log.i(TAG, "Successfully loaded ReactNativeVideo C++ library!")
        didLoad = true
      } catch (e: Error) {
        Log.e(TAG, "Failed to load ReactNativeVideo C++ library! Is it properly installed and linked? " +
                    "Is the name correct? (see `CMakeLists.txt`, at `add_library(...)`)", e)
        throw e
      }
    }
  }
}
