Eminem served up a shock to movie fans on Christmas Day (25Dec14) by revealing he's gay in new comedy The Interview.

The rapper made an unexpected cameo in the film, during which he joked about coming out of the closet to James Franco's talk show host character Dave Skylark.

The Lose Yourself hitmaker kept a straight face as he told Skylark that his alleged homophobic rhymes were written to hide the fact he's gay.

In the film, which was released on Thursday, Eminem confirmed to Franco's stunned character, "I'm homosexual... I'm more shocked that people haven't figured it out yet," adding, "I've been playing gay peek-a-boo for years. I've pretty much been leaving a bread crumb trail of gayness."

Meanwhile, the spoof talk show host's producer, played by Seth Rogen, has Eminem's 'manager' physically removed from the control room as he insists the interview with his client has to be shut down.