Hi, Thanks for the information. If the issue is an existing bug then I need to verify that. My project doesn't give me a lot of options to fix this.
My problem appears to be related to an unset value: iDataStreamInterface. My first question is that I thought that interface was used for streaming or download and my case is local file playback. The value is set in PVMFMP3FFParserNode::PassDatastreamFactory(), which from my clumsy grepping, does not appear to be called under any circumstances. So my second question is, if this is due to a bug, is the bug in the MP3 node, in all nodes or somewhere else where this should be called? I'm not trying to doubt that this is a fixed bug, but I can find no evidence of that from my code comparisons. D'Andre On Sep 9, 9:53 am, RaviY <yend...@pv.com> wrote: > This sounds like a bug that was fixed a while back. You can move to > OpenCORE 2.0, or try to port the fix back to OpenCORE 1.0. You can do > a diff. of the mp3 parser node to get some clues. > > -Ravi > > On Sep 8, 11:19 pm, dandrep <dandr...@gmail.com> wrote: > > > Hi, > > > Yes I did. > > > I am past my previous issue. My plugin is being instantiated. There > > is a failure during the init process related to checking the MP3 > > header. After authorize and authenticate and checking permissions, > > all appears to be good. The next step is checking the MP3 header but > > CPM never QI'd for the stream interface. So there is a check in > > CheckForMP3Header() that looks for the stream interface, but it is > > null. I compared my implementation against the samples and found > > little difference (only algorithmic details). > > > Ugh. > > > On Sep 8, 11:28 am, RaviY <yend...@pv.com> wrote: > > > > Did you look at the other > > > thread?http://groups.google.com/group/android-porting/browse_thread/thread/0... > > > > On Sep 8, 12:23 pm, dandrep <dandr...@gmail.com> wrote: > > > > > Hi, > > > > > I have written an openCORE 1.x CPM plugin and am having difficulties > > > > getting a test MP3 to play. > > > > > The logs basically look like this: (I've added additional statements > > > > for tracing) > > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3013:PVMFCPMImpl::CommandComplete Id 40004 Cmd 40004 > > > > Status 1 Context 0 Data 0 > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3018:PVMFCPMContainerMp3::CPMCommandCompleted > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3023:PVMFCPMContainerMp3::IssueCommand In 8 > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3028:PVMFCPMContainerMp3::IssueCommand Calling > > > > CheckUsage > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3033:PVMFCPMContainerMp3::IssueCommand CheckUsage > > > > calling CheckApprovedUsage > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3038:PVMFCPMContainerMp3::IssueCommand CheckUsage > > > > checking for MP3 Header > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3039:PVMFMP3FFParserNode::CheckForMP3HeaderAvailability > > > > In > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3091:PVMFMP3FFParserNode::SetState() 6 > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3097:PVMFMP3FFParserNode::ReportInfoEvent() Type 24 Data > > > > 6 > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3107:PVPlayerEngine::HandleNodeInformationalEvent() In > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3112:PVPlayerEngine::HandleSourceNodeInfoEvent() In > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3116:PVPlayerEngine::HandleSourceNodeInfoEvent() Do > > > > nothing for this event 24 > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3122:PVPlayerEngine::HandleSourceNodeInfoEvent() Out > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3127:PVPlayerEngine::HandleNodeInformationalEvent() Out > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3132:PVMFMP3FFParserNode::ReportErrorEvent() Type -17 > > > > Data 0 > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3135:PVPlayerEngine::HandleNodeErrorEvent() In > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3139:PVPlayerEngine::HandleSourceNodeErrorEvent() In > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3140:PVPlayerEngine::HandleSourceNodeErrorEvent() > > > > Sending PVPlayerErrSourceMediaData for error event -17 > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3146:PVPlayerEngine::HandleAsyncErrorBasedOnPlayerState > > > > () In > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3150:PVPlayerEngine::HandleAsyncErrorBasedOnPlayerState > > > > () Error while Initializing. Go back to idle state > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3155:PVPlayerEngine::SetEngineState() In Current state > > > > 2, New state 17 > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3156:PVPlayerEngine::EngineCommandCompleted() In CmdId > > > > 2, Status -17 > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3161:PVPlayerEngine::EngineCommandCompleted() Type=12 > > > > ID=2 APIcmd=1 Tick=3161 > > > > E/PV ( 555): PVLOG:TID > > > > (0xd530):Time=3162:PVPlayerEngine::EngineCommandCompleted() Notifying > > > > engine command as completed. CmdId 2 Status -17 > > > > V/PlayerDriver( 555): CommandCompleted > > > > V/PlayerDriver( 555): Completed command PLAYER_INIT > > > > status=PVMFErrResource > > > > E/PlayerDriver( 555): Command PLAYER_INIT completed with an error or > > > > info PVMFErrResource > > > > V/MediaPlayer( 716): message received msg=100, ext1=1, ext2=-17 > > > > E/MediaPlayer( 716): error (1, -17) > > > > V/MediaPlayer( 716): signal application thread > > > > V/MediaPlayer( 716): prepare complete - status=1 > > > > > I'm stuck looking through samples and documentation but cannot see > > > > what I did wrong or am missing. > > > > > Thanks for any assistance. > > --~--~---------~--~----~------------~-------~--~----~ unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting -~----------~----~----~----~------~----~------~--~---