Self-correcting encryption. What are the essential elements?
if there's an inner-layer error correcting code, will it be able to work without an encryption algorithm based on a stream cipher?

Depends on how the inner error correcting code works; what you want is an encryption method that does not radically increase the 'size' of any ciphertext errors (where 'size' is what's relevant to the error correcting code), given the likely ciphertext errors (and I believe that on Optical disks, burst errors are far more common than random unrelated bit flips).  If it is (for example) a Reed Solomon code, that means that it would not increase the number of incorrect (modified) symbols; there are alternatives (other than stream ciphers) with this property.
However, that does beg the question: &quot;what do you hope to gain with this structure?&quot;  Wouldn't this structure at least as good:

Encryption

&quot;Inner&quot; error correcting code

&quot;Outer&quot; error correcting code


(or combine &quot;inner&quot; and &quot;outer&quot; if that makes more sense).  That would (to me) appear to be at least as good with dealing with errors (and you don't have to select your encryption method with the error correcting code in mind)