Ошибка не удалось проинициализировать omx hisi video decoder avc secure

Выбирая где посмотреть фильм, можно увидеть много сайтов. Полный сборник фильмов можно найти на сайте КиноПоиск. Там есть много сериалов, фильмов, мультфильмов для всех возрастов и с разным направлением. Поэтому когда кто-то ищет фильм, то смотрят, если ли он на этой площадке. Но иногда возникают ошибки при использования КиноПоиска, поэтому приходится их как-то решать. Иногда она появляется при воспроизведении защищенного видео.

Содержание

  • 1 Как устранить ошибку воспроизведения на КиноПоиск?
  • 2 Инструкции для разных браузеров
    • 2.1 Яндекс браузера
    • 2.2 Гугл хром
    • 2.3 Мозила Firefox
    • 2.4 Опера

Как устранить ошибку воспроизведения на КиноПоиск?

Есть 3 основные действия, которые нужно сделать.

  1. Начать нужно с обновления браузера. Это правильный и достаточно простой шаг. Ведь иногда видео не воспроизводится на браузерах со старым обновлением. В этом случае нужно включить автоматическое обновление, после чего ошибка может пропасть.
  2. Если обновление в порядке, но видео не воспроизводится, нужно перезапустить устройство и браузер. Возможно такое, что обновления уже актуальный и установлены, но ещё не используются, так как устройство не перезапускалось. Иногда при запуске браузера включаются не все плагины. Поэтому перезагрузка помогает запустить все нужные элементы и «заставить» их работать.
  3. Перенастроить воспроизведение защищенного контента.

Инструкции для разных браузеров

Иногда такое сообщение появляется даже в тех браузерах, которые обновленные до последней версии. В этом случае нужно смотреть настройки. Обычно там автоматически запрещается просмотр защищенного контента. Чтобы отключить данную функцию, нужно сделать несколько последовательных действий. Для каждого браузера свои настройки.

Яндекс браузера

  • Нажать на 3 горизонтальных полоски и запустить «настройки»;
  • Слева выбрать вкладку «Сайты»;
  • Внизу блока будет раздел «Расширение настройки сайтов»;
  • В разделе «защищенное содержимое» включить две функции: Разрешить воспроизведение защищенного контента и Разрешить использование идентификаторов устройства.
  • Перезагрузить браузер.

Яндекс браузера – расширенные настройки сайтов

Гугл хром

  • Нажать в правом верхнем углу на три точки и выбрать «настройки»;
  • Выбрать раздел Конфиденциальность и безопасность;
  • Запустить «Настройки сайтов»;
  • Выбрать «дополнительные настройки контента»;
  • Перейти в раздел «защищенный контент»;
  • Включить те же опции, что и в Яндекс браузере;
  • Перезагрузить браузер.

Гугл хром – настраиваем воспроизведение защищенного контента

Мозила Firefox

  • Нажать на 3 горизонтальных полоски и запустить Настройки;
  • Выбрать раздел «основные»;
  • В пункте Содержимое использующее технические средства…, включить «Воспроизводить контролируемое DRM…»;

Настройки содержимого в Мозила Файрфокс

Опера

  • Нажать на «О», зайти в настройки, включить «дополнительно» и запустить вкладку «Безопасность»;
  • Выбрать Конфиденциальность и безопасность, зайти в настройки контента и выбрать защищенное содержимое;
  • После этого дать доступ воспроизведению защищенного контента и использовать идентификацию;
  • Перезапустить браузер.

Защищенное содержимое в браузере Опера

Актуальное на этой неделе:

Если вам на карту неожиданно пришли деньги, что делать?

11.04.2022

Если вам на карту неожиданно пришли деньги, что делать?

Когда поступают деньги на карту, владелец обычно знает, что и откуда «падает». Родственник прислал, долг…

Далее

Как добавить VPN на Андроид через настройки

06.04.2022

Как добавить VPN на Андроид через настройки

Ограничения доступа в интернет раздражает и не дает использовать интересные подключения. Проблема решается…

Далее

Как создать канал в Telegram: пошаговое руководство и советы

06.04.2022

Как создать канал в Telegram: пошаговое руководство и советы

Собственный Telegram-канал может завести любой человек. Мессенджер в данном случае никого не ограничивает. При…

Далее

Код ошибки 60-02 и 01-03 в Сбербанк Онлайн – как исправить?

19.03.2022

Код ошибки 60-02 и 01-03 в Сбербанк Онлайн – как исправить?

«Сбербанк онлайн» — это удобный сервис, позволяющий проводить финансовые манипуляции из любой точки мира….

Далее

Steps to Reproduce

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

const _urls = [
  'https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_1280_10MG.mp4',
  'https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_480_1_5MG.mp4',
  'https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_1920_18MG.mp4',
  'https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4',
  'https://samplelib.com/lib/download/mp4/sample-5s.mp4',
  'https://www.sample-videos.com/video123/mp4/720/big_buck_bunny_720p_30mb.mp4'
];

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp() : super(key: const ValueKey('MyApp'));

  @override
  Widget build(BuildContext context) => const MaterialApp(home: MyHomePage());
}

class MyHomePage extends StatelessWidget {
  const MyHomePage() : super(key: const ValueKey('MyHomePage'));

  @override
  Widget build(BuildContext context) => Material(
    child: ListView.builder(
        itemCount: _urls.length,
        itemBuilder: (context, index) => MyWidget(index)),
  );
}

class MyWidget extends StatefulWidget {
  final int index;
  MyWidget(this.index) : super(key: ValueKey('MyWidget: $index'));

