Bug 1047188 - Ensure we only call MediaDataDecoder::Drain() once, and break out of MP4Reader::Decode() when DrainComplete() is called. r=kentuckyfriedtakahe