A quick bodge to get veetle working on an ATV2 again is patching the avformat-52-arm-osx.so file located at /Applications/XBMC.frappliance/XBMCData/XBMCHome/system/players/dvdplayer/avcodec-52-arm-osx.so .
Using Cyberduck, or your favourite client, connect to your ATV2 and copy the file to your local machine - don't have XBMC running at this point. Copy it again so you have a backup.
Then use a hex file editor, I used Hxd, to search for the code - mine appeared at location 0x1c28c
46 00 53 e3 01 30 d2 05 4c 00 53 03 01 00 00 0a 00 00 a0 e3 1e ff 2f e1 02 30 d2 e5 56 00 53 e3
and change it to
47 00 53 e3 01 30 d2 05
47 00 53 03 01 00 00 0a 00 00 a0 e3 1e ff 2f e1 02 30 d2 e5
47 00 53 e3
then save.
Copy the file back to the same place as before, overwriting the original.
Run XBMC and then try Veetle
The code that string represents is:
Code:
ldr r2, [r0,#4]
ldrb r3,[r2]
cmp r3,'F'
ldreqb r3,[r2,1]
cmpeq r3,'L'
beq check_next
err_code: mov r0,0
bx lr
check_next:
ldrb r3,[r2,2]
cmp r3,'V'
bne err_code
ldrb r3,[r2,3]
cmp r3, 4
bhi err_code
ldrb r3, [r2,5]
cmp r3, 0
bne err_code
ldr r3, [r2,5] ; 32 bit operation
rev r3,r3
cmp r3, 8
movhi r0, 0x64
bxhi lr
b err_code
The byte changes just alter the check in the probe function to
only check for GGG - it WILL mess up the usual FLV playback - so Youtube and Iplayer will not work.
This is a BODGE but it's a bit awkward fitting the full flv/ggg check into the 23 instructions allowed.
To restore normal playback just copy the original file back to the ATV2.