Android, yerel düzeyde medya oynatma motoru olan Stagefright'ı içerir .
Stagefright ses ve video oynatma özellikleri, OpenMAX codec'leri, oturum yönetimi, zaman senkronize oluşturma, aktarım kontrolü ve DRM.
Stagefright, Google Cloud Platform tarafından sağlanan özel donanım codec'leri ile entegrasyonu da destekler siz. Medyayı kodlamak ve kodunu çözmek üzere bir donanım yolu ayarlamak için OpenMax IL (Entegrasyon Katmanı) bileşeni olarak donanım tabanlı codec'i destekler.
Not: Stagefright güncellemeleri Android aylık güvenliği güncelleme işlemi olarak ve bir Android OS sürümünün parçası olarak.
Mimari
Medya uygulamaları, Android'in yerel multimedya çerçevesiyle etkileşime girer .
- Uygulama Çerçevesi
- Uygulama çerçevesi düzeyinde, android.media Multimedya donanımıyla etkileşim kuran API'ler.
- Bağlayıcı IPC'si
- Bağlayıcı IPC proxy'leri, işlem sınırları üzerinden iletişimi kolaylaştırır.
Bunlar
frameworks/av/media/libmedia
dizinindedir ve "I" harfiyle başlar. - Doğal Multimedya Çerçevesi
- Android, yerel düzeyde
ses ve video kaydı ve oynatma için Stagefright motoru vardır. Stagefright
desteklenen yazılım codec'lerinin varsayılan listesiyle gelir ve
OpenMax entegrasyon katmanı standardını kullanarak kendi donanım codec'inizi oluşturun. Örneğin,
hakkında daha fazla bilgi edinmek için MediaPlayer ve Stagefright bileşenlerine bakın
frameworks/av/media
adresinde bulunuyor. - OpenMAX Entegrasyon Katmanı (IL)
- OpenMAX IL, Stagefright'ın bunu tanıması ve tanıması için standart
bileşen adı verilen özel donanım tabanlı multimedya codec'lerini kullanma Aşağıdakileri sağlamalısınız:
paylaşılan kitaplık biçimindeki bir OpenMAX eklentisi
libstagefrighthw.so
Bu eklenti, Stagefright'ı özel dosyanıza bağlar OpenMAX IL'ye göre uygulanması gereken codec bileşenleri bileşen standardıdır.
Özel codec'ler uygulama
Stagefright, yaygın medya biçimleri için yerleşik yazılım codec'leri içerir, ancak
kendi özel donanım codec'lerinizi OpenMAX bileşenleri olarak da ekleyebilirsiniz. Yapılacaklar
OMX bileşenlerini ve birbirine bağlanan bir OMX eklentisi oluşturmanız gerekir
Stagefright çerçevesiyle entegre edebilirsiniz. Örneğin bileşenler,
hardware/ti/omap4xxx/domx/
; eklentisine örnek olarak
Galaxy Nexus, bkz. hardware/ti/omap4xx/libstagefrighthw
.
Kendi codec'lerinizi eklemek için:
- Bileşenlerinizi OpenMAX IL bileşen standardına göre oluşturun. İlgili içeriği oluşturmak için kullanılan
bileşen arayüzünün
frameworks/native/include/media/OpenMAX/OMX_Component.h
dosyası yükleyin. Alıcı: OpenMAX IL spesifikasyonu hakkında daha fazla bilgi edinmek için OpenMAX web sitesi. - Bileşenlerinizi Stagefright ile bağlayan bir OpenMAX eklentisi oluşturun
geliştirmenizi sağlar. Eklentiyi oluşturma arayüzleri için bkz.
frameworks/native/include/media/hardware/OMXPluginBase.h
veHardwareAPI.h
başlık dosyası. - Eklentinizi
Ürününüzün Makefile'ında
libstagefrighthw.so
. Örnek:
.LOCAL_MODULE := libstagefrighthw
Cihazınızın Makefile'ında modülü ürün olarak bildirdiğinizden emin olun paket:
PRODUCT_PACKAGES += \ libstagefrighthw \ ...
Codec'leri çerçeveye sunun
Stagefright hizmeti, system/etc/media_codecs.xml
öğesini ayrıştırır
ve desteklenen codec'leri göstermek için system/etc/media_profiles.xml
ve profilleri kullanarak uygulama geliştiricilere
android.media.MediaCodecList
ve
android.media.CamcorderProfile
sınıf. Her iki dosyayı da oluşturmanız gerekir
device/<company>/<device>/
dizininde
ve bunu sistem görüntüsünün system/etc
dizinine kopyalayın.
cihazınızın Makefile'ı. Örnek:
PRODUCT_COPY_FILES += \ device/samsung/tuna/media_profiles.xml:system/etc/media_profiles.xml \ device/samsung/tuna/media_codecs.xml:system/etc/media_codecs.xml \
Tüm örnekler için device/samsung/tuna/media_codecs.xml
bölümüne bakın
ve device/samsung/tuna/media_profiles.xml
.
Not: Android 4.1 itibarıyla
Medya codec'leri için <Quirk>
öğesi artık desteklenmiyor.