From d08f835c0a333945bbc63ac6628608aeef580678 Mon Sep 17 00:00:00 2001 From: Artur Date: Sat, 28 Feb 2026 14:07:34 +0000 Subject: [PATCH 1/2] Add FFmpeg AVPlayer demo, DOM extractor and presenter --- Browser/AVExtractor.m | 41 + Browser/PlayerViewController.h | 40 + Browser/PlayerViewController.m | 1138 +++++++++++++++++ Browser/ViewController+AVIntegration.m | 25 + .../Headers/AVOptions.h | 36 + .../Headers/AVPErrors.h | 42 + .../Headers/AVPLicense.h | 17 + .../Headers/CustomizedAVSource.h | 70 + .../Headers/FFAVParser.h | 88 ++ .../Headers/FFAVPlayerController.h | 405 ++++++ .../Headers/NativeAVPlayerController.h | 259 ++++ .../Headers/OneAudioPlayer.h | 142 ++ .../Headers/tvOSAVPlayerTouch.h | 24 + .../tvOSAVPlayerTouch.framework/Info.plist | Bin 0 -> 806 bytes .../Modules/module.modulemap | 6 + .../_CodeSignature/CodeResources | 271 ++++ .../tvOSAVPlayerTouch | Bin 0 -> 19465472 bytes 17 files changed, 2604 insertions(+) create mode 100644 Browser/AVExtractor.m create mode 100644 Browser/PlayerViewController.h create mode 100644 Browser/PlayerViewController.m create mode 100644 Browser/ViewController+AVIntegration.m create mode 100644 Frameworks/tvOSAVPlayerTouch.framework/Headers/AVOptions.h create mode 100644 Frameworks/tvOSAVPlayerTouch.framework/Headers/AVPErrors.h create mode 100644 Frameworks/tvOSAVPlayerTouch.framework/Headers/AVPLicense.h create mode 100644 Frameworks/tvOSAVPlayerTouch.framework/Headers/CustomizedAVSource.h create mode 100644 Frameworks/tvOSAVPlayerTouch.framework/Headers/FFAVParser.h create mode 100644 Frameworks/tvOSAVPlayerTouch.framework/Headers/FFAVPlayerController.h create mode 100644 Frameworks/tvOSAVPlayerTouch.framework/Headers/NativeAVPlayerController.h create mode 100644 Frameworks/tvOSAVPlayerTouch.framework/Headers/OneAudioPlayer.h create mode 100644 Frameworks/tvOSAVPlayerTouch.framework/Headers/tvOSAVPlayerTouch.h create mode 100644 Frameworks/tvOSAVPlayerTouch.framework/Info.plist create mode 100644 Frameworks/tvOSAVPlayerTouch.framework/Modules/module.modulemap create mode 100644 Frameworks/tvOSAVPlayerTouch.framework/_CodeSignature/CodeResources create mode 100755 Frameworks/tvOSAVPlayerTouch.framework/tvOSAVPlayerTouch diff --git a/Browser/AVExtractor.m b/Browser/AVExtractor.m new file mode 100644 index 0000000..27fddce --- /dev/null +++ b/Browser/AVExtractor.m @@ -0,0 +1,41 @@ +// +// AVExtractor.m +// Simple DOM-based extractor for common stream patterns +// + +#import +#import + +@interface AVExtractor : NSObject ++ (NSString *)extractPlayableURLFromWebView:(UIWebView *)webview; +@end + +@implementation AVExtractor + ++ (NSString *)extractPlayableURLFromWebView:(UIWebView *)webview { + // Run a small JS in the UIWebView to find