I have an application that downloads 3GP video over HTTP and plays it back on a Nokia 3230.
If I create the player from the URL (i.e. Manager.createPlayer(URL) it throws an exception but works OK when creating it from an InputStream (i.e. Manager.createPlayer(Connector.openInputStream(URL),"video/3gpp"). I don't understand that and am assuming it to be a bug. But OK, I've got that Connector.openInputStream() workaround.
Now I want to use this app on 6680 and N90 but it will just stall while realizing the Player object, not throwing any exception and not leaving the realize() method.
Here is the code where my app will stall:
_Player = Manager.createPlayer( Connector.openInputStream(_MediaURI), "video/3gpp" );
_VideoControl = (VideoControl)_Player.getControl( "VideoControl" );
deleteAll(); // remove every Item from "this" form
_VideoItem = (Item)_VideoControl.initDisplayMode( GUIControl.USE_GUI_PRIMITIVE, null );
_VideoItem.setLayout( Item.LAYOUT_LEFT | Item.LAYOUT_TOP );
_VideoItemIndex = append( _VideoItem );
This code is executed in a separate thread but the UI never changes. A look at the HTTP server's access log however shows that the content was properly requested.
My app also holds a persistent TCP connection to some server. With some SIM cards, it prevented HTTP requests to be made simultaneously but does not seem to be the problem here since I've been able to fetch some other content over HTTP at the time the app stalls and my access log shows the request for the video content.
Does somebody have any clues ?
Am I missing something or is this really an issue with S60 2nd Ed FP2 & 3 ?
Any help will be welcome !