Repository: flutter
Issue: [video_player] jumpy video playback only on iOS
Labels: platform-ios,a: video,p: video_player,package,has reproducible steps,P2,found in release: 2.2,found in release: 2.3,team-ios,triaged-ios

The video https://cdn.vidcamera.io/videos/cb/1e/66/15/5f68cb17e0cb0a18ec57d62e/cb1e6615-a1de-4e57-95e6-37ee871317f5.mp4 is jumpy on iOS when I'm trying to play it

`VideoPlayerController.network('https://cdn.vidcamera.io/videos/cb/1e/66/15/5f68cb17e0cb0a18ec57d62e/cb1e6615-a1de-4e57-95e6-37ee871317f5.mp4');`

It's jumpy also when I play it from memory `VideoPlayerController.file(...)`.

The problem doesn't exist when using a native iOS video player, Safari browser, or `video_player` flutter plugin on Android.

`flutter doctor -v`

```
[✓] Flutter (Channel beta, 1.24.0-10.2.pre, on Mac OS X 10.15.7 19H2 darwin-x64, locale en-GB)
    • Flutter version 1.24.0-10.2.pre at /Users/jakub/Development/flutter
    • Framework revision 022b333a08 (3 weeks ago), 2020-11-18 11:35:09 -0800
    • Engine revision 07c1eed46b
    • Dart version 2.12.0 (build 2.12.0-29.10.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/jakub/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = /Users/jakub/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.2, Build version 12B45b
    • CocoaPods version 1.10.0.beta.1

[✓] Android Studio (version 4.1)
    • 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 1.8.0_242-release-1644-b3-6915495)

[✓] Connected device (2 available)
    • Pixel 2 (mobile) • FA7A31A07673 • android-arm64  • Android 11 (API 30)
    • Web Server (web) • web-server   • web-javascript • Flutter Tools
```

minimal complete reproducible code sample

```dart
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';

void main() {
  runApp(
    MaterialApp(
      home: _App(),
    ),
  );
}

class _App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: _BumbleBeeRemoteVideo(),
    );
  }
}

class _BumbleBeeRemoteVideo extends StatefulWidget {
  @override
  _BumbleBeeRemoteVideoState createState() => _BumbleBeeRemoteVideoState();
}

class _BumbleBeeRemoteVideoState extends State<_BumbleBeeRemoteVideo> {
  VideoPlayerController _controller;

  @override
  void initState() {
    super.initState();
    _controller = VideoPlayerController.network(
      'https://cdn.vidcamera.io/videos/cb/1e/66/15/5f68cb17e0cb0a18ec57d62e/cb1e6615-a1de-4e57-95e6-37ee871317f5.mp4',
    );

    _controller.addListener(() {
      setState(() {});
    });
    _controller.initialize();
    _controller.play();
    _controller.setLooping(true);
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return SingleChildScrollView(
      child: Container(
        padding: const EdgeInsets.all(20),
        child: AspectRatio(
          aspectRatio: _controller.value.aspectRatio,
          child: Stack(
            alignment: Alignment.bottomCenter,
            children: <Widget>[
              VideoPlayer(_controller),
            ],
          ),
        ),
      ),
    );
  }
}
```