• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[APP] iPlayer [v0.5 18/03/09]

Search This thread

craftyb

Senior Member
Mar 22, 2006
88
0
London
Browse and stream content from the BBC's iPlayer.

090126122706590712.png


Features:
- Finger friendly UI including flick kinetic scrolling, swipe gestures and vibration feedback.
- Supports Nav Sensor and Stylus Removal (thanks koush)!
- Higher quality video/audio than Samsung User Agent hack (483x272 h.264 video stream).
- Browse content by Highlights, Popular, Channel/Station, Category or Date.
- Search for content and save history.
- Self updating and AppToDate support.
- Downloads video to device for later viewing (I download at home over wifi and then watch videos on the tube on the way to work).
- Video launched in your default player associated with '.mov' files.
- Radio shows launched in your default player associated with '.mp3' files.

This app works by impersonating an iPhone to access an unprotected mp4 file and then patching the index to allow immediate playback. Radio programs are downloaded as mp3s. Many thanks to the people who discovered this technique - see readme.txt for credits and further explanation. Note that this is in no way sanctioned by the BBC.

This is obviously a very data intensive application so I would recommend using over wi-fi or with an unlimited data plan.

Requirements:
- .Net framework 3.5.
- You also must be in the UK to use this. The BBC seem to block access over cellular data from some operators (e.g. Vodafone) . If this happens then please try over wifi & report your findings. Prelimanary proxy support has been introduced in v0.4. Edit the settings.xml to add a UK proxy.
- This app is only working for the VGA and WVGA devices at the moment. I may add support for other devices and screen resolutions in the future if there is enough interest.
- You need a video player capable of playing back the (h.264 + AAC) video. I use the commercial app CorePlayer which plays the files pretty well (benchmarks at 91%). You can also use this build of the free TCPMP which will play the files but benchmarks at around 61%. Either way you will need to associate '.mov' files with your player.

This has been a bit of a hobby project and is my first attempt at Windows Mobile development. I'm releasing it for free but if you find it useful then consider buying me a beer!

v0.5 cab attached below:
 

Attachments

  • iPlayer.cab
    913.6 KB · Views: 15,925
Last edited:

craftyb

Senior Member
Mar 22, 2006
88
0
London
To do, bugs + Changelog

To Do:
- QVGA (&WQVGA) resolution? For now check out myPlayer.
- Stability fixes
- A few more ideas...

Known Bugs:
- Cancelled downloads not deleted - you will need to manually remove them.
- Launching a 'Saved Search' breaks the top navigation controls - d'oh!
- Date view seems to be broken again by changes by the BBC.
- Incorrect AppToDate xml - causes ATD to always say there is a newer version.

Changelog:
v0.5 18/03/09
- Fixed parsing of programs, searches and day listings due to changes to BBC site
- Added new 'Feeds' view for easier choosing of feeds
- Now starts in 'Feeds' view and checks for updates in background for faster startup
- Added saved searches - currently saves every search term

v0.4 20/02/09
- Improved radio show integration
- Added more settings including changing save location
- Added 'auto buffer' mode or manually set
- Choose whether to begin playback after buffering (and set default)
- Double click pink 'headers' to scroll to top of page
- Fixed 'Related Programs' due to change in BBC site
- Initial proxy support - have to edit settings.xml
- *Hopefully* WVGA compatible

v0.3 03/02/09
- Added experimental radio show download/streams. Only accessible via search at the moment
- Added more options to Settings screen
- Added wifi icon
- Decreased download 'chunk' size - should reduce memory overhead.
- Added more error handling
- More logging (renamed to debug.txt to help attaching to posts).

v0.2 26/01/09
- Added a [very] basic settings screen. Only option is to enable debug mode. If you encounter any bugs then please turn debug mode on, replicate and then attach the file "debug.log" that is produced in the install dir to your post detailing the problem. Thanks!
- Forgot to update the readme.txt file but if the About screen says v0.2 then you have the latest.
- Did you notice the automatic updates?

v0.1 25/01/09
- Initial release
 
Last edited:

TrizO

