getMediaCodecs method

  1. @override
Future<List<MediaCodecCapability>> getMediaCodecs()
override

Returns native Android media codec capabilities reported by the device.

Implementation

@override
Future<List<MediaCodecCapability>> getMediaCodecs() async {
  final List<Object?>? codecList = await methodChannel
      .invokeListMethod<Object?>('getMediaCodecs');

  if (codecList == null) {
    throw PlatformException(
      code: 'native_lens_empty_media_codecs',
      message: 'Android returned an empty media codec list.',
    );
  }

  final List<MediaCodecCapability> codecs = <MediaCodecCapability>[];

  for (final Object? codecItem in codecList) {
    if (codecItem is Map<Object?, Object?>) {
      codecs.add(MediaCodecCapability.fromMap(codecItem));
    }
  }

  return codecs;
}