Skip to content

How to get decoder player name in vlc?

Hi below here details question that I want to ask

  1. Library that I use version : implementation group: 'org.videolan.android', name: 'libvlc-all', version: '3.5.1'

  2. In exoplayer below function here in order to get decoder name of player :

   if (extensionRendererMode != EXTENSION_RENDERER_MODE_OFF) {
            var extensionRendererIndex = out.size
            if (extensionRendererMode == EXTENSION_RENDERER_MODE_PREFER) {
                extensionRendererIndex--
            }
            try {
                val clazz = Class.forName("com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer")
                val constructor = clazz.getConstructor(
                    Boolean::class.javaPrimitiveType,
                    Long::class.javaPrimitiveType,
                    android.os.Handler::class.java,
                    com.google.android.exoplayer2.video.VideoRendererEventListener::class.java,
                    Int::class.javaPrimitiveType
                )
                val renderer = constructor.newInstance(
                    true, allowedVideoJoiningTimeMs, eventHandler,
                    eventListener, MAX_DROPPED_VIDEO_FRAME_COUNT_TO_NOTIFY
                ) as Renderer
                out.add(extensionRendererIndex++, renderer)
            } catch (e: ClassNotFoundException) {
                // Expected if the app was built without the extension.
            } catch (e: Exception) {
                // The extension is present, but instantiation failed.
                throw RuntimeException("Error instantiating VP9 extension", e)
            }
     }

and here get list of decoder :

     override fun getDecoderInfos(mediaCodecSelector: MediaCodecSelector, format: Format, requiresSecureDecoder: Boolean): MutableList<MediaCodecInfo> {
        val all = super.getDecoderInfos(mediaCodecSelector, format, requiresSecureDecoder)
        if (!context.packageManager.hasSystemFeature(AMAZON_FEATURE_FIRE_TV) && !requiresSecureDecoder) {
            val decoderListToUse = all.filter { it.name.contains("google", true) || it.name.contains("android", true) }
            reportDecoderUsed(decoderListToUse)
            return decoderListToUse.toMutableList()
        }
        reportDecoderUsed(all)
        return all
    }
  1. So the question, is how to do this in vlc?
Edited by Nicolas Pomepuy