Senior Member
Dec 6, 2008
99
0
Ohio
Works well, but im wondering...could you expand this to other sites? i like the layout it is intuitive.
 

leonatan25

Senior Member
Jul 4, 2008
113
1
I get this exception:

[FONT=&quot]iPlayer.exe[/FONT]
[FONT=&quot]NotSupportedException[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot] at System.Net.WebRequest.Create(Uri requestUri, Boolean schemeOnly)[/FONT]
[FONT=&quot] at System.Net.WebRequest.Create(String requestUriString)[/FONT]
[FONT=&quot] at iPlayer.Utils.CreateWebRequest(String pURL, Boolean pKeepAlive, String pUserAgent, String pCookie)[/FONT]
[FONT=&quot] at iPlayer.ProgramDetails.GetFileSize(String url)[/FONT]
[FONT=&quot] at iPlayer.ProgramDetails.LoadProgDetails()[/FONT]
[FONT=&quot] at iPlayer.ProgramDetails.<Initialise>b__0()[/FONT][FONT=&quot][/FONT]

Any help? :(
 

craftyb

Senior Member
Mar 22, 2006
88
0
London
Thought it would work on my Touch HD but alas poor yorick, it does not.

Any chance for WVGA support?

Sorry about that - I've only coded it for my device at the mo. It could be expanded to work on the HD in the future - would need to clean up my code a bit! Will wait and see if there is much interest for this.

What happens when you launch the app - does it start up and just not use the whole screen or fail to start at all? If the later, do you get an error message?
 

craftyb

Senior Member
Mar 22, 2006
88
0
London
I get this exception:

[FONT=&quot]iPlayer.exe[/FONT]
[FONT=&quot]NotSupportedException[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot] at System.Net.WebRequest.Create(Uri requestUri, Boolean schemeOnly)[/FONT]
[FONT=&quot] at System.Net.WebRequest.Create(String requestUriString)[/FONT]
[FONT=&quot] at iPlayer.Utils.CreateWebRequest(String pURL, Boolean pKeepAlive, String pUserAgent, String pCookie)[/FONT]
[FONT=&quot] at iPlayer.ProgramDetails.GetFileSize(String url)[/FONT]
[FONT=&quot] at iPlayer.ProgramDetails.LoadProgDetails()[/FONT]
[FONT=&quot] at iPlayer.ProgramDetails.<Initialise>b__0()[/FONT][FONT=&quot][/FONT]

Any help? :(

Sorry to hear this - does this happen when trying to load all program details screens or just one particular show? Sounds like a bug i found when a show was un-availible but thought i fixed it!!
 

buffystar

Senior Member
Jun 20, 2008
88
0
Shefford
Installed fine on my diamond.

Ran program selected Jonathan Ross show started getting file size etc then I got this error

Error

NullReferenceException

at iPlayer.ProgramDetails.GetFileSize(String url)
at
iPlayer.ProgramDetails.LoadProgDetails()
at
iPlayer.ProgramDetails.<Initialise>b__0()

???????
 

counterfitninja

Senior Member
Jul 17, 2008
252
0
Bath
Should it start playing automatically. ? Does it stream or download?

I can get it to down load stuff and i have .mov files in the folder, once they reach 100% in the app its continually says downloading. I have not been able to watch anything yet.
 

craftyb

Senior Member
Mar 22, 2006
88
0
London
Should it start playing automatically. ? Does it stream or download?

I can get it to down load stuff and i have .mov files in the folder, once they reach 100% in the app its continually says downloading. I have not been able to watch anything yet.

It downloads the video but should start playback once it has buffered (currently set to buffer 3% of the video and then launch the file).

What should happen:
- Select show, prog checks that it is available etc and if so gives the 'Click to Play' icon.
- Press play launches the 'Downloading' screen.
- 'Downloading Index...' First downloads the 'index' and patches it (this is the bit that allows you to start it straight away rather than having to wait until the download is complete)
- 'Buffering' buffers 3% of the file - for smooth playback.
- Launches the .mov file with your default player
- Continues downloading the file while you are watching it. At this point if you want to watch it later you can just close the player app and it will continue downloading.