openCORE 1.x (cupcake) CPM plugin - trying to play a test MP3

by dandrep » Wed, 09 Sep 2009 01:36:10 GMT


Sponsored Links
 i,

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.

--~--~---------~--~----~------------~-------~--~----~

-~----------~----~



openCORE 1.x (cupcake) CPM plugin - trying to play a test MP3

by RaviY » Wed, 09 Sep 2009 02:29:14 GMT


 id you look at the other thread?
http://groups.google.com/group/android-porting/browse_thread/thread/06c933dbd2a8f159#

On Sep 8, 12:23pm, dandrep <dandr...@gmail.com> wrote:
--~--~---------~--~----~------------~-------~--~----~

-~----------~----~----~----~------~----~------~--~---


Sponsored Links


openCORE 1.x (cupcake) CPM plugin - trying to play a test MP3

by dandrep » Wed, 09 Sep 2009 12:19:33 GMT


 i,

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:28am, RaviY <yend...@pv.com> wrote:
--~--~---------~--~----~------------~-------~--~----~

-~----------~----~----~----~------~----~------~--~---



openCORE 1.x (cupcake) CPM plugin - trying to play a test MP3

by RaviY » Thu, 10 Sep 2009 00:53:59 GMT


 his 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:19pm, dandrep <dandr...@gmail.com> wrote:
--~--~---------~--~----~------------~-------~--~----~

-~----------~----~----~----~------~----~------~--~---



openCORE 1.x (cupcake) CPM plugin - trying to play a test MP3

by dandrep » Thu, 10 Sep 2009 02:45:45 GMT


 i,

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:53am, RaviY <yend...@pv.com> wrote:
--~--~---------~--~----~------------~-------~--~----~

-~----------~----~----~----~------~----~------~--~---



openCORE 1.x (cupcake) CPM plugin - trying to play a test MP3

by RaviY » Thu, 10 Sep 2009 10:52:45 GMT


 ou probably shouldn't be hitting that part of the code at all. The
datastream factory would be sent down by the DownloadManager node.

Your log appears to be snipped. Can you send me the complete log of
player engine and mp3 parser node?

The bug, as I remember, was only in the mp3 parser node.

-Ravi

On Sep 9, 1:45pm, dandrep <dandr...@gmail.com> wrote:
--~--~---------~--~----~------------~-------~--~----~

-~----------~----~----~----~------~----~------~--~---



Other Threads

1. Do I need a while loop in GLThread of GLSurfaceView if animation is not needed?

I see that In GLSurfaceView sample GLThread is doing the OpenGL
drawing. I see a code snippet in its run method

that starts with

while (!mDone)
{
....
....
     while (needToWait()){{}
.....
}

I understand that the surface may not be ready to be drawn and so I
get the second while loop. But the outside main loop, is that needed
only for the "animation?"

I have tried taking it out with out much success.

Can someone confirm if this is there only for animation or needed for
someother reason?

If I want to do one time drawing of OpenGL, what conidtions have to be
met to create the GL context?

Your help is much appreciated
Thanks
Satya

--~--~---------~--~----~------------~-------~--~----~

2. CreateBitmap() is null when full screen is enabled

I am having an issue when trying to save a screen shot of a view to a
file.

I am using the following code to save the bitmap

Java:


Bitmap screenshot;

mView.setDrawingCacheEnabled(true);
screenshot = Bitmap.createBitmap(mView.getDrawingCache());
mView.setDrawingCacheEnabled(false);

try {
       FileOutputStream fos = new FileOutputStream("/sdcard/
test.png");
     screenshot.compress(Bitmap.CompressFormat.PNG, 100, fos);
     fos.close();
} catch (FileNotFoundException e) {
     Log.d("FileNotFoundException: " + e.getMessage());
} catch (IOException e) {
     Log.d("IOException: " + e.getMessage());
}


it works fine unless i put the following in my onCreate() to make sure
I am in full screen mode

Java:

getWindow().setFlags
(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);



when that code is in there I get a NullPointerException at createBitmap
()
does anybody know why this would be happening?

--~--~---------~--~----~------------~-------~--~----~

3. Testing canned apps

4. Batteryprof

5. Bind to a remote service

6. Trying to compile Android on to a Full blown ubuntu/linux distro

7. RIL data service flow path