To understand how the cpm plugin works in OpenCORE 2.04, I tried to
play a mp3 with oma1 passthru cpm plugin. but it never worked and I
found out why.

1. error in oma1 passthru source code
in opencore/pvmi/content_policy_manager/plugins/oma1/passthru/src/
pvmf_cpmplugin_passthru_oma1.cpp
PVMFCPMPassThruPlugInOMA1::SetSourceInitializationData()

--- if (aSourceFormat == PVMF_MIME_ASFFF ||
PVMF_MIME_DATA_SOURCE_MS_HTTP_STREAMING_URL)
+++ if (aSourceFormat == PVMF_MIME_ASFFF || aSourceFormat ==
PVMF_MIME_DATA_SOURCE_MS_HTTP_STREAMING_URL)

This is fixed in OpenCORE 2.05.

2. error in mp3 parser node
in opencore/nodes/pvmp3ffparsernode/src/pvmf_mp3ffparser_node.cpp
CreateMP3FileObject() is supposed to be called after
PVMFCPMFactory::CreateContentPolicyManager().

This is fixed in OpenCORE 2.05.
If you want to work in OpenCORE 2.04, just copy
pvmf_mp3ffparser_node.cpp, pvmf_mp3ffparser_node.h from OpenCORE 2.05.

3. my misunderstaning about loading modules
I didn't know I have to add libpvoma1passthru.so in opencore/
pvplayer.cfg.
(pvplayer.cfg was in opencore/ but it is recently moved to opencore/
build_config/opencore_dynamic/)

If you don't want to edit pvplayer.cfg,
copy opencore/modules/cpm_oma1_passthru/build/
makepvdrm_oma1passthru.cfg to opencore
and add $(call add-prebuilt-files, ETC,  makepvdrm_oma1passthru.cfg)
in opencore/Android.mk.
(this line was in opencore/Android.mk but it is recently moved to
opencore/build_config/opencore_dynamic/Android_opencore_common.mk)

For opencore self-build, edit opencore/tools_v2/build/package/opencore/
elem/common/pvplayer.cfg


I hope this information is useful for the people who test oma1
passthru plugin in OpenCORE 2.04.

--~--~---------~--~----~------------~-------~--~----~
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to