demux_real: Improve buffer allocation for interleaved audio handling.

Allocate buffers where they are needed.
This avoids code duplication, allocating them when they are not
needed, and might avoid a crash if an audio stream is specified
via -aid that does not exist in the headers but does exist in the
file since then we might run the deinterleaving without having
the buffers allocated first (note: I have not tested this can
actually happen).

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@37200 b3059339-0415-0410-9bf9-f77b7e298cf2
demux_real: remove code that new_sh_* already handles.

Also makes it easier to check that ->id and ->sh are always
consistent.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@37201 b3059339-0415-0410-9bf9-f77b7e298cf2
demux_real: always select a stream to play if available.

Nowadays this should not hurt, MPlayer should be able
to able if a stream is selected that never has any data,
and it allows us to play the stream if some data actually
appears later at some point.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@37202 b3059339-0415-0410-9bf9-f77b7e298cf2