  @override
  _MyWidgetState createState() => _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget> {
  late final VideoPlayerController _controller;

  @override
  void initState() {
    super.initState();
    _controller = VideoPlayerController.network(_urls[widget.index])
      ..setLooping(true);
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  Future<dynamic> _init() async {
    await _controller.initialize();
    return Null;
  }

  @override
  Widget build(BuildContext context) {
    return FutureBuilder(
      future: _init(),
      builder: (context, future) => !future.hasData
          ? const Align(child: CircularProgressIndicator())
          : future.hasError
          ? const Align(child: Icon(Icons.error))
          : GestureDetector(
        onTap: () => _controller.value.isPlaying
            ? _controller.pause()
            : _controller.play(),
        child: Stack(
          children: [
            Align(
              child: AspectRatio(
                aspectRatio: _controller.value.aspectRatio,
                child: VideoPlayer(_controller),
              ),
            ),
            Align(
              child: Text(
                '${widget.index}',
                style: const TextStyle(color: Colors.orange),
                textScaleFactor: 10,
              ),
            )
          ],
        ),
      ),
    );
  }
}

Expected results:

All video players to be initialized correctly.

Actual results:

An initialization error happens in some Android devices. It works fine in Android emulator.

2 random videos out of 6 fail to load. The videos that fail to be loaded using the same code are not deterministic.

Logs

I/ExoPlayerImpl( 4308): Init aeb03ce [ExoPlayerLib/2.12.1] [nappa, Aquaris V, bq, 27] I/zygote ( 4308): Do partial code cache collection, code=30KB, data=27KB I/zygote ( 4308): After code cache collection, code=30KB, data=27KB I/zygote ( 4308): Increasing code cache capacity to 128KB W/VideoCapabilities( 4308): Unrecognized profile 2130706433 for video/avc W/VideoCapabilities( 4308): Unrecognized profile 2130706434 for video/avc W/VideoCapabilities( 4308): Unsupported mime video/divx W/VideoCapabilities( 4308): Unsupported mime video/divx4 W/Utils ( 4308): could not parse long range '146-132' W/VideoCapabilities( 4308): Unrecognized profile 2130706433 for video/avc W/VideoCapabilities( 4308): Unrecognized profile 2130706434 for video/avc I/VideoCapabilities( 4308): Unsupported profile 4 for video/mp4v-es W/VideoCapabilities( 4308): Unrecognized profile 2130706433 for video/avc W/VideoCapabilities( 4308): Unrecognized profile 2130706434 for video/avc W/VideoCapabilities( 4308): Unrecognized profile 2130706433 for video/avc W/VideoCapabilities( 4308): Unrecognized profile 2130706434 for video/avc I/zygote ( 4308): Do partial code cache collection, code=53KB, data=51KB I/zygote ( 4308): After code cache collection, code=53KB, data=51KB I/zygote ( 4308): Increasing code cache capacity to 256KB I/OMXClient( 4308): Treble IOmx obtained I/OMXClient( 4308): Treble IOmx obtained I/OMXClient( 4308): Treble IOmx obtained D/SurfaceUtils( 4308): connecting to surface 0x8e8fd808, reason connectToSurface I/MediaCodec( 4308): [OMX.qcom.video.decoder.avc] setting surface generation to 4411393 D/SurfaceUtils( 4308): disconnecting from surface 0x8e8fd808, reason connectToSurface(reconnect) D/SurfaceUtils( 4308): connecting to surface 0x8e8fd808, reason connectToSurface(reconnect) I/ExtendedACodec( 4308): setupVideoDecoder() I/ExtendedACodec( 4308): Decoder will be in frame by frame mode D/SurfaceUtils( 4308): connecting to surface 0x8c4c0808, reason connectToSurface I/MediaCodec( 4308): [OMX.qcom.video.decoder.avc] setting surface generation to 4411394 D/SurfaceUtils( 4308): disconnecting from surface 0x8c4c0808, reason connectToSurface(reconnect) D/SurfaceUtils( 4308): connecting to surface 0x8c4c0808, reason connectToSurface(reconnect) I/ExtendedACodec( 4308): setupVideoDecoder() I/ExtendedACodec( 4308): Decoder will be in frame by frame mode D/SurfaceUtils( 4308): set up nativeWindow 0x8e8fd808 for 480x270, color 0x7fa30c04, rotation 0, usage 0x20002900 D/vndksupport( 4308): Loading /vendor/lib/hw/android.hardware.graphics.mapper@2.0-impl.so from current namespace instead of sphal namespace. D/SurfaceUtils( 4308): connecting to surface 0x8860d808, reason connectToSurface I/MediaCodec( 4308): [OMX.qcom.video.decoder.avc] setting surface generation to 4411395 D/SurfaceUtils( 4308): disconnecting from surface 0x8860d808, reason connectToSurface(reconnect) D/SurfaceUtils( 4308): connecting to surface 0x8860d808, reason connectToSurface(reconnect) D/vndksupport( 4308): Loading /vendor/lib/hw/gralloc.msm8937.so from current namespace instead of sphal namespace. I/ExtendedACodec( 4308): setupVideoDecoder() W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 D/SurfaceUtils( 4308): set up nativeWindow 0x8c4c0808 for 1920x1080, color 0x7fa30c04, rotation 0, usage 0x20002900 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 I/ExtendedACodec( 4308): Decoder will be in frame by frame mode W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 I/OMXClient( 4308): Treble IOmx obtained W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 I/ACodec ( 4308): codec does not support config priority (err -2147483648) I/ACodec ( 4308): codec does not support config priority (err -2147483648) I/ACodec ( 4308): codec does not support config operating rate (err -2147483648) W/ExtendedACodec( 4308): Failed to get extension for extradata parameter W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 I/OMXClient( 4308): Treble IOmx obtained I/ACodec ( 4308): codec does not support config priority (err -2147483648) D/SurfaceUtils( 4308): set up nativeWindow 0x8e8fd808 for 480x272, color 0x7fa30c04, rotation 0, usage 0x20002900 D/SurfaceUtils( 4308): set up nativeWindow 0x8860d808 for 320x240, color 0x7fa30c04, rotation 0, usage 0x20002900 I/ACodec ( 4308): codec does not support config priority (err -2147483648) W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/ExtendedACodec( 4308): Failed to get extension for extradata parameter D/SurfaceUtils( 4308): set up nativeWindow 0x8c4c0808 for 1920x1088, color 0x7fa30c04, rotation 0, usage 0x20002900 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 I/OMXClient( 4308): Treble IOmx obtained W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 D/AudioTrack( 4308): Client defaulted notificationFrames to 7688 for frameCount 15376 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 D/SurfaceUtils( 4308): set up nativeWindow 0x8860d808 for 320x240, color 0x7fa30c04, rotation 0, usage 0x20002900 I/ACodec ( 4308): codec does not support config priority (err -2147483648) I/ACodec ( 4308): codec does not support config priority (err -2147483648) I/ACodec ( 4308): codec does not support config operating rate (err -2147483648) W/ExtendedACodec( 4308): Failed to get extension for extradata parameter W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 D/AudioTrack( 4308): Client defaulted notificationFrames to 4714 for frameCount 14144 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000 D/AudioTrack( 4308): Client defaulted notificationFrames to 7688 for frameCount 15376 I/OMXClient( 4308): Treble IOmx obtained D/SurfaceUtils( 4308): connecting to surface 0x886aa808, reason connectToSurface I/MediaCodec( 4308): [OMX.qcom.video.decoder.avc] setting surface generation to 4411396 D/SurfaceUtils( 4308): disconnecting from surface 0x886aa808, reason connectToSurface(reconnect) D/SurfaceUtils( 4308): connecting to surface 0x886aa808, reason connectToSurface(reconnect) I/ExtendedACodec( 4308): setupVideoDecoder() E/ACodec ( 4308): [OMX.qcom.video.decoder.avc] configureCodec returning error -12 E/ACodec ( 4308): signalError(omxError 0x80001001, internalError -12) E/MediaCodec( 4308): Codec reported err 0xfffffff4, actionCode 0, while in state 3 D/SurfaceUtils( 4308): disconnecting from surface 0x886aa808, reason disconnectFromSurface E/MediaCodec( 4308): configure failed with err 0xfffffff4, resetting... I/OMXClient( 4308): Treble IOmx obtained W/MediaCodecRenderer( 4308): Failed to initialize decoder: OMX.qcom.video.decoder.avc W/MediaCodecRenderer( 4308): android.media.MediaCodec$CodecException: Error 0xfffffff4 W/MediaCodecRenderer( 4308): at android.media.MediaCodec.native_configure(Native Method) W/MediaCodecRenderer( 4308): at android.media.MediaCodec.configure(MediaCodec.java:1943) W/MediaCodecRenderer( 4308): at android.media.MediaCodec.configure(MediaCodec.java:1872) W/MediaCodecRenderer( 4308): at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.configure(SynchronousMediaCodecAdapter.java:43) W/MediaCodecRenderer( 4308): at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.configureCodec(MediaCodecVideoRenderer.java:580) W/MediaCodecRenderer( 4308): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1143) W/MediaCodecRenderer( 4308): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1040) W/MediaCodecRenderer( 4308): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:604) W/MediaCodecRenderer( 4308): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1470) W/MediaCodecRenderer( 4308): at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:640) W/MediaCodecRenderer( 4308): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readToFlagsOnlyBuffer(MediaCodecRenderer.java:994) W/MediaCodecRenderer( 4308): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:844) W/MediaCodecRenderer( 4308): at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:892) W/MediaCodecRenderer( 4308): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:467) W/MediaCodecRenderer( 4308): at android.os.Handler.dispatchMessage(Handler.java:102) W/MediaCodecRenderer( 4308): at android.os.Looper.loop(Looper.java:164) W/MediaCodecRenderer( 4308): at android.os.HandlerThread.run(HandlerThread.java:65) E/ExoPlayerImplInternal( 4308): Playback error E/ExoPlayerImplInternal( 4308): com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, null, -1, null, [1920, 1080, 30.0], [-1, -1]), format_supported=YES E/ExoPlayerImplInternal( 4308): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:542) E/ExoPlayerImplInternal( 4308): at android.os.Handler.dispatchMessage(Handler.java:102) E/ExoPlayerImplInternal( 4308): at android.os.Looper.loop(Looper.java:164) E/ExoPlayerImplInternal( 4308): at android.os.HandlerThread.run(HandlerThread.java:65) E/ExoPlayerImplInternal( 4308): Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.qcom.video.decoder.avc, Format(1, null, null, video/avc, null, -1, null, [1920, 1080, 30.0], [-1, -1]) E/ExoPlayerImplInternal( 4308): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1047) E/ExoPlayerImplInternal( 4308): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:604) E/ExoPlayerImplInternal( 4308): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1470) E/ExoPlayerImplInternal( 4308): at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:640) E/ExoPlayerImplInternal( 4308): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readToFlagsOnlyBuffer(MediaCodecRenderer.java:994) E/ExoPlayerImplInternal( 4308): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:844) E/ExoPlayerImplInternal( 4308): at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:892) E/ExoPlayerImplInternal( 4308): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:467) E/ExoPlayerImplInternal( 4308): ... 3 more E/ExoPlayerImplInternal( 4308): Caused by: android.media.MediaCodec$CodecException: Error 0xfffffff4 E/ExoPlayerImplInternal( 4308): at android.media.MediaCodec.native_configure(Native Method) E/ExoPlayerImplInternal( 4308): at android.media.MediaCodec.configure(MediaCodec.java:1943) E/ExoPlayerImplInternal( 4308): at android.media.MediaCodec.configure(MediaCodec.java:1872) E/ExoPlayerImplInternal( 4308): at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.configure(SynchronousMediaCodecAdapter.java:43) E/ExoPlayerImplInternal( 4308): at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.configureCodec(MediaCodecVideoRenderer.java:580) E/ExoPlayerImplInternal( 4308): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1143) E/ExoPlayerImplInternal( 4308): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1040) E/ExoPlayerImplInternal( 4308): ... 10 more I/zygote ( 4308): Background concurrent copying GC freed 2963(417KB) AllocSpace objects, 2(56KB) LOS objects, 49% free, 9MB/18MB, paused 920us total 230.639ms I/zygote ( 4308): Do full code cache collection, code=124KB, data=100KB I/zygote ( 4308): After code cache collection, code=88KB, data=59KB I/OpenGLRenderer( 4308): Initialized EGL, version 1.4 D/OpenGLRenderer( 4308): Swap behavior 2 
$ flutter doctor -v [✓] Flutter (Channel stable, 2.0.3, on Linux, locale en_US.UTF-8) • Flutter version 2.0.3 at /home/juancarlos/snap/flutter/common/flutter • Framework revision 4d7946a68d (2 weeks ago), 2021-03-18 17:24:33 -0700 • Engine revision 3459eb2436 • Dart version 2.12.2 [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2) • Android SDK at /home/juancarlos/Android/Sdk • Platform android-30, build-tools 30.0.2 • Java binary at: /home/juancarlos/android-studio/jre/bin/java • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593) • All Android licenses accepted. [✓] Android Studio • Android Studio at /home/juancarlos/android-studio • 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-6222593) [✓] Connected device (1 available) • sdk gphone x86 arm (mobile) • emulator-5554 • android-x86 • Android 11 (API 30) (emulator) • No issues found! 

