=== Logicfire Video Player ===
Contributors: logicfire
Tags: video, player, html5, elementor, gutenberg
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Modern Video.js player for WordPress with progressive video, chapters, A–B loop, dual renderers, and major page-builder widgets.

== Description ==

Logicfire Video Player embeds a modern Video.js v10 player anywhere on your WordPress site.

= Free features =

* Media Library attachments and direct progressive URLs (MP4, WebM, OGV, MOV)
* Dual renderers: HTML (Video.js v10 web components) and React
* Chapters, A–B loop, playback speed, and Picture-in-Picture
* Theming: colors, border radii, aspect ratio, controls inside or outside the player
* Reusable Video custom post type
* Shortcode, Gutenberg block, Elementor, WPBakery, Divi, Beaver Builder, and Bricks

= Shortcode examples =

`[lfvp_player url="https://example.com/video.mp4"]`

`[lfvp_player video_id="123"]`

`[lfvp_player attachment_id="456"]`

= Upgrade to Pro =

Logicfire Video Player Pro adds HLS adaptive streaming, S3 / CloudFront signed URLs, access control, captions, watermark, resume playback, playlists, analytics, Reels, and WooCommerce product trailers.

== Installation ==

1. Upload the `logicfire-video-player` folder to `/wp-content/plugins/`, or install the zip from Plugins → Add New → Upload Plugin.
2. Activate the plugin through the Plugins screen.
3. Go to **Video Player → Settings** to configure the player.
4. Create videos under **Video Player → Videos**, or embed with the shortcode, block, or page-builder widgets.

== Frequently Asked Questions ==

= Does the free version support HLS? =

No. HLS (`.m3u8`) requires Logicfire Video Player Pro.

= Does it require WooCommerce? =

No. The free player works on any WordPress site. Pro can optionally gate playback by WooCommerce purchase.

= Where are translations loaded from? =

When hosted on WordPress.org, translations for the `logicfire-video-player` text domain are loaded automatically by WordPress.

= What data does the plugin store? =

Player settings are stored as WordPress options. Video metadata lives on the Video custom post type. Optional uninstall cleanup can remove settings when the plugin is deleted; video posts and media files are never removed automatically.

== Screenshots ==

1. Player settings screen
2. Video library (custom post type)
3. Front-end HTML player embed

== Source Code and Build Process ==

This plugin ships both generated (minified) front-end assets and the human-readable sources used to produce them. Build tooling lives under `build/` (sources, package.json, and scripts). `node_modules/` is not distributed.

= Generated assets and their sources =

* `assets/js/videojs-html/lfvp-html-boot-free.js` — built from `build/html/src/lfvp-html-boot-free.js` (and `build/html/src/lfvp-html-video-player.js`, plus `shared/features/`) with esbuild (`build/html/build.mjs`).
* `assets/js/lfvp-react-player.js` and `assets/css/lfvp-react-player.css` — built from `build/react/src/` (entry `index.jsx`) with webpack (`build/react/webpack.config.js`).

= Authored (not generated) =

* `assets/js/lfvp-player.js` — HTML renderer controller (human-readable; long CSS rule strings for the Video.js shadow tree are intentional).
* `assets/css/lfvp-player-html.css`, `assets/css/lfvp-video-title-overlay.css`
* `shared/features/*.js` and other small modules under `assets/js/`

= How to rebuild =

Requires Node.js 18+ and npm. See also `build/README.md`.

1. HTML boot: `cd build/html && npm install && npm run build`
2. React player: `cd build/react && npm install && npm run build`

= Third-party libraries =

* Video.js v10 (`@videojs/html`, `@videojs/core`, and related packages, version 10.0.0-beta.23) — Apache License 2.0 — https://github.com/videojs/v10 — bundled into the HTML boot and React player builds.
* React 18 — MIT — provided by WordPress as the `wp-element` script (not bundled). The React build includes only the JSX runtime license notice in `assets/js/lfvp-react-player.js.LICENSE.txt`.

The free plugin does not ship a full hls.js player for progressive playback; HLS adaptive streaming is a Pro feature.

== Changelog ==

= 1.0.0 =
* Initial release.
* Progressive player with dual renderers, CPT, and page-builder adapters.
* Extension filters for Pro (`lfvp_source_providers`, `lfvp_player_bundle`, `lfvp_can_play`, `lfvp_admin_tabs`).
* Plugin Check / WordPress.org readiness: escaping, sanitization, uninstall prefixes, Tested up to 7.0.

== Upgrade Notice ==

= 1.0.0 =
Initial public release.
