On the second night his flight was cancelled, Air Canada passenger Darryl Metcalfe says, some fellow travellers started losing it.

"There was an angry mob, Brazilian passengers yelling in Portuguese. They had to bring in some security guards."

Metcalfe and at least 170 other passengers were stranded in Brazil for two days last weekend. The reason: Air Canada twice cancelled its flight from Rio de Janeiro to Toronto due to mechanical problems.

In an email to CBC News, Air Canada offered an apology to customers. "Clearly this was an inconvenience and we are sorry about this delay," said spokesman Peter Fitzpatrick.

Metcalfe claims the airline unnecessarily inconvenienced passengers and then offered inadequate compensation to make up for the ordeal — a couple of discount flight vouchers.

Flight to nowhere

The long saga began on Saturday night when passengers boarded their Air Canada flight for Toronto. Metcalfe reports that after a two- to three-hour wait on the tarmac, the crew cancelled the flight because of a mechanical problem.

Air Canada put everyone up at a Rio airport hotel.

The passengers then boarded the same aircraft again on Sunday night. Metcalfe says that after waiting this time for over an hour, they were told they weren't going anywhere.

"The pilot came on the microphone and said, 'I don't know how to tell you this, folks, but I thought the problem was fixed — problem's not fixed.'"

That's when Metcalfe, who works as a mechanical engineer, started getting frustrated. He says it cost passengers their evening to board a plane that he believes Air Canada hadn't even confirmed could fly.

"Before you get people on the plane, why wouldn't you test it to make sure it was airworthy?"

After spending a night at an airport hotel, the passengers reboarded the Air Canada flight, only to hear the pilot announce the mechanical problem was still a problem. (Darryl Metcalfe)

Air Canada's Fitzpatrick told CBC News the mechanical problem had already been fixed and that the plane was certified for takeoff.

After the aircraft left the gate, the mechanical issue "reoccurred," he said.

"This was regrettable, but our customers also expect that we will only operate aircraft when it is safe."

Once back at the Rio airport, Metcalfe says, passengers, including himself, were growing angry and getting no answers from Air Canada staff.

So he decided to book his own flight home and spent hours on the phone to arrange an alternative flight through the city of Sao Paulo.

Metcalfe arrived back in Toronto on Tuesday morning — shortly before the other stranded passengers also finally landed in the city on another Air Canada flight.

"My kids were expecting me home, Sunday morning. I didn't get home for two days after that."

Flight discounts for your trouble

Air Canada says it compensated passengers with free hotel and meals during the two-day delay and provided vouchers for discounts on future flights.

Metcalfe showed CBC News his vouchers: one for a 25 per cent discount and one for a 30 per cent discount, each for a flight for two. The vouchers can't be combined, can't be used with other discounts, and expire in November 2017.

"It would require me to fly two more times to capitalize on those. They're counting on people not using them," claims Metcalfe.

Air Canada passenger Metcalfe returned home from Rio two days later than he had anticipated, missing a day with family and a day at work. (Darryl Metcalfe)

He believes he should receive a free round trip for his troubles. Metcalfe travelled to Rio for a conference and says he missed a day with his family and then a day of work due to the delay.

Passenger rights activist Gabor Lukacs agrees that Metcalfe was not properly compensated. "It is ridiculous, it is an insult," says the Halifax resident about the flight vouchers.

Lukacs claims Canada has a systemic problem where air passengers are not fairly compensated.

"There's a crisis here which has been going on, but somehow governments just don't want to do anything about it."

Airlines taking advantage?

Lukacs says Canadians flying from Europe are better protected. That's because under European law, airlines must dole out up to €600 a day to passengers delayed more than three hours.

Those rules apply to WestJet's U.K. flights, which is fortunate for its customers. Since the airline started flying to London about a year ago, aircraft used for the route have had several mechanical problems, leading to flight delays and cancellations.

Lukacs claims that compared with Europe the Canadian government does little to ensure air passengers are treated fairly.

"Airlines are taking advantage of the situation."

In August, the Transport Ministry told CBC News it's exploring more robust protections for airline travellers, perhaps even a so-called passenger bill of rights. Transport Minister Marc Garneau also recently held cross-country consultations on the issue.

"Next steps will be based on the best interests of Canadian middle-class travellers," said ministry spokeswoman Natasha Gauthier in an email Wednesday to CBC News.

Lukacs doesn't buy any of it. "What is happening is promises, promises, promises, consultation, consultation, consultation. But what about people who are here and now need some help?"

Although Metcalfe says he's disappointed in the way Air Canada has treated him, he doesn't believe there's much he can do about it.