US President Obama shakes hands with Cuban President Castro

US President Obama has shaken hands with Cuban President Raul Castro in South Africa ahead of his speech at the national memorial service for former President Nelson Mandela.

It is an unprecedented gesture between the leaders of two nations that have been at loggerheads for more than half a century.

Thousands of South Africans joined dozens of world leaders for the service in Johannesburg.