NPAW Forge adapter for video_player

Automatic NPAW analytics for the Flutter video_player package, built on npaw_forge. The adapter observes a VideoPlayerController and reports start, join, pause/resume, buffering, inferred seeks, completion, and fatal errors to the Forge analytics core. chewie and pod_player wrap the same controller, so they are covered too.

Usage

import 'package:npaw_forge/npaw_forge.dart';
import 'package:npaw_forge_video_player/npaw_forge_video_player.dart';
import 'package:video_player/video_player.dart';

final forge = await NpawForge.start(
  const ForgeConfig(accountCode: 'yourAccountCode', appName: 'my-app'),
);

final controller = VideoPlayerController.networkUrl(Uri.parse(streamUrl));
final attachment = await attachVideoPlayer(
  forge,
  controller,
  metadata: const ContentMetadata(title: 'Movie', isLive: false),
);

await controller.initialize();
await controller.play();

// When playback ends for good:
await attachment.dispose();

QoS scope

video_player does not expose bitrate, rendition switches, bandwidth, or dropped frames to Dart; those fields stay empty unless provided via ContentMetadata. Playback lifecycle, playhead, duration, rendition from the video surface size, and playback rate are reported automatically.