⚠️ Please, «thumbs up» this issue to get it prioritized by ExoPlayer team.

Thanks.


  • greycat


    Senior MemberАвтор темы

    549


    #
    8 октября 2016 12:00

    Редактировалось greycat, 64 раз(а).


    Существует 2 версии этой приставки:
    на 7(9) андроиде (Tanix TX9S на Amlogic S912) и новая на 11 андроиде (Tanix W2 на Amlogic S905W2)
    Характеристики:
    Память 2/8 Гб
    LAN 1Гбит на Tanix TX9S и 100Мбит на Tanix W2
    WIFI 2.4GHz/5GHz
    Bluetooth 4.1
    На Tanix W2 есть AV и s/pdif (оптический)

    Для прошивки подходит метод через USB Burning Tool
    На Tanix W2 родной пульт перестанет работать работать после прошивки слимбокс, покупайте отдельный пульт с аэромышью и голосом или используйте решение с подменой файлов пульта. Обсуждение данной версии приставки с 45-й страницы этой темы.

    Так выглядит экран SB-317 и SB-303 после прошивки SLIMBOX

    Данная приставка гораздо слабее 317-й, нет wi-fi и блютуз, но тоже можно пользоваться.
    Прошивка SLIMBOX для SB-303
    В результате получим достаточно шуструю приставку для своих характеристик, но родной пульт перестанет работать.
    Рекомендую использовать аэромыши типа G20S-pro

    Все что касается предыдущих приставок от МТС, подробно разобрали на 4pda и в этой теме до 12 страницы

    1. CoreElec: ссылка 1, ссылка 2, 4pda
    2. Отличия Android TV от google TV, чистого андроида и fire os на смарт тв боксах

    3. Как прошить ТВ бокс на Аmlogic процессоре

    4. решение проблемы с вылетом в рекавери
    ссылка

    Все эксперименты с прошивками на Ваш страх и риск. После прошивки лишаетесь гарантии МТС в любом случае, т.к. прошивку от МТС восстановить не получится, ее просто нету ни у кого

    Сергей Потапов


  • Noby


    Member

    102


    #
    14 октября 2021 20:32

    Вопрос…
    Как у 303 с 4к дела (внешний винт/сеть/ТВ)?

    Добавлено спустя 1 минута 28 секунд

    По редбоксу тот же вопрос


  • greycat


    Senior MemberАвтор темы

    549


    #
    15 октября 2021 19:16

    если есть 4к телик, то такими приставками лучше не пользоваться.
    либо вообще без приставки, либо купить что то получше.
    50р за 317 приставку не так уж и много, хотя тоже для 4к не фонтан. там вроде 60 кадров не идет.

    Сергей Потапов


  • acrid71


    Senior Member

    771


    #
    16 октября 2021 19:35

    greycat:

    50р за 317 приставку не так уж и много

    А где так продают?


  • Noby


    Member

    102


    #
    16 октября 2021 20:44

    Редактировалось Noby, 1 раз.

    greycat:

    если есть 4к телик, то такими приставками лучше не пользоваться.
    либо вообще без приставки, либо купить что то получше.
    50р за 317 приставку не так уж и много, хотя тоже для 4к не фонтан. там вроде 60 кадров не идет.

    вопрос в дркгом


  • greycat


    Senior MemberАвтор темы

    549


    #
    16 октября 2021 21:35

    acrid71:

    А где так продают?

    на прошлой странице спросите у того, кто так купил :)
    видимо есть те, кто сливает халявные приставки от мтс на барахолке.

    Noby:

    вопрос в дркгом

    у 303 вроде как возможен такой режим, но будут пропуски кадров в ютуб, под рукой ее уже нет и перепрошита она. там наоборот интерфейс перевели в 720р, чтобы ожила и не была настолько тупой, так что про 4к на них стит забыть.

    Сергей Потапов


  • Noby


    Member

    102


    #
    17 октября 2021 08:41

    спасибо


  • acrid71


    Senior Member

    771


    #
    17 октября 2021 08:46

    greycat:

    там наоборот интерфейс перевели в 720р, чтобы ожила и не была настолько тупой, так что про 4к

    А разве перевод фейса в нижнее разрешение повышает TTХ? :D


  • greycat


    Senior MemberАвтор темы

    549


    #
    17 октября 2021 11:27

    ну видимо да, я просто говорю о факте, не зря же так сделали в прошивке слимбокса для 303.
    для АТВ видимо не хватает оперативки.
    вообще приставки с 1гб оперативки — это шлак.
    минимум 2гб.

    Сергей Потапов


  • 3034663


    Neophyte Poster

    1


    #
    5 ноября 2021 20:33

    Что делать если на mts box 31 выдает следующее: Не удалось проинициализировать OMX.amlogic.avc.decoder.awesome

    Как эту проблему исправить? Это высвечивается когда в КиноПоиске фильм пытаюсь посмотреть. Помогите пожалуйста


  • wolkow


    Member

    302


    #
    7 ноября 2021 15:15

    Редактировалось wolkow, 1 раз.

    Добрый день! Столкнулся с такой проблемой:
    Приставка с прошивкой от MTC после перезагрузки загрузилась в Recovery Mode. Сбросы не помогли. Решил прошить sbx_tanix_tx9s_atv_v11_2_new ( из шапки).
    Прошивал все согласно инструкции через USB_Burning_Tool. Но приставка грузилась в Recovery Mode и появлялись ошибки.
    Failed to moant /cache (Invalid argument)
    Failed to moant /cache/ recovery/last_locale
    Failed to moant /cache (Invalid argument)
    Не знаю что повлияло, но отключив кабель Ethernet, приставка запустилась. После перезагрузки опять Recovery Mode. и так постоянно. То включается, то Recovery Mode.
    Хотел бы уже сделать сброс на заводские настройки и кэш, но в Recovery Mode не срабатывает пульт, не перемещается курсор.
    Программы для чистки, почему то не устанавливаются. Приставка вроде блокирует.
    Может кто подскажет в какую сторону копать? Может через ПК как то сделать сбросы?
    Спасибо


  • greycat


    Senior MemberАвтор темы

    549


    #
    7 ноября 2021 23:28

    wolkow:

    Хотел бы уже сделать сброс на заводские настройки и кэш, но в Recovery Mode не срабатывает пульт, не перемещается курсор.

    а если мышку подключить или пульт-аэромышь?

    к «заводстким», т.е. на прошивку МТС уже не получится обнулить все равно, по гарантии ее тоже не примут.

    Сергей Потапов


  • siongroup


    Senior Member

    556


    #
    8 ноября 2021 19:31

    Tot

    wolkow:

    Добрый день! Столкнулся с такой проблемой:
    Приставка с прошивкой от MTC после перезагрузки загрузилась в Recovery Mode. Сбросы не помогли. Решил прошить sbx_tanix_tx9s_atv_v11_2_new ( из шапки).
    Прошивал все согласно инструкции через USB_Burning_Tool. Но приставка грузилась в Recovery Mode и появлялись ошибки.
    Failed to moant /cache (Invalid argument)
    Failed to moant /cache/ recovery/last_locale
    Failed to moant /cache (Invalid argument)
    Не знаю что повлияло, но отключив кабель Ethernet, приставка запустилась. После перезагрузки опять Recovery Mode. и так постоянно. То включается, то Recovery Mode.
    Хотел бы уже сделать сброс на заводские настройки и кэш, но в Recovery Mode не срабатывает пульт, не перемещается курсор.
    Программы для чистки, почему то не устанавливаются. Приставка вроде блокирует.
    Может кто подскажет в какую сторону копать? Может через ПК как то сделать сбросы?
    Спасибо

    Еще раз нормально прошить через Usb Burning tool — может какой другой прошивкой например от BlackVictor. Затем пробовать включать. Судя по ошибке у вас не монтируются разделы значит проблема во внутренней памяти eMMC. На крайняк можно прошить внутреннюю память через замыкание на плате — так точно она прошьется как положено.Также обратите внимание на питание — блок питаняи там корявый и не всегда нормально держит 5в.

    По гарантии элементарно сдать можно — просто во время прошивки через Usb Burning Tool когда идет запись основного раздела data выдерните кабель которым прошивали и затем можете идти в МТС. Приставка грузится не будет, а в МТС сервисе разбираться какие разделы в тв боксе запорчены точно не будут. Они ее заново зашьют на ихнюю прошивку.

    Выживает ведь не тот кто умеет жить на пять, а тот кто просто не умеет умирать!


  • Felixx


    Senior Member

    508


    #
    10 ноября 2021 07:51

    Редактировалось Felixx, 2 раз(а).

    Здравствуйте всем. Знает может кто, что за ошибка и как исправить? 06.11.2021 купил на МТС, вчера дошли руки ее подключить к МТС ТВ, вроде все должно быть просто (подключал по кабелю, не wifi) но пошло совсем не так. После авторизации, потребовал какой-то код. Перепробовал се, но ничего не подошло. Звонил в техподдержку, сказали это типа для взрослых контект, но я заходил в основной профиль и там не должно быть ни какого доп. кода. А он у меня был. Собственник жена, поэтому сказали звонить ей (оператор был парень). Потом звонили еще раз, сказали выйти из профиля и зайти заново, никак не помогло. В третий раз, сказали что услуга не подключена вообще и надо ее подключить и потом все заработает. В итоге то же самое. После снова вышел из профиля, выключил и после включения, появилась такая ошибка. Что это за ошибка и лечится ли? Примут ли по гарантии ее? и что за пин код был такой?
    ПРИСТАВКА Android TV Box SB-317

    A dream becomes a goal when action is taken toward its achievement


  • Felixx


    Senior Member

    508


    #
    11 ноября 2021 09:53

    Редактировалось Felixx, 1 раз.

    Felixx:

    Здравствуйте всем. Знает может кто, что за ошибка и как исправить? 06.11.2021 купил на МТС, вчера дошли руки ее подключить к МТС ТВ, вроде все должно быть просто (подключал по кабелю, не wifi) но пошло совсем не так. После авторизации, потребовал какой-то код. Перепробовал се, но ничего не подошло. Звонил в техподдержку, сказали это типа для взрослых контект, но я заходил в основной профиль и там не должно быть ни какого доп. кода. А он у меня был. Собственник жена, поэтому сказали звонить ей (оператор был парень). Потом звонили еще раз, сказали выйти из профиля и зайти заново, никак не помогло. В третий раз, сказали что услуга не подключена вообще и надо ее подключить и потом все заработает. В итоге то же самое. После снова вышел из профиля, выключил и после включения, появилась такая ошибка. Что это за ошибка и лечится ли? Примут ли по гарантии ее? и что за пин код был такой?
    ПРИСТАВКА Android TV Box SB-317

    Приставку просто перезагрузил и все заработало. Пин код был вшит в систему, в заводскую настройку. Решение: В личном кабинете, устанавливаешь код доступа к профилю, и все заработало. Если этого не сделать, то зайти в профиль нельзя, т.к. не задан пароль.

    A dream becomes a goal when action is taken toward its achievement


  • katete


    Member

    236


    #
    14 ноября 2021 19:13

    Редактировалось katete, 1 раз.

    Dlell


  • The_Maximus


    Neophyte Poster

    26


    #
    21 ноября 2021 17:23

    Прошил SB-317 по инструкции из шапки. Шил проводом юсб-с в ноут, юсб обычный — в приставку. Порт — тот, что ближе к зарядке. Иначе не работало. Сначала юсб провод, потом зажимаем резет кнопку зубочисткой, потом шнур питания и через секунду зубочистку вынимаем. Когда шил, появилась красная надпись и процесс встал. Попробовал заново, сначала не получалось (провода и так и эдак тыркал), потом ноут тихо проиграл звук о подключении и процесс сам возобновился. Итог — пару минут заливки прошивки (вдохнул, когда остановилось на 88% и подвисло на минуту), и первое включение шло минут три наверное. Пульт работал сразу. Установил Zack remote на телефон и на приставку (режим аэромыши включается за 35 центов, но и без него работает), установил Кинопоиск и офигел от картинки, которую мне выдал мой старый горизонт. На мтс прошивке кинопоиск ставился, но не работал. Сейчас сижу и думаю за что я платил мтс, млин, не используя приставку во всю мощь и где я был раньше. Для владельцев х7, где полагается 3 приставки за 5 руб — вообще можно не парится. Даже, если окирпичится одна, можно взять ещё одну. Ах, да. В настройках пришлось высоту и ширину экрана уменьшить до 95%, чтобы приложение от мтс тв вписался в экран. Оно, кстати, из гугла вполне себе скачалось и встало без проблем.
    Может кому мой пост поможет сэкономить пару нервов, когда будет казаться, что не получается)) сори за многабукав..

    MaxfromBY


  • FreemanD


    Member

    171


    #
    3 декабря 2021 11:18

    Народ,нужна помощь.SB-317 не устонавливается приложение google,соответственно отсутствуеттголосовой поиск в приложениях.Кто сталкивался с подобным,помогите.


  • satpazan


    Member

    239


    #
    3 декабря 2021 11:43

    FreemanD:

    Народ,нужна помощь.SB-317 не устонавливается приложение google,соответственно отсутствуеттголосовой поиск в приложениях.Кто сталкивался с подобным,помогите.

    Так прошейте на слимбокс…


  • FreemanD


    Member

    171


    #
    3 декабря 2021 12:01

    satpazan:

    FreemanD:

    Народ,нужна помощь.SB-317 не устонавливается приложение google,соответственно отсутствуеттголосовой поиск в приложениях.Кто сталкивался с подобным,помогите.

    Так прошейте на слимбокс…

    При нажатии на кнопку ресет ,что нибудь должно с приставкой происходить?Я когда нажимаю на её ничего не происходит.Соответственно программа для прошивкиине видит приставку или же у меня кабель фиговый


  • FreemanD


    Member

    171


    #
    3 декабря 2021 20:49

    Нашёл способ и приставка определяется программой для прошивки,но после 1%загрузки появляется ошибка красным цветом ,что то про бутлодер написано,кто знает что можеттбыть?

  • Я пытаюсь загрузить видео из хранилища Firebase в свое представление повторного использования с помощью ExoPlayer. Но проблема в том, что видео иногда не воспроизводится, и если я нажму кнопку воспроизведения, оно выдает мне эту ошибку ниже

    Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.MTK.VIDEO.DECODER.AVC...... 

    Я попытался вызвать метод release() после/перед настройкой проигрывателя на представление проигрывателя, но ничего не изменилось.

    Я потратил более 5 дней, чтобы решить эту проблему, и я не могу найти никакого решения для нее.

    Существует ли какая-либо альтернатива ExoPlayer для загрузки видео из Firebase в режим повторного использования?

    Часть кода из onBindViewHolder внутри моего Recycler Adpater:

    @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { ExoPlayer player = new ExoPlayer.Builder(context).build(); MediaItem mediaItem = MediaItem.fromUri(postList.get(position).getImgUrl()); player.setMediaItem(mediaItem); player.prepare(); videoViewHolder.andExoPlayerView.setPlayer(player); } 

    И я инициализирую держатель представления playerView внутри следующим образом:

    public VideoViewHolder(@NonNull View itemView) { super(itemView); andExoPlayerView = itemView.findViewById(R.id.andExoPlayerView); ........ } 

    1 ответ

    Лучший ответ

    Мне пришлось выпустить плеер, когда элемент просмотра ресайклера будет переработан.

    Я нахожу ответ на этот вопрос здесь


    0

    GSepetadelis
    27 Мар 2022 в 22:27

      Не проигрывает кинофильмы

    Смартфон Blackview BV6000

    не удалось проинициализировать OMX.hisi.sprd. h264.decoder.secure». Что делать?

    Люди с такой же проблемой (1)

    Тоже самое, выдает ошибку:
    не удалось проинициализировать omx.sprd.h264.decoder.secure
      зюдейец  4 декабря 2022 

    Знаете, как решить эту проблему?
    Поделитесь своим знанием!

    Ваш способ решения:

    Наиболее похожие проблемы из этого раздела

    скачиваю в телефон песни и всё хорошо раньше было а теперь скачиваю то их нету то вообще пишет что файл содержит неверные данные или бывает так …

    Смартфон не проигрывает скачанную музыку. При открытии файла музыки говорит: «Ошибка открытия файла.» Что делать?

    Я скинула на телефон видео формата mp4. Оно не проигрывается. Пишет, что операция не выполнена и файл повреждён. Что с этим делать?

    Загрузила New обновление на Samsung galaxy s4. Появился Режим «детский». Была рада. НО, когда я попыталась загрузить вышла рамка: «не удается …

    Телефон спустя 3 месяца работы, начала выскакивать табличка ошибка календаря, потом ошибка камеры, позже ошибка системы, теперь удали календарь, …

    Ошибка

    Видео не загружается и не воспроизводится на Android (физическом устройстве) примерно в 50% случаев. Это случается случайно. Например экран с 5 видео, он загружается и воспроизводится. Затем я обновляю пакет, он не загружает ни одно видео, а иногда просто загружает одно видео. Видео, которые не загружаются, просто показывает черный экран. Также иногда видео загружается на экран, тогда, если я пытаюсь открыть это же видео на другом экране (или модальном), оно не загружается и не воспроизводится, хотя и кэшируется (такое же поведение происходит без кеширования, даже если видео локальное ). onLoadStart вызывается, но onLoad не вызывается. Он отлично работает на iOS. Такое поведение происходит на Android во всех сценариях: в режиме отладки и без него, а также в сборке выпуска и сборке разработчика.

    Информация об окружающей среде

    React Native Environment Info:
    Система:
    ОС: macOS 10.14.4
    Процессор: (8) x64 Intel (R) Core (TM) i7-6700HQ CPU @ 2,60 ГГц
    Память: 186,69 МБ / 16,00 ГБ
    Оболочка: 3.2.57 — / bin / bash
    Двоичные файлы:
    Узел: 10.16.0 — / usr / local / bin / node
    Пряжа: 1.16.0 — / usr / local / bin / yarn
    npm: 6.9.0 — / usr / local / bin / npm
    Сторож: 4.9.0 — / usr / local / bin / watchman
    SDK:
    SDK для iOS:
    Платформы: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2.
    Android SDK:
    Уровни API: 23, 25, 26, 27, 28
    Инструменты сборки: 26.0.3, 27.0.3, 28.0.2, 28.0.3
    Системные образы: android-27 | API Google Intel x86 Atom, android-28 | Google Play Intel x86 Atom
    Иды:
    Android-студия: 3.4 AI-183.6156.11.34.5522156
    Xcode: 10.2 / 10E125 — / usr / bin / xcodebuild
    npmPackages:
    реагировать: 16.8.3 => 16.8.3
    реагировать-родной: ^ 0.59.9 => 0.59.9
    реагировать на собственное видео: 4.4.3
    npmGlobalPackages:
    реагировать-родной-cli: 2.0.1

    Действия по воспроизведению

    Создайте FlatList с несколькими видео, вы заметите, что видео не всегда загружаются. Также есть опция, при которой вы нажимаете кнопку, чтобы открыть другой экран с горизонтальным списком тех же видео, часто они воспроизводятся на главном экране, но не воспроизводятся на горизонтальном экране (или даже в модальном)

    Опишите, чего вы ожидали:

    Видео всегда загружать.

    Все 17 Комментарий

    Я несколько дней безуспешно пытался отладить, пожалуйста, если кто-то знает, в чем может быть проблема, помогите мне!

    Я пробовал использовать onError, и он выдает этот объект ошибки:
    ошибка:
    errorException: «com.google.android.exoplayer2.mediacodec.MediaCodecRenderer $ DecoderInitializationException: Ошибка инициализации декодера: OMX.qcom.video.decoder.avc, Format (1, null, null, video / avc, null, -1, null, [1920, 1080, -1.0], [-1, -1]) «
    errorString: «Невозможно создать экземпляр декодера OMX.qcom.video.decoder.avc»

    Почему это происходит? Это происходит как для локального, так и для удаленного uri.

    А можно с релизом 4.4.4 попробовать? В нем есть исправления для exoplayer.
    Специально для ситуаций, когда существует более одного экземпляра компонента (FlatLists, …)

    @CHaNGeTe та же проблема все еще существует. Проблема в том, что при рендеринге видеокомпонента декодер должен быть выпущен до инициализации нового, что, похоже, не работает на android, поэтому эта ошибка: «Невозможно создать экземпляр декодера OMX.qcom. video.decoder.avc «.

    Мы вызываем Exoplayer.release. Но я постараюсь проверить

    Привет @CHaNGeTe , у меня была такая же проблема с @ ramon90 в моем производственном приложении. Пользователи случайно получают ошибку воспроизведения видео. Это сводка после того, как я исследовал эту ошибку на Sentry:

    У меня есть карусель для отображения нескольких видео, она получит ошибку декодирования после того, как я воспроизведу одновременно 6 видео (можно одновременно воспроизводить 5 видео)

    Невозможно создать экземпляр декодера OMX.qcom.video.decoder.avc
    Произошло на нескольких моделях телефонов:
    SM-A500FU
    SM-T387V (M1AJQ)
    SM-A500FU (MMB29M)
    SM-T387V (M1AJQ)

    Невозможно создать экземпляр декодера OMX.Exynos.avc.dec
    Произошло на
    SM-A310F (NRD90M)

    Невозможно подключиться к (Фрагмент видео HLS) (Нераспознанный формат мультимедиа)
    Redmi Note 4 (NRD90M)
    Android 9

    такая же проблема здесь, иногда видео загружаются правильно, если нет, просто показывает черный экран
    на iOS все работает корректно
    просто увы, у меня последняя версия 4.4.4

    со мной тоже бывает, может кто-нибудь поможет исправить это?

    Я могу воспроизвести проблему, вернувшись к предыдущему экрану и снова вернувшись к экрану видео.

    @ robert589, чтобы избежать этой проблемы, визуализируйте только один видеокомпонент за раз. Если на экране более одного видео, просто визуализируйте уменьшенное изображение.

    @ robert589, чтобы избежать этой проблемы, визуализируйте только один видеокомпонент за раз. Если на экране более одного видео, просто визуализируйте уменьшенное изображение.

    да, это то, что я в конечном итоге сделал на Android, похоже, что библиотека не готова для нескольких видеокомпонентов в одной сцене

    Как освободить существующий экземпляр Exoplayer?

    А можно с релизом 4.4.4 попробовать? В нем есть исправления для exoplayer.
    Специально для ситуаций, когда существует более одного экземпляра компонента (FlatLists, …)

    проблема будет решена, если вы использовали реквизиты removeClippedSubviews плоского списка.

    Ошибка

    Видео не загружается и не воспроизводится на Android (физическом устройстве) примерно в 50% случаев. Это случается случайно. Например экран с 5 видео, он загружается и воспроизводится. Затем я обновляю пакет, он не загружает ни одно видео, а иногда просто загружает одно видео. Видео, которые не загружаются, просто показывает черный экран. Также иногда видео загружается на экран, тогда, если я пытаюсь открыть это же видео на другом экране (или модальном), оно не загружается и не воспроизводится, хотя и кэшируется (такое же поведение происходит без кеширования, даже если видео локальное ). onLoadStart вызывается, но onLoad не вызывается. Он отлично работает на iOS. Такое поведение происходит на Android во всех сценариях: в режиме отладки и без него, а также в сборке выпуска и сборке разработчика.

    Информация об окружающей среде

    React Native Environment Info:
    Система:
    ОС: macOS 10.14.4
    Процессор: (8) x64 Intel (R) Core (TM) i7-6700HQ CPU @ 2,60 ГГц
    Память: 186,69 МБ / 16,00 ГБ
    Оболочка: 3.2.57 — / bin / bash
    Двоичные файлы:
    Узел: 10.16.0 — / usr / local / bin / node
    Пряжа: 1.16.0 — / usr / local / bin / yarn
    npm: 6.9.0 — / usr / local / bin / npm
    Сторож: 4.9.0 — / usr / local / bin / watchman
    SDK:
    SDK для iOS:
    Платформы: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2.
    Android SDK:
    Уровни API: 23, 25, 26, 27, 28
    Инструменты сборки: 26.0.3, 27.0.3, 28.0.2, 28.0.3
    Системные образы: android-27 | API Google Intel x86 Atom, android-28 | Google Play Intel x86 Atom
    Иды:
    Android-студия: 3.4 AI-183.6156.11.34.5522156
    Xcode: 10.2 / 10E125 — / usr / bin / xcodebuild
    npmPackages:
    реагировать: 16.8.3 => 16.8.3
    реагировать-родной: ^ 0.59.9 => 0.59.9
    реагировать на собственное видео: 4.4.3
    npmGlobalPackages:
    реагировать-родной-cli: 2.0.1

    Действия по воспроизведению

    Создайте FlatList с несколькими видео, вы заметите, что видео не всегда загружаются. Также есть опция, при которой вы нажимаете кнопку, чтобы открыть другой экран с горизонтальным списком тех же видео, часто они воспроизводятся на главном экране, но не воспроизводятся на горизонтальном экране (или даже в модальном)

    Опишите, чего вы ожидали:

    Видео всегда загружать.

    проблема будет решена, если вы использовали реквизиты removeClippedSubviews плоского списка.

    Похоже, проблема не решена.

    При наличии нескольких видео в плоском списке и автоматическом воспроизведении, когда они появляются в поле зрения, после нескольких видео возникает ошибка. Скриншот прилагаю для справки.

    PS: Я использую последнюю версию react-native-video и использую exoplayer

    Screenshot 2020-04-20 at 8 14 35 AM

    @ crushy26 ты нашел какое-нибудь решение?

    Есть ли решение? А сетевой путь замедлит загрузку видео на несколько секунд.

    Была ли эта страница полезной?

    0 / 5 — 0 рейтинги

    Steps to Reproduce

    import 'package:flutter/material.dart';
    import 'package:video_player/video_player.dart';
    
    const _urls = [
      'https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_1280_10MG.mp4',
      'https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_480_1_5MG.mp4',
      'https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_1920_18MG.mp4',
      'https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4',
      'https://samplelib.com/lib/download/mp4/sample-5s.mp4',
      'https://www.sample-videos.com/video123/mp4/720/big_buck_bunny_720p_30mb.mp4'
    ];
    
    void main() => runApp(const MyApp());
    
    class MyApp extends StatelessWidget {
      const MyApp() : super(key: const ValueKey('MyApp'));
    
      @override
      Widget build(BuildContext context) => const MaterialApp(home: MyHomePage());
    }
    
    class MyHomePage extends StatelessWidget {
      const MyHomePage() : super(key: const ValueKey('MyHomePage'));
    
      @override
      Widget build(BuildContext context) => Material(
        child: ListView.builder(
            itemCount: _urls.length,
            itemBuilder: (context, index) => MyWidget(index)),
      );
    }
    
    class MyWidget extends StatefulWidget {
      final int index;
      MyWidget(this.index) : super(key: ValueKey('MyWidget: $index'));
    
      @override
      _MyWidgetState createState() => _MyWidgetState();
    }
    
    class _MyWidgetState extends State<MyWidget> {
      late final VideoPlayerController _controller;
    
      @override
      void initState() {
        super.initState();
        _controller = VideoPlayerController.network(_urls[widget.index])
          ..setLooping(true);
      }
    
      @override
      void dispose() {
        _controller.dispose();
        super.dispose();
      }
    
      Future<dynamic> _init() async {
        await _controller.initialize();
        return Null;
      }
    
      @override
      Widget build(BuildContext context) {
        return FutureBuilder(
          future: _init(),
          builder: (context, future) => !future.hasData
              ? const Align(child: CircularProgressIndicator())
              : future.hasError
              ? const Align(child: Icon(Icons.error))
              : GestureDetector(
            onTap: () => _controller.value.isPlaying
                ? _controller.pause()
                : _controller.play(),
            child: Stack(
              children: [
                Align(
                  child: AspectRatio(
                    aspectRatio: _controller.value.aspectRatio,
                    child: VideoPlayer(_controller),
                  ),
                ),
                Align(
                  child: Text(
                    '${widget.index}',
                    style: const TextStyle(color: Colors.orange),
                    textScaleFactor: 10,
                  ),
                )
              ],
            ),
          ),
        );
      }
    }
    

    Expected results:

    All video players to be initialized correctly.

    Actual results:

    An initialization error happens in some Android devices. It works fine in Android emulator.

    2 random videos out of 6 fail to load. The videos that fail to be loaded using the same code are not deterministic.

    Logs

    I/ExoPlayerImpl( 4308): Init aeb03ce [ExoPlayerLib/2.12.1] [nappa, Aquaris V, bq, 27]
    I/zygote  ( 4308): Do partial code cache collection, code=30KB, data=27KB
    I/zygote  ( 4308): After code cache collection, code=30KB, data=27KB
    I/zygote  ( 4308): Increasing code cache capacity to 128KB
    W/VideoCapabilities( 4308): Unrecognized profile 2130706433 for video/avc
    W/VideoCapabilities( 4308): Unrecognized profile 2130706434 for video/avc
    W/VideoCapabilities( 4308): Unsupported mime video/divx
    W/VideoCapabilities( 4308): Unsupported mime video/divx4
    W/Utils   ( 4308): could not parse long range '146-132'
    W/VideoCapabilities( 4308): Unrecognized profile 2130706433 for video/avc
    W/VideoCapabilities( 4308): Unrecognized profile 2130706434 for video/avc
    I/VideoCapabilities( 4308): Unsupported profile 4 for video/mp4v-es
    W/VideoCapabilities( 4308): Unrecognized profile 2130706433 for video/avc
    W/VideoCapabilities( 4308): Unrecognized profile 2130706434 for video/avc
    W/VideoCapabilities( 4308): Unrecognized profile 2130706433 for video/avc
    W/VideoCapabilities( 4308): Unrecognized profile 2130706434 for video/avc
    I/zygote  ( 4308): Do partial code cache collection, code=53KB, data=51KB
    I/zygote  ( 4308): After code cache collection, code=53KB, data=51KB
    I/zygote  ( 4308): Increasing code cache capacity to 256KB
    I/OMXClient( 4308): Treble IOmx obtained
    I/OMXClient( 4308): Treble IOmx obtained
    I/OMXClient( 4308): Treble IOmx obtained
    D/SurfaceUtils( 4308): connecting to surface 0x8e8fd808, reason connectToSurface
    I/MediaCodec( 4308): [OMX.qcom.video.decoder.avc] setting surface generation to 4411393
    D/SurfaceUtils( 4308): disconnecting from surface 0x8e8fd808, reason connectToSurface(reconnect)
    D/SurfaceUtils( 4308): connecting to surface 0x8e8fd808, reason connectToSurface(reconnect)
    I/ExtendedACodec( 4308): setupVideoDecoder()
    I/ExtendedACodec( 4308): Decoder will be in frame by frame mode
    D/SurfaceUtils( 4308): connecting to surface 0x8c4c0808, reason connectToSurface
    I/MediaCodec( 4308): [OMX.qcom.video.decoder.avc] setting surface generation to 4411394
    D/SurfaceUtils( 4308): disconnecting from surface 0x8c4c0808, reason connectToSurface(reconnect)
    D/SurfaceUtils( 4308): connecting to surface 0x8c4c0808, reason connectToSurface(reconnect)
    I/ExtendedACodec( 4308): setupVideoDecoder()
    I/ExtendedACodec( 4308): Decoder will be in frame by frame mode
    D/SurfaceUtils( 4308): set up nativeWindow 0x8e8fd808 for 480x270, color 0x7fa30c04, rotation 0, usage 0x20002900
    D/vndksupport( 4308): Loading /vendor/lib/hw/android.hardware.graphics.mapper@2.0-impl.so from current namespace instead of sphal namespace.
    D/SurfaceUtils( 4308): connecting to surface 0x8860d808, reason connectToSurface
    I/MediaCodec( 4308): [OMX.qcom.video.decoder.avc] setting surface generation to 4411395
    D/SurfaceUtils( 4308): disconnecting from surface 0x8860d808, reason connectToSurface(reconnect)
    D/SurfaceUtils( 4308): connecting to surface 0x8860d808, reason connectToSurface(reconnect)
    D/vndksupport( 4308): Loading /vendor/lib/hw/gralloc.msm8937.so from current namespace instead of sphal namespace.
    I/ExtendedACodec( 4308): setupVideoDecoder()
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    D/SurfaceUtils( 4308): set up nativeWindow 0x8c4c0808 for 1920x1080, color 0x7fa30c04, rotation 0, usage 0x20002900
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    I/ExtendedACodec( 4308): Decoder will be in frame by frame mode
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    I/OMXClient( 4308): Treble IOmx obtained
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    I/ACodec  ( 4308): codec does not support config priority (err -2147483648)
    I/ACodec  ( 4308): codec does not support config priority (err -2147483648)
    I/ACodec  ( 4308): codec does not support config operating rate (err -2147483648)
    W/ExtendedACodec( 4308): Failed to get extension for extradata parameter
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    I/OMXClient( 4308): Treble IOmx obtained
    I/ACodec  ( 4308): codec does not support config priority (err -2147483648)
    D/SurfaceUtils( 4308): set up nativeWindow 0x8e8fd808 for 480x272, color 0x7fa30c04, rotation 0, usage 0x20002900
    D/SurfaceUtils( 4308): set up nativeWindow 0x8860d808 for 320x240, color 0x7fa30c04, rotation 0, usage 0x20002900
    I/ACodec  ( 4308): codec does not support config priority (err -2147483648)
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/ExtendedACodec( 4308): Failed to get extension for extradata parameter
    D/SurfaceUtils( 4308): set up nativeWindow 0x8c4c0808 for 1920x1088, color 0x7fa30c04, rotation 0, usage 0x20002900
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    I/OMXClient( 4308): Treble IOmx obtained
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    D/AudioTrack( 4308): Client defaulted notificationFrames to 7688 for frameCount 15376
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    D/SurfaceUtils( 4308): set up nativeWindow 0x8860d808 for 320x240, color 0x7fa30c04, rotation 0, usage 0x20002900
    I/ACodec  ( 4308): codec does not support config priority (err -2147483648)
    I/ACodec  ( 4308): codec does not support config priority (err -2147483648)
    I/ACodec  ( 4308): codec does not support config operating rate (err -2147483648)
    W/ExtendedACodec( 4308): Failed to get extension for extradata parameter
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    D/AudioTrack( 4308): Client defaulted notificationFrames to 4714 for frameCount 14144
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    W/GrallocMapperPassthrough( 4308): buffer descriptor with invalid usage bits 0x2000
    D/AudioTrack( 4308): Client defaulted notificationFrames to 7688 for frameCount 15376
    I/OMXClient( 4308): Treble IOmx obtained
    D/SurfaceUtils( 4308): connecting to surface 0x886aa808, reason connectToSurface
    I/MediaCodec( 4308): [OMX.qcom.video.decoder.avc] setting surface generation to 4411396
    D/SurfaceUtils( 4308): disconnecting from surface 0x886aa808, reason connectToSurface(reconnect)
    D/SurfaceUtils( 4308): connecting to surface 0x886aa808, reason connectToSurface(reconnect)
    I/ExtendedACodec( 4308): setupVideoDecoder()
    E/ACodec  ( 4308): [OMX.qcom.video.decoder.avc] configureCodec returning error -12
    E/ACodec  ( 4308): signalError(omxError 0x80001001, internalError -12)
    E/MediaCodec( 4308): Codec reported err 0xfffffff4, actionCode 0, while in state 3
    D/SurfaceUtils( 4308): disconnecting from surface 0x886aa808, reason disconnectFromSurface
    E/MediaCodec( 4308): configure failed with err 0xfffffff4, resetting...
    I/OMXClient( 4308): Treble IOmx obtained
    W/MediaCodecRenderer( 4308): Failed to initialize decoder: OMX.qcom.video.decoder.avc
    W/MediaCodecRenderer( 4308):   android.media.MediaCodec$CodecException: Error 0xfffffff4
    W/MediaCodecRenderer( 4308):       at android.media.MediaCodec.native_configure(Native Method)
    W/MediaCodecRenderer( 4308):       at android.media.MediaCodec.configure(MediaCodec.java:1943)
    W/MediaCodecRenderer( 4308):       at android.media.MediaCodec.configure(MediaCodec.java:1872)
    W/MediaCodecRenderer( 4308):       at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.configure(SynchronousMediaCodecAdapter.java:43)
    W/MediaCodecRenderer( 4308):       at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.configureCodec(MediaCodecVideoRenderer.java:580)
    W/MediaCodecRenderer( 4308):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1143)
    W/MediaCodecRenderer( 4308):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1040)
    W/MediaCodecRenderer( 4308):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:604)
    W/MediaCodecRenderer( 4308):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1470)
    W/MediaCodecRenderer( 4308):       at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:640)
    W/MediaCodecRenderer( 4308):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readToFlagsOnlyBuffer(MediaCodecRenderer.java:994)
    W/MediaCodecRenderer( 4308):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:844)
    W/MediaCodecRenderer( 4308):       at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:892)
    W/MediaCodecRenderer( 4308):       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:467)
    W/MediaCodecRenderer( 4308):       at android.os.Handler.dispatchMessage(Handler.java:102)
    W/MediaCodecRenderer( 4308):       at android.os.Looper.loop(Looper.java:164)
    W/MediaCodecRenderer( 4308):       at android.os.HandlerThread.run(HandlerThread.java:65)
    E/ExoPlayerImplInternal( 4308): Playback error
    E/ExoPlayerImplInternal( 4308):   com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, null, -1, null, [1920, 1080, 30.0], [-1, -1]), format_supported=YES
    E/ExoPlayerImplInternal( 4308):       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:542)
    E/ExoPlayerImplInternal( 4308):       at android.os.Handler.dispatchMessage(Handler.java:102)
    E/ExoPlayerImplInternal( 4308):       at android.os.Looper.loop(Looper.java:164)
    E/ExoPlayerImplInternal( 4308):       at android.os.HandlerThread.run(HandlerThread.java:65)
    E/ExoPlayerImplInternal( 4308):   Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.qcom.video.decoder.avc, Format(1, null, null, video/avc, null, -1, null, [1920, 1080, 30.0], [-1, -1])
    E/ExoPlayerImplInternal( 4308):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1047)
    E/ExoPlayerImplInternal( 4308):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:604)
    E/ExoPlayerImplInternal( 4308):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1470)
    E/ExoPlayerImplInternal( 4308):       at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:640)
    E/ExoPlayerImplInternal( 4308):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readToFlagsOnlyBuffer(MediaCodecRenderer.java:994)
    E/ExoPlayerImplInternal( 4308):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:844)
    E/ExoPlayerImplInternal( 4308):       at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:892)
    E/ExoPlayerImplInternal( 4308):       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:467)
    E/ExoPlayerImplInternal( 4308):       ... 3 more
    E/ExoPlayerImplInternal( 4308):   Caused by: android.media.MediaCodec$CodecException: Error 0xfffffff4
    E/ExoPlayerImplInternal( 4308):       at android.media.MediaCodec.native_configure(Native Method)
    E/ExoPlayerImplInternal( 4308):       at android.media.MediaCodec.configure(MediaCodec.java:1943)
    E/ExoPlayerImplInternal( 4308):       at android.media.MediaCodec.configure(MediaCodec.java:1872)
    E/ExoPlayerImplInternal( 4308):       at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.configure(SynchronousMediaCodecAdapter.java:43)
    E/ExoPlayerImplInternal( 4308):       at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.configureCodec(MediaCodecVideoRenderer.java:580)
    E/ExoPlayerImplInternal( 4308):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1143)
    E/ExoPlayerImplInternal( 4308):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1040)
    E/ExoPlayerImplInternal( 4308):       ... 10 more
    I/zygote  ( 4308): Background concurrent copying GC freed 2963(417KB) AllocSpace objects, 2(56KB) LOS objects, 49% free, 9MB/18MB, paused 920us total 230.639ms
    I/zygote  ( 4308): Do full code cache collection, code=124KB, data=100KB
    I/zygote  ( 4308): After code cache collection, code=88KB, data=59KB
    I/OpenGLRenderer( 4308): Initialized EGL, version 1.4
    D/OpenGLRenderer( 4308): Swap behavior 2
    
    
    
    $ flutter doctor -v
    [✓] Flutter (Channel stable, 2.0.3, on Linux, locale en_US.UTF-8)
        • Flutter version 2.0.3 at /home/juancarlos/snap/flutter/common/flutter
        • Framework revision 4d7946a68d (2 weeks ago), 2021-03-18 17:24:33 -0700
        • Engine revision 3459eb2436
        • Dart version 2.12.2
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
        • Android SDK at /home/juancarlos/Android/Sdk
        • Platform android-30, build-tools 30.0.2
        • Java binary at: /home/juancarlos/android-studio/jre/bin/java
        • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
        • All Android licenses accepted.
    
    [✓] Android Studio
        • Android Studio at /home/juancarlos/android-studio
        • 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-6222593)
    
    [✓] Connected device (1 available)
        • sdk gphone x86 arm (mobile) • emulator-5554 • android-x86 • Android 11 (API 30) (emulator)
    
    • No issues found!
    
    

    ⚠️ Please, «thumbs up» this issue to get it prioritized by ExoPlayer team.

    Thanks.

    There are a lot of issue like this but we are facing this issue on a specific h/w.

    Decoder is not being acquired when the application comes to foreground even though we release the player in onPause()

    android.media.MediaCodec$CodecException: Failed to initialize OMX.broadcom.video_decoder.secure, error 0xfffffff4
            at android.media.MediaCodec.native_setup(Native Method)
            at android.media.MediaCodec.<init>(MediaCodec.java:1811)
            at android.media.MediaCodec.createByCodecName(MediaCodec.java:1792)
            at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:925)
            at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:860)
            at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:561)
            at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1254)
            at com.kaltura.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:756)
            at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.readToFlagsOnlyBuffer(MediaCodecRenderer.java:814)
            at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:712)
            at com.kaltura.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:599)
            at com.kaltura.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:329)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:193)
            at android.os.HandlerThread.run(HandlerThread.java:65)
    

    We are unable to test this issue on ExoPlayer demo app because if i go back and press the app icon once again. It does not start from the player on TV.

    This issue is happening only on a specific h/w. This is Android 9 TV. The same codebase works fine on different h/w with same testing steps.

    Issue

    I’m trying to load videos from firebase storage to my recycler view with ExoPlayer. But the problem is that the video sometimes does not play and if i hit the play button it gives me this error below

    Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.MTK.VIDEO.DECODER.AVC......
    

    I tried calling the release() method after/before setting the player to the player view but nothing changed.

    I have wasted over 5 days to fix this problem and i can’t find any solution for it.

    There is any ExoPlayer alternative to load videos from firebase to recycler view?

    Part of code from onBindViewHolder inside my Recycler Adpater:

    @Override
        public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
    
                ExoPlayer player = new ExoPlayer.Builder(context).build();
                MediaItem mediaItem = MediaItem.fromUri(postList.get(position).getImgUrl());
                player.setMediaItem(mediaItem);
                player.prepare();
                videoViewHolder.andExoPlayerView.setPlayer(player);
        }
    

    And i’m initializing the playerView inside view holder like this:

    public VideoViewHolder(@NonNull View itemView) {
            super(itemView);
    
            andExoPlayerView = itemView.findViewById(R.id.andExoPlayerView);
            ........
    }
    

    Solution

    I had to release the player when the recycler view item are recycled

    I find the answer from this question here

    @Override
    public void onViewRecycled(@NonNull ViewHolder holder) {
        int position = holder.getAdapterPosition();
        if (mDataset.get(position) != null) {
            mDataset.get(position).getPlayer().release();
        }
        super.onViewRecycled(holder);
    }
    

    Answered By — GSepetadelis
    Answer Checked By — Timothy Miller (JavaFixing Admin)

    When I open video More then 2 time it will give error when i open video less then 2 time it will work properly

    i can not find any solution so if you have any solution please help me out

    com.google.android.exoplayer2.ExoPlaybackException: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.qcom.video.decoder.avc, Format(1, null, null, video/avc, null, -1, null, [480, 270, -1.0], [-1, -1])
            at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:479)
            at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.reinitializeCodec(MediaCodecRenderer.java:1261)
            at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1111)
            at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:552)
            at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:647)
            at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:536)
            at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:303)
            at android.os.Handler.dispatchMessage(Handler.java:101)
            at android.os.Looper.loop(Looper.java:166)
            at android.os.HandlerThread.run(HandlerThread.java:65)
         Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.qcom.video.decoder.avc, Format(1, null, null, video/avc, null, -1, null, [480, 270, -1.0], [-1, -1])
            at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodecWithFallback(MediaCodecRenderer.java:753)
            at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:474)
            at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.reinitializeCodec(MediaCodecRenderer.java:1261) 
            at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1111) 
            at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:552) 
            at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:647) 
            at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:536) 
            at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:303) 
            at android.os.Handler.dispatchMessage(Handler.java:101) 
            at android.os.Looper.loop(Looper.java:166) 
            at android.os.HandlerThread.run(HandlerThread.java:65) 
         Caused by: android.media.MediaCodec$CodecException: Failed to initialize OMX.qcom.video.decoder.avc, error 0xfffffff4
            at android.media.MediaCodec.native_setup(Native Method)
            at android.media.MediaCodec.<init>(MediaCodec.java:1786)
            at android.media.MediaCodec.createByCodecName(MediaCodec.java:1767)
            at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:802)
            at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodecWithFallback(MediaCodecRenderer.java:745)
            at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:474) 
            at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.reinitializeCodec(MediaCodecRenderer.java:1261) 
            at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1111) 
            at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:552) 
            at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:647) 
            at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:536) 
            at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:303) 
            at android.os.Handler.dispatchMessage(Handler.java:101) 
            at android.os.Looper.loop(Looper.java:166) 
            at android.os.HandlerThread.run(HandlerThread.java:65) 
    

    here is exoplayer,minSdkVersion and targetSdkVersion version

     implementation 'com.google.android.exoplayer:exoplayer:2.9.1'
     minSdkVersion 16
     targetSdkVersion 28
    

    Here is My video play code:

    view = inflater.inflate(R.layout.video_item, container, false);
                    simpleExoPlayerView = view.findViewById(R.id.video_view);
                    simpleExoPlayerView.setTag("view" + position);
                    player = ExoPlayerFactory.newSimpleInstance(context, new DefaultTrackSelector(), new DefaultLoadControl());
                    Uri mediaUri = Uri.parse(urlList.get(position));
                    mediaSource = new ExtractorMediaSource.Factory(
                            new DefaultHttpDataSourceFactory("media-slider-view")).
                            createMediaSource(mediaUri);
                    simpleExoPlayerView.setPlayer(player);
                    player.prepare(mediaSource, true, true);
                    player.setPlayWhenReady(false);
                    player.seekTo(0, 0);
    

  • Ошибка не удалось продолжить выполнение кода поскольку система не обнаружила openal32 dll
  • Ошибка не удалось продолжить выполнение кода поскольку система не обнаружила msvcr100 dll
  • Ошибка не удалось продолжить выполнение кода поскольку система не обнаружила msvcp140 dll
  • Ошибка не удалось проверить цифровую подпись этого файла
  • Ошибка не удалось проверить подписанные файлы кс го необходимо подтвердить их содержимое