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
-~----------~----~----~----~------~----~------~--~---

Reply via email to