video_pool 0.2.0 copy "video_pool: ^0.2.0" to clipboard
video_pool: ^0.2.0 copied to clipboard

Video orchestration for Flutter - controller pooling, instance reuse, visibility lifecycle, thermal throttling, disk caching, and ready-to-use widgets.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:media_kit/media_kit.dart';

import 'tiktok_example.dart';
import 'instagram_example.dart';
import 'custom_policy_example.dart';


void main() {
  WidgetsFlutterBinding.ensureInitialized();
  MediaKit.ensureInitialized();
  runApp(const ExampleApp());
}

/// Root widget with navigation to the example screens.
class ExampleApp extends StatelessWidget {
  const ExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'video_pool Examples',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        colorSchemeSeed: Colors.deepPurple,
        brightness: Brightness.dark,
        useMaterial3: true,
      ),
      home: const _HomeScreen(),
    );
  }
}

class _HomeScreen extends StatelessWidget {
  const _HomeScreen();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('video_pool Examples')),
      body: ListView(
        children: [
          ListTile(
            leading: const Icon(Icons.swipe_vertical),
            title: const Text('TikTok / Reels Feed'),
            subtitle: const Text('Full-screen vertical video feed'),
            trailing: const Icon(Icons.chevron_right),
            onTap: () => Navigator.push(
              context,
              MaterialPageRoute(
                builder: (_) => const TikTokExample(),
              ),
            ),
          ),
          const Divider(),
          ListTile(
            leading: const Icon(Icons.grid_view),
            title: const Text('Instagram Feed'),
            subtitle: const Text('Mixed content list with video cards'),
            trailing: const Icon(Icons.chevron_right),
            onTap: () => Navigator.push(
              context,
              MaterialPageRoute(
                builder: (_) => const InstagramExample(),
              ),
            ),
          ),
          const Divider(),
          ListTile(
            leading: const Icon(Icons.tune),
            title: const Text('Custom Policy'),
            subtitle: const Text('Battery-saver lifecycle policy'),
            trailing: const Icon(Icons.chevron_right),
            onTap: () => Navigator.push(
              context,
              MaterialPageRoute(
                builder: (_) => const CustomPolicyExample(),
              ),
            ),
          ),
        ],
      ),
    );
  }
}
9
likes
0
points
177
downloads

Publisher

verified publisherabdullahtas.dev

Weekly Downloads

Video orchestration for Flutter - controller pooling, instance reuse, visibility lifecycle, thermal throttling, disk caching, and ready-to-use widgets.

Repository (GitHub)
View/report issues

Topics

#video #video-player #media #cache #performance

License

unknown (license)

Dependencies

crypto, flutter, media_kit, media_kit_libs_video, media_kit_video

More

Packages that depend on video_pool

Packages that implement video_pool