Bug 927322 - AudioDestinationNode should support weak reference.
Bug 924678: Explicitly clear OmxDecoder::mDecoder, r=doublec

From 6a510098b2f43b757d11c74394c494e6c254948e Mon Sep 17 00:00:00 2001
The MediaDecoderStateMachine frees the Decoder during its own
shutdown. If the the MediaDecoderStateMachine for an MP3 file
gets cleaned up before the MP3 frame parser is finished, the
OmxDecoder operates with an invalid Decoder.

With this patch, the MediaDecoderStateMachine informs the
OmxDecoder to clear the decoder field. The MP3 parser logic
detects this case and returns.
Bug 924678: Stop MP3 parser if decoder got cleared, r=doublec a=koi

If the decoder has been cleaned up, there is no point in further
parsing the MP3 file. This patch makes the I/O logic stop in that
case.

The patch also fixes a bug where the beginning of an MP3 chunk was
parsed multiple times if the chunk is larger than 4 GiB.