video codec selection logic

54 Views Asked by At

related but old

How does Android determine which video codec to select?

What is the list of native libraries in frameworks/av/media/codec2/vndk/C2Store.cpp? These libraries are not mentioned in /etc/media_codecs.xml.

If a hardware-accelerated codec is unavailable or unable to efficiently decode the video (e.g., due to unsupported video parameters), does Android fallback to using a software codec?

I'm developing a simple app to play a video from a URL, and I'm trying to understand the codec decision tree.

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.media3.common.MediaItem
import androidx.media3.exoplayer.ExoPlayer
import androidx.media3.exoplayer.util.EventLogger
import com.example.app.databinding.ActivityMediaPlayerBinding


class MediaPlayerActivity : AppCompatActivity() {

    private lateinit var binding: ActivityMediaPlayerBinding
    private lateinit var player : ExoPlayer

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMediaPlayerBinding.inflate(layoutInflater)
        setContentView(binding.root)
        val url = intent.getStringExtra("url")
        player = ExoPlayer.Builder(this).build()
        player.addAnalyticsListener(EventLogger())
        binding.playerView.player = player
        val mediaItem = MediaItem.fromUri(url!!)
        player.setMediaItem(mediaItem)
        player.prepare()
        player.play()
    }
0

There are 0 best solutions below