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.
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.
Выбирая где посмотреть фильм, можно увидеть много сайтов. Полный сборник фильмов можно найти на сайте КиноПоиск. Там есть много сериалов, фильмов, мультфильмов для всех возрастов и с разным направлением. Поэтому когда кто-то ищет фильм, то смотрят, если ли он на этой площадке. Но иногда возникают ошибки при использования КиноПоиска, поэтому приходится их как-то решать. Иногда она появляется при воспроизведении защищенного видео.
Как устранить ошибку воспроизведения на КиноПоиск?
Есть 3 основные действия, которые нужно сделать.
- Начать нужно с обновления браузера. Это правильный и достаточно простой шаг. Ведь иногда видео не воспроизводится на браузерах со старым обновлением. В этом случае нужно включить автоматическое обновление, после чего ошибка может пропасть.
- Если обновление в порядке, но видео не воспроизводится, нужно перезапустить устройство и браузер. Возможно такое, что обновления уже актуальный и установлены, но ещё не используются, так как устройство не перезапускалось. Иногда при запуске браузера включаются не все плагины. Поэтому перезагрузка помогает запустить все нужные элементы и «заставить» их работать.
- Перенастроить воспроизведение защищенного контента.
Инструкции для разных браузеров
Иногда такое сообщение появляется даже в тех браузерах, которые обновленные до последней версии. В этом случае нужно смотреть настройки. Обычно там автоматически запрещается просмотр защищенного контента. Чтобы отключить данную функцию, нужно сделать несколько последовательных действий. Для каждого браузера свои настройки.
Яндекс браузера
- Нажать на 3 горизонтальных полоски и запустить «настройки»;
- Слева выбрать вкладку «Сайты»;
- Внизу блока будет раздел «Расширение настройки сайтов»;
- В разделе «защищенное содержимое» включить две функции: Разрешить воспроизведение защищенного контента и Разрешить использование идентификаторов устройства.
- Перезагрузить браузер.
Гугл хром
- Нажать в правом верхнем углу на три точки и выбрать «настройки»;
- Выбрать раздел Конфиденциальность и безопасность;
- Запустить «Настройки сайтов»;
- Выбрать «дополнительные настройки контента»;
- Перейти в раздел «защищенный контент»;
- Включить те же опции, что и в Яндекс браузере;
- Перезагрузить браузер.
Мозила Firefox
- Нажать на 3 горизонтальных полоски и запустить Настройки;
- Выбрать раздел «основные»;
- В пункте Содержимое использующее технические средства…, включить «Воспроизводить контролируемое DRM…»;
Опера
- Нажать на «О», зайти в настройки, включить «дополнительно» и запустить вкладку «Безопасность»;
- Выбрать Конфиденциальность и безопасность, зайти в настройки контента и выбрать защищенное содержимое;
- После этого дать доступ воспроизведению защищенного контента и использовать идентификацию;
- Перезапустить браузер.
Актуальное на этой неделе:
11.04.2022
Если вам на карту неожиданно пришли деньги, что делать?
Когда поступают деньги на карту, владелец обычно знает, что и откуда «падает». Родственник прислал, долг…
Далее
06.04.2022
Как добавить VPN на Андроид через настройки
Ограничения доступа в интернет раздражает и не дает использовать интересные подключения. Проблема решается…
Далее
06.04.2022
Как создать канал в Telegram: пошаговое руководство и советы
Собственный Telegram-канал может завести любой человек. Мессенджер в данном случае никого не ограничивает. При…
Далее
19.03.2022
Код ошибки 60-02 и 01-03 в Сбербанк Онлайн – как исправить?
«Сбербанк онлайн» — это удобный сервис, позволяющий проводить финансовые манипуляции из любой точки мира….
Далее
greycat
Senior MemberАвтор темы
555
#
8 октября 2016 12:00
Редактировалось greycat, 66 раз(а).
Существует 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 (оптический)
Обсуждение Tanix W2 с 45-й страницы этой темы.
Для прошивки подходит метод через USB Burning Tool
Так выглядит экран 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Автор темы
555
#
15 октября 2021 19:16
если есть 4к телик, то такими приставками лучше не пользоваться.
либо вообще без приставки, либо купить что то получше.
50р за 317 приставку не так уж и много, хотя тоже для 4к не фонтан. там вроде 60 кадров не идет.
Сергей Потапов
acrid71
Senior Member
784
#
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Автор темы
555
#
16 октября 2021 21:35
acrid71:
А где так продают?
на прошлой странице спросите у того, кто так купил
видимо есть те, кто сливает халявные приставки от мтс на барахолке.
Noby:
вопрос в дркгом
у 303 вроде как возможен такой режим, но будут пропуски кадров в ютуб, под рукой ее уже нет и перепрошита она. там наоборот интерфейс перевели в 720р, чтобы ожила и не была настолько тупой, так что про 4к на них стит забыть.
Сергей Потапов
Noby
Member
102
#
17 октября 2021 08:41
спасибо
acrid71
Senior Member
784
#
17 октября 2021 08:46
greycat:
там наоборот интерфейс перевели в 720р, чтобы ожила и не была настолько тупой, так что про 4к
А разве перевод фейса в нижнее разрешение повышает TTХ?
greycat
Senior MemberАвтор темы
555
#
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Автор темы
555
#
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%загрузки появляется ошибка красным цветом ,что то про бутлодер написано,кто знает что можеттбыть?