Skip to content

[video_player] some hls(m3u8) format video are not initializing on ios 15 #91975

@Hwan-seok

Description

@Hwan-seok

Steps to Reproduce

  1. Run flutter on IOS 15 (device does not care)
  2. Set the video player and initialize it
  3. you can see it hangs forever

FYI, Our flutter application is working on production and suddenly we reported lots of reports that the video does not work.
It was the day when IOS 15 is released. So we tested all of our test phones before to after upgrading IOS 15. As a result, all phones are worked as expected before the upgrade but sadly it does not work after upgrading to IOS 15.

Expected results:
Video initializing normally on IOS 15.

Actual results:
Video player controller initialize method hangs indefinitely(never ends).

Reproducible code
import 'dart:developer';

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

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key}) : super(key: key);

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final VideoPlayerController videoPlayerController = VideoPlayerController.network(
    'https://d20uwst3rmplc8.cloudfront.net/live/3388/20211006051647INCRcK/time-lapsed-hls/eb88f1add64d81130399b5b27c62c4b4_20211006051647INCRcK_0.m3u8',
    // formatHint: VideoFormat.hls,
    // videoPlayerOptions: VideoPlayerOptions(mixWithOthers: true),
  );

  @override
  void initState() {
    videoPlayerController.initialize().then((value) async {
      await videoPlayerController.setLooping(true);
      await videoPlayerController.play();
      setState(() {});
    }).catchError((_) {
      log("ERR");
    });
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: VideoPlayer(
        videoPlayerController,
      ),
    );
  }
}
Logs
flutter analyze
clear
flutter doctor -v                                                                                                                                                ✔
[✓] Flutter (Channel stable, 2.5.1, on macOS 11.6 20G165 darwin-x64, locale ko-KR)
    • Flutter version 2.5.1 at /Users/lafity111/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ffb2ecea52 (4 weeks ago), 2021-09-17 15:26:33 -0400
    • Engine revision b3af521a05
    • Dart version 2.14.2

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/lafity111/Library/Android/sdk
    • Platform android-31, build-tools 30.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 13.0, Build version 13A233
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] VS Code (version 1.61.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.27.0

[✓] Connected device (3 available)
    • 라피티의 iPhone 12mini (mobile) • 00008101-00167D561A30001E • ios            • iOS 14.7.1 18G82
    • 라피티의 iPhone (mobile)        • 00008030-000425EE0E09802E • ios            • iOS 15.0.1 19A348
    • Chrome (web)                • chrome                    • web-javascript • Google Chrome 94.0.4606.81

• No issues found!

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work liste: OS-version specificAffects only some versions of the relevant operating systemfound in release: 2.5Found to occur in 2.5found in release: 2.6Found to occur in 2.6has reproducible stepsThe issue has been confirmed reproducible and is ready to work onp: video_playerThe Video Player pluginpackageflutter/packages repository. See also p: labels.platform-iosiOS applications specifically

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions