Skip to content

video_player dependency not working on Android API 19  #62748

@ShaggyGettu

Description

@ShaggyGettu

I am trying to run the example code from video_player Flutter Package page (https://pub.dev/packages/video_player/versions/0.6.0):

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

void main() => runApp(VideoApp());

class VideoApp extends StatefulWidget {
  @override
  _VideoAppState createState() => _VideoAppState();
}

class _VideoAppState extends State<VideoApp> {
  VideoPlayerController _controller;
  bool _isPlaying = false;

  @override
  void initState() {
    super.initState();
    _controller = VideoPlayerController.network(
      'https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4',
    )
      ..addListener(() {
        final bool isPlaying = _controller.value.isPlaying;
        if (isPlaying != _isPlaying) {
          setState(() {
            _isPlaying = isPlaying;
          });
        }
      })
      ..initialize().then((_) {
        // Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.
        setState(() {});
      });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Video Demo',
      home: Scaffold(
        body: Center(
          child: _controller.value.initialized
              ? AspectRatio(
                  aspectRatio: _controller.value.aspectRatio,
                  child: VideoPlayer(_controller),
                )
              : Container(),
        ),
        floatingActionButton: FloatingActionButton(
          onPressed: _controller.value.isPlaying
              ? _controller.pause
              : _controller.play,
          child: Icon(
            _controller.value.isPlaying ? Icons.pause : Icons.play_arrow,
          ),
        ),
      ),
    );
  }
}

`

using android api 19 and facing many bugs:

D/ ( 3534): HostConnection::get() New Host Connection established 0xb8092cd0, tid 3549 D/dalvikvm( 3534): GC_CONCURRENT freed 261K, 11% free 3175K/3560K, paused 2ms+1ms, total 11ms E/ExoPlayerImplInternal( 3534): Source error. E/ExoPlayerImplInternal( 3534): com.google.android.exoplayer2.upstream.HttpDataSource$HttpDataSourceException: Unable to connect to https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4 E/ExoPlayerImplInternal( 3534): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:194) E/ExoPlayerImplInternal( 3534): at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:848) E/ExoPlayerImplInternal( 3534): at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:317) E/ExoPlayerImplInternal( 3534): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) E/ExoPlayerImplInternal( 3534): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) E/ExoPlayerImplInternal( 3534): at java.lang.Thread.run(Thread.java:841) E/ExoPlayerImplInternal( 3534): Caused by: javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xb81b42e0: Failure in SSL library, usually a protocol error E/ExoPlayerImplInternal( 3534): error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:741 0x8d90b990:0x00000000) E/ExoPlayerImplInternal( 3534): at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:448) E/ExoPlayerImplInternal( 3534): at com.android.okhttp.Connection.upgradeToTls(Connection.java:146) E/ExoPlayerImplInternal( 3534): at com.android.okhttp.Connection.connect(Connection.java:107) E/ExoPlayerImplInternal( 3534): at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294) E/ExoPlayerImplInternal( 3534): at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255) E/ExoPlayerImplInternal( 3534): at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206) E/ExoPlayerImplInternal( 3534): at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345) E/ExoPlayerImplInternal( 3534): at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:89) E/ExoPlayerImplInternal( 3534): at com.android.okhttp.internal.http.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:161) E/ExoPlayerImplInternal( 3534): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:429) E/ExoPlayerImplInternal( 3534): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:356) E/ExoPlayerImplInternal( 3534): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:192) E/ExoPlayerImplInternal( 3534): ... 5 more E/ExoPlayerImplInternal( 3534): Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xb81b42e0: Failure in SSL library, usually a protocol error E/ExoPlayerImplInternal( 3534): error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:741 0x8d90b990:0x00000000) E/ExoPlayerImplInternal( 3534): at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method) E/ExoPlayerImplInternal( 3534): at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:405) E/ExoPlayerImplInternal( 3534): ... 16 more

Metadata

Metadata

Assignees

No one assigned

    Labels

    e: OS-version specificAffects only some versions of the relevant operating systemp: video_playerThe Video Player pluginpackageflutter/packages repository. See also p: labels.platform-androidAndroid applications specifically

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions