basically the below shown segmented video files playlist plays fine in IOS4 but not in IOS5, so i guess that there is no error in the encoding, segmenting or the encryption.
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-KEY:METHOD=AES-128,URI="http://xxx.xx.x.xx/ios/keys/key.txt",IV=0x00000000000000000000000000000000
#EXTINF:10,
http://xxx.xx.x.xx/ios/myvideo/stream-1.ts
#EXTINF:10,
http://xxx.xx.x.xx/ios/myvideo/stream-2.ts
...
#EXTINF:10,
http://xxx.xx.x.xx/ios/myvideo/stream-502.ts
#EXTINF:10,
http://xxx.xx.x.xx/ios/myvideo/stream-503.ts
#EXT-X-ENDLIST
the error is a blunt ‘The operation could not be completed’ in the safari. but the same list plays fine if the files are not encrypted is both OS versions.
This thread seems to discuss a similar issue but the solution is closed to public.
i also came across this thread which suggests it is related to the #EXT-X-TARGETDURATION tag but i cannot make out much about it.
As per the docs here the IV tag is optional and this explains that sequence no should be used as IV while decryption if IV is missing.
the problem IOS4 and IOS5 handles them differently
so this works for IOS5, but threw error in IOS4
while this works for IOS4, but throws error in IOS5
in my case.