Arithmetic coding - schemes for telling the decoder when to stop

When using arithmetic coding, there are two well known schemes for telling the decoder when to stop decoding further symbols

  1. Use a special EOF symbol - the decoder stops when it decodes the EOF symbol. This requires allocating a probability interval to the EOF symbol (something I find a bit unseemly).
  2. Provide the decoder with the number of symbols to be decoded upfront, the decoder stops once it has decoded the said number of symbols.

The question I have - is there any other scheme for telling the decoder when to stop?