# LN Demo Verification (Manual)

## QGVAPlayerDemo (ObjC)
1. Tap `LN PlayerView`
- Expect logs in order:
  - `[LN Demo OC] player did start`
  - repeated `[LN Demo OC] player did play frame=...`
- Tap on video area:
  - `[LN Demo OC] player did stop`

2. Tap `LN WrapView`
- Expect logs:
  - `[LN Demo OC] wrap did start`
  - repeated `[LN Demo OC] wrap did play frame=...`
- On stop/end:
  - `[LN Demo OC] wrap did stop` or `wrap did finish total=...`

3. Tap `LN Fail Path`
- Expect fail log:
  - `[LN Demo OC] player did fail error=...`

## QGVAPlayerDemoSwift
1. Tap `LN Swift API`
- Expect logs:
  - `[LN Demo Swift] player did start`
  - repeated `player did play frame=...`
- Tap on video area:
  - `[LN Demo Swift] player did stop`

2. Tap `LN Swift Fail Path`
- Expect fail log:
  - `[LN Demo Swift] player did fail error=...`

## Expected lifecycle constraints
- pause/resume should not emit stop immediately
- explicit stop should emit stop once
- invalid path should emit fail callback
